:root{
  --ink:#050D1A;
  --ink2:#0A1830;
  --paper:#FFFFFF;
  --signal:#2FD8FF;
  --accent-green:#3CFF7A;
  --steel:#B9C4CC;
  --steel-dark:#4C6A78;
  --mist:#EEF3F5;
  --mist-line:#DDE6E9;
  --ink-soft:rgba(5,13,26,0.62);
  --paper-soft:rgba(255,255,255,0.66);
  --display: 'Archivo Black', sans-serif;
  --body: 'Inter', sans-serif;
  --mono: 'IBM Plex Mono', monospace;
  --maxw: 1180px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--body);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.eyebrow{
  font-family:var(--mono);
  font-size:12.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--signal);
  font-weight:600;
  margin:0 0 16px;
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{
  content:"";
  width:22px;height:2px;
  background:var(--accent-green);
  display:inline-block;
}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.02;margin:0;letter-spacing:-0.01em;}
h2{font-size:clamp(30px,4.4vw,52px);}
h3{font-size:clamp(19px,2vw,24px);}
p{line-height:1.6;margin:0;}
.btn{
  font-family:var(--mono);
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:15px 26px;
  border-radius:2px;
  text-decoration:none;
  cursor:pointer;
  border:1px solid transparent;
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-solid{background:var(--signal);color:var(--ink);}
.btn-solid:hover{background:var(--accent-green);}
.btn-outline-dark{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn-outline-dark:hover{background:var(--ink);color:var(--paper);}
.btn-outline-light{background:transparent;color:var(--paper);border-color:var(--paper-soft);}
.btn-outline-light:hover{background:var(--paper);color:var(--ink);}

/* NAV — always dark, matches shield brand plate */
header.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(5,13,26,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.nav-inner{
  max-width:var(--maxw);margin:0 auto;padding:14px 32px;
  display:flex;align-items:center;justify-content:space-between;
}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0;flex:0 1 auto;}
.logo img{width:38px;height:38px;border-radius:6px;object-fit:cover;flex:none;}
.logo-word{display:flex;flex-direction:column;line-height:1.15;min-width:0;overflow:hidden;}
.logo-full{font-family:var(--display);font-size:14.5px;letter-spacing:0.01em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.logo-sub{font-family:var(--mono);font-size:9.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--signal);margin-top:2px;white-space:nowrap;}
.logo-sub em{font-style:normal;color:rgba(255,255,255,0.55);}
@media(max-width:1099px){.logo-full{font-size:12.5px;}.logo-sub{display:none;}}
@media(max-width:600px){.logo-full{font-size:11px;}}
nav.links{display:flex;gap:34px;align-items:center;}
nav.links a{
  font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:0.06em;
  text-decoration:none;color:rgba(255,255,255,0.72);transition:color .15s;
}
nav.links a:hover,nav.links a.current{color:var(--signal);}
.nav-cta{display:none}
@media(min-width:1100px){.nav-cta{display:inline-flex;}}
.burger{display:none;background:none;border:none;cursor:pointer;padding:6px;flex:none;}
.burger span{display:block;width:22px;height:2px;background:#fff;margin:5px 0;}
@media(max-width:1099px){nav.links{display:none;}.burger{display:block;}}
#mobile-menu{display:none;flex-direction:column;padding:6px 32px 22px;gap:16px;border-top:1px solid rgba(255,255,255,0.1);}
#mobile-menu.open{display:flex;}
#mobile-menu a{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:rgba(255,255,255,0.85);}

/* PAGE HERO (secondary pages) — dark molecular band */
.page-hero{
  padding:80px 0 56px;position:relative;overflow:hidden;
  background:var(--ink) url('assets/net-wide.png') center/cover no-repeat;
  color:#fff;
}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg, rgba(5,13,26,0.94) 0%, rgba(5,13,26,0.6) 55%, rgba(5,13,26,0.85) 100%);}
.page-hero .wrap{position:relative;z-index:2;}
.page-hero h1{font-size:clamp(34px,5.5vw,58px);max-width:16ch;color:#fff;}
.page-hero p{margin-top:20px;max-width:560px;font-size:17px;color:rgba(255,255,255,0.72);}

/* HOME HERO */
.hero{
  padding:90px 0 70px;position:relative;overflow:hidden;
  background:var(--ink) url('assets/molecular-network.png') center/cover no-repeat;
  color:#fff;
}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg, rgba(5,13,26,0.95) 0%, rgba(5,13,26,0.55) 48%, rgba(5,13,26,0.8) 100%);}
.hero .wrap{position:relative;z-index:2;}
.hero h1{font-size:clamp(42px,7.2vw,84px);max-width:16ch;color:#fff;}
.hero h1 em{font-style:normal;color:var(--signal);}
.hero-sub{max-width:560px;margin-top:26px;font-size:18px;color:rgba(255,255,255,0.72);}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
.hero-actions .btn-outline-dark{color:#fff;border-color:rgba(255,255,255,0.4);}
.hero-actions .btn-outline-dark:hover{background:#fff;color:var(--ink);}

.scan-line{position:relative;height:2px;background:linear-gradient(90deg, transparent, var(--accent-green) 45%, var(--accent-green) 55%, transparent);margin:50px 0 0;opacity:0.8;}
.scan-line::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;background:var(--accent-green);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 14px 4px rgba(60,255,122,0.7);}

/* PHOTO / TEXTURE TREATMENT — molecular network panels replace photography */
.tech-panel{position:relative;overflow:hidden;background:var(--ink);}
.tech-panel img{width:100%;height:100%;object-fit:cover;display:block;}
.tech-panel .tint{position:absolute;inset:0;background:linear-gradient(160deg, rgba(5,13,26,0.55) 0%, rgba(5,13,26,0.15) 55%, rgba(47,216,255,0.18) 100%);mix-blend-mode:normal;}
.tech-panel .tint2{position:absolute;inset:0;background:linear-gradient(0deg, rgba(5,13,26,0.7), transparent 55%);}

.photo-band{padding:0;position:relative;}
.photo-band .tech-panel{height:340px;position:relative;}
.band-caption{position:absolute;left:32px;bottom:28px;z-index:2;max-width:520px;}
.band-caption span{font-family:var(--mono);color:#fff;font-size:clamp(15px,2vw,20px);letter-spacing:0.01em;display:block;}
.band-caption .eyebrow{color:var(--signal);margin-bottom:10px;}
@media(min-width:800px){.band-caption{left:calc((100vw - var(--maxw))/2 + 32px);}}

/* PROOF STRIP */
.proof{background:var(--ink);color:var(--paper);padding:22px 0;border-top:1px solid rgba(255,255,255,0.08);border-bottom:1px solid rgba(255,255,255,0.08);}
.proof .wrap{display:flex;flex-wrap:wrap;gap:14px 40px;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,0.65);}
.proof strong{color:#fff;font-weight:600;}

/* SPECIALTY ICON GRID — chrome/dark plate style */
.specialty-grid{padding:64px 0;background:var(--ink);border-bottom:1px solid rgba(255,255,255,0.08);}
.specialty-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:14px;margin-bottom:32px;}
.specialty-title{font-size:clamp(19px,2.2vw,25px);color:#fff;}
.specialty-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.08);}
@media(min-width:700px){.specialty-row{grid-template-columns:repeat(5,1fr);}}
.spec-item{background:var(--ink2);padding:26px 18px;display:flex;flex-direction:column;align-items:center;gap:12px;text-decoration:none;color:rgba(255,255,255,0.85);text-align:center;transition:background .18s, transform .18s;}
.spec-item svg{width:26px;height:26px;stroke:var(--signal);}
.spec-item span{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;}
.spec-item:hover{background:#0F2038;transform:translateY(-2px);}
.spec-item:hover svg{stroke:var(--accent-green);}

/* GENERIC SECTION */
section.block{padding:90px 0;}
.block-head{display:flex;flex-direction:column;gap:18px;max-width:640px;margin-bottom:50px;}
.block-head p{color:var(--ink-soft);font-size:17px;}
.block-head.with-photo{display:flex;gap:48px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;max-width:100%;}
.block-head.with-photo .text-col{max-width:560px;}
.block-photo{width:260px;height:330px;flex:none;}
@media(max-width:760px){.block-photo{width:100%;height:220px;}}

/* PRODUCT BANNER ROWS */
.prod-banners{display:flex;flex-direction:column;}
.prod-banner{display:grid;grid-template-columns:1fr;gap:26px;padding:44px 0;border-bottom:1px solid var(--mist-line);align-items:center;}
@media(min-width:820px){
  .prod-banner{grid-template-columns:1fr 1fr;gap:56px;}
  .prod-banner.flip .banner-media{order:2;}
  .prod-banner.flip .banner-text{order:1;}
}
.banner-media{width:100%;aspect-ratio:16/10;}
.banner-media img{object-fit:contain;}
.banner-text .num-tag{font-family:var(--mono);font-size:12px;color:var(--signal);letter-spacing:.08em;margin-bottom:12px;display:block;}
.banner-text h4{font-size:clamp(22px,2.6vw,30px);margin-bottom:14px;}
.banner-text p{color:var(--ink-soft);font-size:15.5px;max-width:44ch;}
.banner-text .tag{margin-top:16px;display:inline-block;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--steel-dark);border:1px solid var(--mist-line);padding:6px 12px;}
.prod-note{margin-top:26px;font-family:var(--mono);font-size:12.5px;color:var(--ink-soft);display:flex;gap:10px;align-items:center;}
.prod-note::before{content:"";width:16px;height:1px;background:var(--ink-soft);}

/* WHY MVMT / TRUST SECTION */
#why{background:var(--ink);color:var(--paper);}
#why .block-head p{color:var(--paper-soft);}
#why .eyebrow{color:var(--signal);}
.why-grid{display:grid;grid-template-columns:1fr;gap:40px;}
@media(min-width:820px){.why-grid{grid-template-columns:1.1fr .9fr;}}
.why-points{display:flex;flex-direction:column;gap:26px;}
.why-point{border-top:1px solid rgba(255,255,255,0.16);padding-top:20px;}
.why-point h4{font-family:var(--display);font-weight:400;font-size:17px;margin-bottom:8px;}
.why-point p{color:var(--paper-soft);font-size:14.5px;}
.why-card{border:none;padding:0;position:relative;min-height:360px;overflow:hidden;}
.why-card-inner{position:absolute;left:0;right:0;bottom:0;padding:30px;z-index:2;display:flex;flex-direction:column;gap:16px;}
.why-card .quote-mark{font-family:var(--display);font-size:44px;color:var(--signal);line-height:1;margin:0;}
.why-card p{font-size:16px;color:var(--paper-soft);line-height:1.7;}
.why-card .who{font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper);}

