*{margin:0;padding:0;box-sizing:border-box;}
:root{
  /* Industrial steel palette */
  --bg:        #0d0f11;
  --bg2:       #111416;
  --bg3:       #161b20;
  --steel:     #2e8bc0;       /* electric steel blue — machine tool accent */
  --steel2:    #4fa8d8;
  --steel-dim: rgba(46,139,192,0.12);
  --steel-brd: rgba(46,139,192,0.22);
  --white:     #e8ecef;
  --grey:      #8a9099;
  --grey2:     #3a4048;
  --border:    rgba(255,255,255,0.07);
  --border2:   rgba(255,255,255,0.04);
}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--white);overflow-x:hidden;line-height:1.6;}

/* subtle crosshatch texture */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:
    linear-gradient(rgba(46,139,192,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46,139,192,0.025) 1px, transparent 1px);
  background-size:40px 40px;
}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5%;height:60px;
  background:rgba(13,15,17,0.97);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.nav-logo{
  display:flex;align-items:center;gap:10px;
  font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:500;
  color:var(--white);text-decoration:none;letter-spacing:0.08em;
}
.nav-logo-icon{
  width:28px;height:28px;border:1px solid var(--steel-brd);
  background:var(--steel-dim);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;color:var(--steel);
}
.nav-logo span{color:var(--steel);}
.nav-links{display:flex;gap:36px;list-style:none;}
.nav-links a{
  font-size:10px;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--grey);text-decoration:none;transition:color 0.2s;
}
.nav-links a:hover{color:var(--white);}
.nav-cta{
  background:var(--steel);color:#fff;
  padding:8px 20px;font-size:10px;font-weight:500;
  letter-spacing:0.14em;text-transform:uppercase;
  border:none;cursor:pointer;text-decoration:none;
  transition:background 0.2s;
}
.nav-cta:hover{background:var(--steel2);}

/* ── HERO ── */
.hero-wrap{
  position:relative;z-index:1;
  min-height:100vh;
  display:grid;grid-template-columns:1fr 440px;gap:56px;
  align-items:center;
  padding:80px 5% 60px;
  max-width:1260px;margin:0 auto;
}

.eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:32px;}
.e-line{width:36px;height:1px;background:var(--steel);}
.e-text{
  font-family:'JetBrains Mono',monospace;font-size:9px;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--steel);
}

.hero-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(50px,6vw,84px);
  font-weight:400;line-height:1.0;letter-spacing:-0.01em;
  margin-bottom:22px;
}
.hero-title em{font-style:italic;color:var(--steel);}

.hero-sub{
  font-size:14px;font-weight:300;color:var(--grey);
  max-width:380px;line-height:1.9;margin-bottom:40px;
}

.btn-row{display:flex;gap:12px;align-items:center;}
.btn-fill{
  background:var(--steel);color:#fff;
  padding:12px 28px;font-size:10px;font-weight:500;
  letter-spacing:0.16em;text-transform:uppercase;
  border:none;cursor:pointer;text-decoration:none;
  transition:background 0.2s;display:inline-block;
}
.btn-fill:hover{background:var(--steel2);}
.btn-ghost{
  background:transparent;color:var(--white);
  padding:11px 28px;font-size:10px;
  letter-spacing:0.16em;text-transform:uppercase;
  border:1px solid var(--border);cursor:pointer;
  text-decoration:none;transition:all 0.2s;display:inline-block;
}
.btn-ghost:hover{border-color:var(--steel);color:var(--steel);}

/* ── DEMO CARD ── */
.demo-card{
  position:relative;z-index:1;
  background:var(--bg3);
  border:1px solid var(--border);
  padding:26px;
}
/* corner accents */
.demo-card::before,.demo-card::after{
  content:'';position:absolute;
  width:12px;height:12px;
  border-color:var(--steel);border-style:solid;
}
.demo-card::before{top:-1px;left:-1px;border-width:2px 0 0 2px;}
.demo-card::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0;}

.card-eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:8px;letter-spacing:0.22em;text-transform:uppercase;
  color:var(--steel);margin-bottom:16px;
  display:flex;align-items:center;gap:8px;
}
.card-eyebrow::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:var(--steel);animation:blink 2s infinite;
}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.3;}}

