/* ============================================================
   NEXUSAISOLUT — Spectrum Site Stylesheet
   Dark theme: midnight-indigo + prism-violet + neon-mint + spectrum-rose
   ============================================================ */

:root{
  --midnight: #101018;
  --panel: #1A1A28;
  --void: #090910;
  --prism: #8B7BE8;
  --mint: #4ADBC8;
  --rose: #E87BA4;
  --ice: #CBD3E8;
  --cooler: #A8B2CC;
  --hairline: #262638;
  --ice-pale: #E6EBFA;
}

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

html{scroll-behavior:smooth;}

body{
  font-size:16px;
  background-color:#101018;
  color:#CBD3E8;
  font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}

/* ============ NAV — SPECTRUM RAIL ============ */
.spectrum-rail-nav{
  position:sticky;
  top:0;
  z-index:100;
  background-color:#1A1A28;
  border-bottom:1px solid #262638;
}

.spectrum-strip{
  display:flex;
  width:100%;
  height:14px;
}
.spectrum-strip span{
  flex:1;
}
.spectrum-strip span:nth-child(1){background:#8B7BE8;}
.spectrum-strip span:nth-child(2){background:#4ADBC8;}
.spectrum-strip span:nth-child(3){background:#E87BA4;}
.spectrum-strip span:nth-child(4){background:#CBD3E8;}
.spectrum-strip span:nth-child(5){background:#7E6FD4;}
.spectrum-strip span:nth-child(6){background:#3FC7B6;}
.spectrum-strip span:nth-child(7){background:#D06F96;}
.spectrum-strip.reversed{flex-direction:row-reverse;}

.nav-row{
  max-width:1200px;
  margin:0 auto;
  padding:16px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.nav-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

.prism-glyph{
  position:relative;
  width:34px;
  height:34px;
  display:inline-block;
}
.prism-glyph .tri{
  position:absolute;
  left:4px;top:4px;
  width:18px;height:20px;
  background:transparent;
  border:2px solid #CBD3E8;
  border-bottom:none;
  clip-path:polygon(50% 0,100% 100%,0 100%);
}
.prism-glyph .inbeam{
  position:absolute;
  left:18px;top:2px;
  width:2px;height:8px;
  background:#FFFFFF;
}
.prism-glyph .dot{position:absolute;width:4px;height:4px;border-radius:50%;}
.prism-glyph .d1{right:2px;top:16px;background:#8B7BE8;}
.prism-glyph .d2{right:4px;top:22px;background:#4ADBC8;}
.prism-glyph .d3{right:8px;top:28px;background:#E87BA4;}
.prism-glyph .d1{right:2px;top:14px;background:#8B7BE8;}
.prism-glyph .d2{right:0;top:22px;background:#4ADBC8;}
.prism-glyph .d3{right:-2px;top:30px;background:#E87BA4;}

.prism-glyph.small{transform:scale(0.72);transform-origin:left top;}

.wordmark{
  font-size:19px;
  letter-spacing:0.28em;
  color:#CBD3E8;
  font-weight:700;
  text-transform:uppercase;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:18px;
  font-size:13px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#CBD3E8;
}
.nav-links a{color:#CBD3E8;transition:color .25s;}
.nav-links a:hover{color:#8B7BE8;}
.node-dot{width:5px;height:5px;border-radius:50%;background:#4ADBC8;}

.nav-toggle{
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  padding:6px;
}
.nav-toggle span{width:24px;height:2px;background:#CBD3E8;transition:.3s;}

/* ============ HERO — PRISM SPLIT ============ */
.prism-split-hero{
  background-color:#101018;
  border-bottom:1px solid #262638;
}
.hero-shell{
  max-width:1200px;
  margin:0 auto;
  padding:84px 24px 96px;
  display:grid;
  grid-template-columns:58% 42%;
  gap:48px;
  align-items:center;
}

.eyebrow-chip{
  display:inline-block;
  background-color:#8B7BE8;
  color:#090910;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.2em;
  text-transform:uppercase;
  padding:8px 16px;
  border-radius:4px;
  margin-bottom:24px;
}

.hero-title{
  font-size:48px;
  line-height:1.12;
  color:#CBD3E8;
  font-weight:800;
  letter-spacing:-0.01em;
  margin-bottom:22px;
}
.prism-word{color:#8B7BE8;}

.hero-sub{
  color:#A8B2CC;
  font-size:18px;
  max-width:620px;
  margin-bottom:32px;
}

.hero-cta{display:flex;gap:16px;flex-wrap:wrap;}

.btn{
  display:inline-block;
  font-size:15px;
  font-weight:700;
  letter-spacing:0.05em;
  padding:13px 28px;
  border-radius:5px;
  cursor:pointer;
  transition:.25s;
  text-align:center;
}
.btn-primary{background-color:#8B7BE8;color:#090910;}
.btn-primary:hover{background-color:#9B8DF0;}
.btn-outline{border:2px solid #4ADBC8;color:#4ADBC8;}
.btn-outline:hover{background-color:#4ADBC8;color:#090910;}
.btn-large{font-size:17px;padding:16px 38px;}

.hero-panel{
  background-color:#1A1A28;
  border:1px solid #262638;
  border-radius:10px;
  padding:40px;
  min-height:340px;
  position:relative;
}
.prism-apparatus{position:relative;height:200px;}
.prism-tri{
  position:absolute;
  left:50%;top:10px;
  width:110px;height:120px;
  transform:translateX(-50%);
  background:#27273B;
  clip-path:polygon(50% 0,100% 100%,0 100%);
  border:2px solid #A8B2CC;
  box-shadow:0 0 0 2px #1A1A28;
}
.entry-beam{
  position:absolute;
  left:6px;top:22px;
  width:78px;height:4px;
  background:#FFFFFF;
  border-radius:2px;
}
.exit-beam{
  position:absolute;
  left:auto;
  width:90px;height:4px;
  border-radius:2px;
  transform-origin:left center;
}
.exit-beam.b1{right:16px;top:70px;background:#8B7BE8;transform:rotate(24deg);}
.exit-beam.b2{right:8px;top:78px;background:#4ADBC8;transform:rotate(-4deg);}
.exit-beam.b3{right:6px;top:88px;background:#E87BA4;transform:rotate(-28deg);}
.exit-beam.b4{right:20px;top:96px;background:#CBD3E8;transform:rotate(-46deg);}
.node{position:absolute;width:9px;height:9px;border-radius:50%;}
.node.nd1{right:26px;top:64px;background:#8B7BE8;}
.node.nd2{right:20px;top:84px;background:#4ADBC8;}
.node.nd3{right:12px;top:102px;background:#E87BA4;}
.node.nd4{right:34px;top:112px;background:#CBD3E8;}

.node-graph{position:relative;height:70px;margin-top:14px;}
.graph-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#CBD3E8;}
.graph-dot.g0{left:20px;top:40px;}
.graph-dot.g1{left:70px;top:8px;}
.graph-dot.g2{left:120px;top:46px;}
.graph-dot.g3{left:175px;top:12px;}
.graph-dot.g4{left:220px;top:42px;}
.graph-line{position:absolute;height:3px;background:#4ADBC8;border-radius:2px;transform-origin:left center;}
.graph-line.l1{left:24px;top:38px;width:50px;transform:rotate(-52deg) translateY(-1px);}
.graph-line.l2{left:74px;top:8px;width:56px;transform:rotate(40deg);}
.graph-line.l3{left:178px;top:12px;width:52px;transform:rotate(-48deg);}
.graph-line.l4{left:124px;top:44px;width:58px;transform:rotate(-6deg);}

/* ============ WAVELENGTH BANDS ============ */
.wavelength-bands{
  background-color:#101018;
  padding:90px 24px;
}
.band-head{max-width:1200px;margin:0 auto 52px;}
.section-title{
  font-size:34px;
  color:#CBD3E8;
  font-weight:800;
  letter-spacing:-0.01em;
  margin-bottom:14px;
}
.prism-word{color:#8B7BE8;}
.section-sub{color:#A8B2CC;font-size:17px;max-width:640px;}

.band-row{
  max-width:1200px;
  margin:0 auto 11px;
  background-color:#1A1A28;
  border:1px solid #262638;
  border-radius:6px;
  display:grid;
  grid-template-columns:54px 1fr auto auto;
  align-items:center;
  gap:22px;
  padding:24px 24px 24px 0;
  transition:border-color .3s;
}
.band-row:hover{border-color:#8B7BE8;}

.wave-index{
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:0 14px 14px 0;
  color:#090910;
  font-size:20px;
  font-weight:700;
  font-family:"Courier New",monospace;
}
.idx-violet{background-color:#8B7BE8;}
.idx-mint{background-color:#4ADBC8;}
.idx-rose{background-color:#E87BA4;}

.band-body h3{font-size:22px;color:#CBD3E8;margin-bottom:6px;font-weight:700;}
.band-body p{color:#A8B2CC;}

.orbit-chip{
  position:relative;
  width:46px;height:46px;
  border-radius:50%;
}
.orbit-chip::before{
  content:"";
  position:absolute;
  inset:2px;
  border-radius:50%;
  border-left:3px solid transparent;
  transform:rotate(20deg);
}
.orbit-chip::after{
  content:"";
  position:absolute;
  top:2px;left:20px;
  width:7px;height:7px;
  border-radius:50%;
  background:#CBD3E8;
}
.oc-violet::before{border-left-color:#8B7BE8;}
.oc-mint::before{border-left-color:#4ADBC8;}
.oc-rose::before{border-left-color:#E87BA4;}
.oc-violet::after{background:#8B7BE8;}
.oc-mint::after{background:#4ADBC8;}
.oc-rose::after{background:#E87BA4;}

.refraction{text-align:center;color:#CBD3E8;}
.refraction b{font-family:"Courier New",monospace;font-size:20px;color:#8B7BE8;}
.refraction i{font-style:normal;font-size:12px;color:#4ADBC8;letter-spacing:0.1em;}

/* ============ METRIC BAND ============ */
.metric-band{
  background-color:#8B7BE8;
  padding:56px 24px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.metric-stat{
  text-align:center;
  padding:10px 24px;
}
.metric-stat + .metric-stat{border-left:1px solid #A8B2CC;}
.metric-num{
  display:block;
  font-size:56px;
  font-weight:800;
  color:#090910;
  line-height:1;
}
.metric-count{color:#090910;font-size:36px;font-weight:800;}
.metric-label{
  display:block;
  color:#5A4FC0;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  margin-top:10px;
  color:#4A3FA8;
}

/* ============ STATEMENT BAND ============ */
.statement-band{
  background-color:#090910;
  padding:90px 24px;
}
.statement-quote{
  max-width:820px;
  margin:0 auto;
  padding-left:22px;
  border-left:4px solid #4ADBC8;
}
.statement-quote p{
  font-size:26px;
  line-height:1.55;
  color:#CBD3E8;
  font-weight:300;
}
.statement-quote cite{
  display:block;
  margin-top:22px;
  font-style:normal;
  color:#A8B2CC;
  font-size:15px;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

/* ============ CTA BAND ============ */
.cta-band{
  background-color:#101018;
  padding:96px 24px;
  text-align:center;
}
.cta-inner{max-width:720px;margin:0 auto;}
.cta-inner h2{font-size:38px;color:#8B7BE8;font-weight:800;margin-bottom:16px;}
.cta-inner p{color:#A8B2CC;font-size:18px;margin-bottom:34px;}

/* ============ FOOTER — SPECTRUM FADE ============ */
.spectrum-fade-footer{
  background-color:#090910;
  border-top:1px solid #262638;
  color:#A8B2CC;
  position:relative;
}
.spectrum-fade-footer .spectrum-strip{height:14px;}

.footer-zone{
  max-width:1200px;
  margin:0 auto;
  padding:52px 24px 40px;
  display:grid;
  grid-template-columns:1.2fr 1fr 1.2fr;
  gap:44px;
  position:relative;
  z-index:1;
}
.foot-left{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.foot-wordmark{
  font-size:18px;
  letter-spacing:0.28em;
  color:#CBD3E8;
  font-weight:700;
}
.foot-desc{color:#A8B2CC;font-size:14px;max-width:260px;}

.foot-center{display:flex;gap:44px;}
.foot-group{display:flex;flex-direction:column;gap:10px;}
.foot-group-title{
  color:#CBD3E8;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.16em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.foot-group a{color:#A8B2CC;font-size:14px;transition:color .25s;}
.foot-group a:hover{color:#8B7BE8;}

.foot-right{display:flex;flex-direction:column;gap:10px;font-size:14px;}
.foot-right a{color:#4ADBC8;}
.foot-right a:hover{color:#8B7BE8;}
.foot-right p{color:#A8B2CC;}

.foot-legal-row{
  border-top:1px solid #262638;
  padding:22px 24px;
  text-align:center;
  position:relative;
  z-index:1;
}
.foot-legal{color:#7B85A6;font-size:13px;}

.watermark{
  position:absolute;
  right:16px;bottom:16px;
  font-size:120px;
  font-weight:900;
  letter-spacing:0.2em;
  color:#1A1A28;
  visibility:hidden;
}

/* ============ CONTACT PAGE ============ */
.contact-section{
  background-color:#101018;
  padding:90px 24px;
}
.contact-shell{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:48px;
  align-items:start;
}
.contact-form-wrap{background-color:#1A1A28;border:1px solid #262638;border-radius:10px;padding:40px;}
.contact-intro{color:#A8B2CC;margin:10px 0 28px;}
.contact-form{display:flex;flex-direction:column;gap:18px;}
.form-field{display:flex;flex-direction:column;gap:7px;}
.form-field label{color:#CBD3E8;font-size:14px;font-weight:700;letter-spacing:0.05em;}
.form-field input,
.form-field textarea{
  background-color:#090910;
  border:1px solid #262638;
  border-radius:5px;
  padding:12px 14px;
  color:#E6EBFA;
  font-size:16px;
  font-family:inherit;
}
.form-field input:focus,
.form-field textarea:focus{outline:none;border-color:#8B7BE8;}
.form-status{margin-top:6px;font-size:14px;color:#A8B2CC;}
.form-status.success{color:#4ADBC8;}
.form-status.info{color:#CBD3E8;}

.contact-side{display:flex;flex-direction:column;gap:22px;}
.side-card{background-color:#090910;border:1px solid #262638;border-radius:10px;padding:26px;}
.side-card h3{color:#8B7BE8;font-size:18px;margin-bottom:14px;}
.side-card .side-label{color:#4ADBC8;font-size:12px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;margin-top:14px;}
.side-card a{color:#CBD3E8;}
.side-card a:hover{color:#8B7BE8;}
.side-card p{color:#A8B2CC;margin-top:4px;}

/* ============ FAQ ============ */
.faq-section{
  background-color:#090910;
  padding:90px 24px;
}
.faq-shell{max-width:860px;margin:0 auto;}
.faq-shell .section-title{margin-bottom:34px;}
.faq-item{
  background-color:#1A1A28;
  border:1px solid #262638;
  border-radius:6px;
  margin-bottom:14px;
}
.faq-question{
  width:100%;
  text-align:left;
  background:none;
  border:none;
  padding:20px 24px;
  color:#CBD3E8;
  font-size:18px;
  font-weight:700;
  cursor:pointer;
  font-family:inherit;
}
.faq-question::after{
  content:"+";
  float:right;
  color:#8B7BE8;
  font-size:24px;
  line-height:1;
}
.faq-item.open .faq-question::after{content:"-"}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.faq-answer p{color:#A8B2CC;padding:0 24px 22px;}

/* ============ REVEAL ============ */
.fade-up{opacity:1;}
.fade-up.visible.translate-in{transform:translateY(0);}

/* ============ RESPONSIVE ============ */
@media(max-width:960px){
  .hero-shell{grid-template-columns:1fr;padding-top:56px;gap:40px;}
  .hero-title{font-size:38px;}
  .metric-band{grid-template-columns:repeat(2,1fr);gap:0;}
  .metric-stat:nth-child(3){border-left:none;border-top:1px solid #A8B2CC;}
  .metric-stat:nth-child(4){border-top:1px solid #A8B2CC;}
  .footer-zone{grid-template-columns:1fr;gap:36px;}
  .band-row{grid-template-columns:54px 1fr auto;grid-template-areas:"idx body refr" "idx chip chip";}
  .wave-index{grid-area:idx;}
  .band-body{grid-area:body;}
  .orbit-chip{grid-area:chip;justify-self:end;}
  .refraction{grid-area:refr;}
}

@media(max-width:720px){
  .nav-links{
    position:absolute;
    top:100%;left:0;right:0;
    flex-direction:column;
    background-color:#1A1A28;
    border-bottom:1px solid #262638;
    padding:16px 24px;
    gap:14px;
    align-items:flex-start;
    display:none;
  }
  .nav-links.open{display:flex;}
  .nav-links .node-dot{display:none;}
  .nav-toggle{display:flex;}
  .hero-title{font-size:34px;}
  .band-row{grid-template-columns:1fr;grid-template-areas:"idx" "body" "refr";padding:24px;}
  .wave-index{min-height:52px;border-radius:6px;justify-content:flex-start;padding:0 16px;width:auto;}
  .band-body{grid-area:auto;}
  .wave-index{grid-area:idx;}
  .orbit-chip{margin-top:10px;}
  .metric-num{font-size:44px;}
  .statement-quote p{font-size:21px;}
  .cta-inner h2{font-size:30px;}
  .contact-shell{grid-template-columns:1fr;}
  .contact-form-wrap{padding:28px 22px;}
}