/* RESOURCES PAGE */
.resource-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--mist-line);border:1px solid var(--mist-line);}
@media(min-width:760px){.resource-grid{grid-template-columns:repeat(2,1fr);}}
.resource-card{background:var(--paper);padding:32px;display:flex;flex-direction:column;gap:14px;}
.resource-card .cat{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--signal);}
.resource-card h4{font-family:var(--display);font-weight:400;font-size:18px;}
.resource-card p{font-size:14.5px;color:var(--ink-soft);}
.resource-card .placeholder-link{
  margin-top:auto;font-family:var(--mono);font-size:12.5px;color:var(--steel);
  border:1px dashed var(--mist-line);padding:10px 14px;text-align:center;
}

/* CONTACT PAGE */
.contact-grid{display:grid;grid-template-columns:1fr;gap:24px;}
@media(min-width:800px){.contact-grid{grid-template-columns:1fr 1fr;}}
.c-card{border:1px solid var(--mist-line);padding:34px;display:flex;flex-direction:column;gap:16px;}
.c-card .tag{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--signal);}
.field{display:flex;flex-direction:column;gap:6px;}
.field label{font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.field input,.field textarea{font-family:var(--body);font-size:15px;padding:12px 14px;border:1px solid var(--mist-line);background:var(--paper);color:var(--ink);border-radius:2px;}
.field textarea{resize:vertical;min-height:90px;}
.field input:focus,.field textarea:focus{outline:2px solid var(--signal);outline-offset:1px;}
.c-card .btn{align-self:flex-start;margin-top:6px;border:none;}

/* SECONDARY INQUIRIES — manufacturer / investor, lighter weight than main forms */
.other-inquiries{margin-top:64px;padding-top:44px;border-top:1px solid var(--mist-line);}
.other-inquiries .eyebrow{margin-bottom:24px;}
.other-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--mist-line);border:1px solid var(--mist-line);}
@media(min-width:700px){.other-grid{grid-template-columns:1fr 1fr;}}
.other-item{background:var(--paper);padding:28px;display:flex;flex-direction:column;gap:10px;}
.other-item h4{font-family:var(--display);font-weight:400;font-size:17px;}
.other-item p{font-size:14px;color:var(--ink-soft);}
.other-item a{
  margin-top:auto;font-family:var(--mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--steel-dark);text-decoration:none;display:inline-flex;align-items:center;gap:8px;
}
.other-item a:hover{color:var(--ink);}