.card-quote{
  font-family:'Cormorant Garamond',serif;
  font-size:20px;font-weight:400;font-style:italic;
  line-height:1.4;margin-bottom:22px;color:var(--white);
}

.upload-area{
  border:1px dashed var(--steel-brd);
  background:var(--steel-dim);
  padding:28px 18px;text-align:center;
  cursor:pointer;transition:all 0.2s;margin-bottom:16px;
}
.upload-area:hover,.upload-area.drag-over{
  background:rgba(46,139,192,0.18);border-color:var(--steel);
}
.up-icon{font-size:22px;color:var(--steel);margin-bottom:8px;}
.up-text{font-size:11px;color:var(--grey);margin-bottom:12px;line-height:1.5;}
.up-btn{
  background:var(--steel);color:#fff;
  padding:8px 18px;font-size:9px;font-weight:500;
  letter-spacing:0.14em;text-transform:uppercase;border:none;cursor:pointer;
}
#fileInput{display:none;}

.chip-row{display:flex;flex-wrap:wrap;gap:6px;}
.chip{
  font-family:'JetBrains Mono',monospace;
  font-size:8px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--grey);border:1px solid var(--grey2);
  padding:4px 9px;
}

/* PROGRESS */
.prog-bar{display:flex;border:1px solid var(--border);margin-bottom:14px;overflow:hidden;}
.ps{
  flex:1;padding:8px 4px;text-align:center;
  font-family:'JetBrains Mono',monospace;font-size:7px;
  letter-spacing:0.06em;text-transform:uppercase;
  color:var(--grey2);border-right:1px solid var(--border);transition:all 0.3s;
}
.ps:last-child{border-right:none;}
.ps.active{background:var(--steel-dim);color:var(--steel);}
.ps.done{color:var(--steel);opacity:0.6;}
.ps.done::after{content:' ✓';}
.spin-wrap{font-size:10px;color:var(--grey);text-align:center;padding:14px 0;}
.spin{
  display:inline-block;width:10px;height:10px;
  border:1.5px solid rgba(46,139,192,0.2);
  border-top-color:var(--steel);
  border-radius:50%;animation:spin 0.7s linear infinite;
  vertical-align:middle;margin-right:6px;
}
@keyframes spin{to{transform:rotate(360deg);}}
.hidden{display:none!important;}

/* RESULTS */
.res-block{margin-top:14px;}
.res-lbl{
  font-family:'JetBrains Mono',monospace;font-size:7px;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--steel);margin-bottom:8px;
  padding-bottom:5px;border-bottom:1px solid var(--border);
}
.srow{display:flex;justify-content:space-between;align-items:flex-start;padding:5px 0;border-bottom:1px solid var(--border2);gap:8px;}
.srow:last-child{border-bottom:none;}
.sk{color:var(--grey);font-family:'JetBrains Mono',monospace;font-size:7.5px;letter-spacing:0.05em;flex-shrink:0;}
.sv{color:var(--white);text-align:right;font-size:10px;}
.ritem{display:flex;gap:10px;align-items:flex-start;padding:6px 0;border-bottom:1px solid var(--border2);}
.ritem:last-child{border-bottom:none;}
.rnum{
  width:16px;height:16px;border:1px solid var(--steel-brd);
  display:flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',monospace;font-size:7px;color:var(--steel);flex-shrink:0;
}
.rop{font-size:10px;color:var(--white);}
.rdet{font-size:9px;color:var(--grey);margin-top:1px;}
.bdg{font-family:'JetBrains Mono',monospace;font-size:7px;letter-spacing:0.05em;padding:2px 6px;margin-left:5px;}
.bin{background:rgba(30,80,50,0.4);color:#6fcf97;border:1px solid rgba(111,207,151,0.2);}
.bout{background:var(--steel-dim);color:var(--steel2);border:1px solid var(--steel-brd);}
.suprow{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--border2);}
.suprow:last-child{border-bottom:none;}
.supinit{
  width:30px;height:30px;flex-shrink:0;
  background:var(--steel-dim);border:1px solid var(--steel-brd);
  display:flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--steel);
}
.supinfo{flex:1;}
.supname{font-size:11px;color:var(--white);}
.suploc{font-size:9px;color:var(--grey);}
.supscore{
  font-family:'Cormorant Garamond',serif;
  font-size:20px;color:var(--steel);font-weight:500;line-height:1;
}
.suprat{font-family:'JetBrains Mono',monospace;font-size:7px;color:var(--grey);letter-spacing:0.06em;}
.err{font-size:10px;color:#e07070;background:rgba(200,70,70,0.08);border:1px solid rgba(200,70,70,0.2);padding:10px 12px;margin-top:10px;}
.reset-btn{
  font-family:'JetBrains Mono',monospace;font-size:8px;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--grey);text-decoration:underline;cursor:pointer;
  display:block;text-align:center;margin-top:14px;
  background:none;border:none;
}
.reset-btn:hover{color:var(--steel);}

/* ── SECTIONS ── */
.sec{
  position:relative;z-index:1;
  padding:88px 5%;max-width:1260px;margin:0 auto;
}
.sec-bg2{background:var(--bg2);}
.sec-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(32px,3.5vw,50px);
  font-weight:400;line-height:1.1;margin-bottom:52px;
}
.sec-title em{font-style:italic;color:var(--steel);}
.div{border:none;border-top:1px solid var(--border);margin:0;}

/* ── HOW IT WORKS ── */
.steps-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--border);border:1px solid var(--border);
}
.step-cell{background:var(--bg);padding:36px 28px;transition:background 0.2s;}
.step-cell:hover{background:var(--bg3);}
.step-n{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;color:var(--steel);letter-spacing:0.1em;
  margin-bottom:16px;opacity:0.7;
}
.step-title{
  font-family:'Cormorant Garamond',serif;
  font-size:20px;font-weight:500;margin-bottom:10px;
}
.step-desc{font-size:12px;color:var(--grey);line-height:1.8;}

/* ── FEATURES ── */
.feat-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:1px;background:var(--border);border:1px solid var(--border);
}
.feat-cell{background:var(--bg2);padding:36px 28px;transition:background 0.2s;}
.feat-cell:hover{background:var(--bg3);}
.feat-num{
  font-family:'JetBrains Mono',monospace;font-size:8px;
  color:var(--steel);letter-spacing:0.14em;margin-bottom:14px;opacity:0.7;
}
.feat-title{
  font-family:'Cormorant Garamond',serif;
  font-size:20px;font-weight:500;margin-bottom:10px;
}
.feat-desc{font-size:12px;color:var(--grey);line-height:1.8;}

/* ── TEAM ── */
.team-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:1px;background:var(--border);border:1px solid var(--border);
}
.team-cell{background:var(--bg);padding:36px 28px;}
.team-init{
  width:46px;height:46px;
  background:var(--steel-dim);border:1px solid var(--steel-brd);
  display:flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--steel);
  margin-bottom:20px;
}
.team-name{
  font-family:'Cormorant Garamond',serif;
  font-size:22px;font-weight:400;margin-bottom:4px;
}
.team-role{
  font-family:'JetBrains Mono',monospace;font-size:8px;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--steel);margin-bottom:14px;
}
.team-bio{font-size:12px;color:var(--grey);line-height:1.8;}

/* ── CTA ── */
.cta-wrap{
  position:relative;z-index:1;
  padding:88px 5%;text-align:center;
  background:var(--bg2);border-top:1px solid var(--border);
}
.cta-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(36px,4.5vw,64px);
  font-weight:400;line-height:1.1;margin-bottom:16px;
}
.cta-title em{font-style:italic;color:var(--steel);}
.cta-sub{font-size:13px;color:var(--grey);margin-bottom:40px;}

.contact-strip{
  display:flex;justify-content:center;gap:52px;
  flex-wrap:wrap;margin-top:44px;padding-top:40px;
  border-top:1px solid var(--border);
}
.c-item .c-lbl{
  font-family:'JetBrains Mono',monospace;font-size:7px;
  letter-spacing:0.2em;text-transform:uppercase;color:var(--grey);margin-bottom:6px;
}
.c-item .c-val{font-size:13px;color:var(--white);}

/* ── FOOTER ── */
footer{
  position:relative;z-index:1;
  padding:22px 5%;border-top:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:10px;
}
.foot-logo{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;color:var(--grey);letter-spacing:0.1em;
}
.foot-logo span{color:var(--steel);}
.foot-copy{font-size:10px;color:var(--grey2);}

/* SCROLLBAR */
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:var(--grey2);}