footer{background:var(--ink);color:var(--paper-soft);padding-top:64px;}
.foot-top{
  max-width:var(--maxw);margin:0 auto;padding:0 32px 48px;
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;
}
@media(max-width:900px){.foot-top{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.foot-top{grid-template-columns:1fr;}}
.foot-brand{display:flex;flex-direction:column;gap:16px;}
.foot-brand-logo{display:flex;align-items:center;gap:10px;}
.foot-brand-logo img{width:34px;height:34px;border-radius:6px;object-fit:cover;}
.foot-brand-name{font-family:var(--display);font-size:14px;color:#fff;line-height:1.3;max-width:22ch;}
.foot-address{font-size:13.5px;color:var(--paper-soft);line-height:1.6;}
.foot-social{display:flex;gap:14px;margin-top:4px;}
.foot-social a{color:var(--paper-soft);text-decoration:none;font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;border:1px solid rgba(255,255,255,0.2);padding:6px 10px;transition:color .15s,border-color .15s;}
.foot-social a:hover{color:#fff;border-color:rgba(255,255,255,0.5);}
.foot-col h5{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--signal);margin:0 0 16px;}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.foot-col a{color:var(--paper-soft);text-decoration:none;font-size:14px;}
.foot-col a:hover{color:#fff;}
.foot-bottom{border-top:1px solid rgba(255,255,255,0.1);padding:22px 0;}
.foot-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center;font-family:var(--mono);font-size:12px;letter-spacing:.05em;}
.foot-inner .flogo{color:var(--paper);font-family:var(--display);font-size:13px;letter-spacing:0.01em;max-width:280px;line-height:1.4;}
.foot-links{display:flex;gap:22px;flex-wrap:wrap;}
.foot-links a{text-decoration:none;color:var(--paper-soft);}
.foot-links a:hover{color:var(--paper);}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  #wavepath{animation:none;stroke-dashoffset:0;}
  .reveal{opacity:1;transform:none;transition:none;}
  .btn:hover{transform:none;}
}
