:root {
  --purple: #a72cff;
  --blue: #168cff;
  --cyan: #22dff5;
  --white: #f4fcff;
  --text: #eaf1f7;
  --muted: #98a9b9;
  --bg: #050810;
  --panel: #0b111c;
  --line: #253242;
  --success: #41e6a1;
  --warning: #ffd166;
  --max: 1440px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: 0; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }

.site-header { position: fixed; z-index: 20; top: 0; left: 0; right: 0; height: 96px; display: flex; align-items: center; justify-content: space-between; padding: 0 max(24px, calc((100vw - var(--max)) / 2)); background: rgba(5, 8, 16, .92); border-bottom: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(14px); }
.brand { display: inline-flex; align-items: center; gap: 11px; font-weight: 800; text-decoration: none; font-size: 18px; }
.brand sup { color: var(--cyan); font-size: 8px; margin-left: 3px; }
.brand-mark {
  position:relative;
  width: 152px;
  height: 88px;
  display:block;
  flex:0 0 auto;
  isolation:isolate;
}
.brand-logo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display: block;
  object-fit: contain;
}
.site-header .brand-mark { margin-left:-20px; }
footer .brand-mark { width:114px; height:66px; }
.brand-energy { position:absolute; z-index:2; inset:0; opacity:0; pointer-events:none; clip-path:inset(10% 0 10% 0); -webkit-mask:url('/static/assets/mezopix-eye-clean-short-beam-candidate.png') center/contain no-repeat; mask:url('/static/assets/mezopix-eye-clean-short-beam-candidate.png') center/contain no-repeat; mix-blend-mode:screen; }
.energy-left { clip-path:inset(10% 50% 10% 0); background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.88) 0%,rgba(242,68,255,.72) 10%,rgba(167,44,255,.26) 34%,transparent 58%),repeating-conic-gradient(from 180deg at 50% 50%,transparent 0 8deg,rgba(232,93,255,.8) 9deg,transparent 10deg 19deg); animation:energy-left 8.6s cubic-bezier(.18,.72,.22,1) infinite; transform-origin:50% 50%; }
.energy-right { clip-path:inset(10% 0 10% 50%); background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.88) 0%,rgba(34,223,245,.76) 10%,rgba(22,140,255,.28) 34%,transparent 58%),repeating-conic-gradient(from 0deg at 50% 50%,transparent 0 8deg,rgba(81,224,255,.82) 9deg,transparent 10deg 19deg); animation:energy-right 8.6s cubic-bezier(.18,.72,.22,1) .35s infinite; transform-origin:50% 50%; }
.brand-beam { position:absolute; z-index:3; top:7%; bottom:7%; left:50%; width:2px; opacity:0; transform:translateX(-50%) scaleY(0); transform-origin:center; pointer-events:none; background:linear-gradient(transparent,rgba(255,255,255,.9) 13%,#fff 50%,rgba(34,223,245,.9) 87%,transparent); filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 9px var(--cyan)); animation:beam-shine 6.8s cubic-bezier(.18,.72,.22,1) infinite; }
@keyframes energy-left { 0%,8% { opacity:0; transform:scale(.04); } 18% { opacity:.9; } 72% { opacity:.55; transform:scale(1.06); } 88%,100% { opacity:0; transform:scale(1.42); } }
@keyframes energy-right { 0%,8% { opacity:0; transform:scale(.04); } 18% { opacity:.9; } 72% { opacity:.58; transform:scale(1.06); } 88%,100% { opacity:0; transform:scale(1.42); } }
@keyframes beam-shine { 0%,12% { opacity:0; transform:translateX(-50%) scaleY(0); } 24% { opacity:1; } 72% { opacity:.9; transform:translateX(-50%) scaleY(1); } 88%,100% { opacity:0; transform:translateX(-50%) scaleY(1.06); } }
.nav-links { display: flex; align-items: center; gap: 28px; }
.nav-links a { color: #b9c7d3; text-decoration: none; font-size: 14px; }
.nav-links a:hover { color: var(--white); }
.nav-links .nav-cta { color: var(--white); border: 1px solid var(--cyan); padding: 10px 14px; }
.menu-button { display: none; color: var(--white); background: transparent; border: 1px solid var(--line); padding: 8px 10px; }

.hero { min-height: min(790px, 92vh); position: relative; display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 58px; overflow: hidden; padding: 112px max(24px, calc((100vw - var(--max)) / 2)) 58px; background:#050810; }
.hero::before { content:""; position:absolute; inset:0; opacity:.22; pointer-events:none; background-image:linear-gradient(rgba(34,223,245,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(34,223,245,.08) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(90deg,transparent 8%,#000 55%,#000 100%); }
.hero-content { position: relative; z-index: 2; width: 100%; }
.eyebrow { margin: 0 0 16px; color: var(--cyan); font-size: 12px; font-weight: 800; text-transform: uppercase; }
h1 { margin: 0; color: var(--white); font-size: clamp(48px, 5.3vw, 78px); line-height: .98; letter-spacing: 0; }
.hero-copy { max-width: 590px; margin: 26px 0 28px; color: #b7c5d0; font-size: clamp(17px, 1.55vw, 21px); line-height: 1.6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 18px; border: 1px solid transparent; border-radius: 4px; font-weight: 800; text-decoration: none; cursor: pointer; }
.button.primary { color: #02050a; background: var(--cyan); }
.button.primary:hover { background: var(--white); }
.button.secondary { color: var(--white); border-color: #5b6a78; background: rgba(5,8,16,.45); }
.hero-trust { margin:22px 0 0; color:#7f91a1; font-size:12px; font-weight:700; }
.match-visual { position:relative; z-index:2; min-width:0; }
.match-stage { position:relative; min-height:390px; overflow:hidden; border:1px solid #243448; background:#070c14; }
.match-stage::before { content:"OBJECT ANALYSIS / ATTRIBUTE EXTRACTION"; position:absolute; z-index:4; top:18px; left:20px; color:#6f8497; font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.catalog-field { position:absolute; inset:0; display:grid; grid-template-columns:repeat(3,1fr); align-content:space-around; color:#22dff5; font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace; opacity:.1; transform:rotate(-8deg) scale(1.15); }
.catalog-field span { padding:22px; border-bottom:1px solid currentColor; }
.bolt-product { position:absolute; z-index:2; width:94%; height:90%; left:3%; top:8%; object-fit:contain; filter:drop-shadow(0 26px 42px rgba(0,0,0,.72)); animation:bolt-float 5s ease-in-out infinite; }
.scan-line { position:absolute; z-index:3; left:8%; right:8%; height:2px; top:20%; background:var(--cyan); box-shadow:0 0 14px var(--cyan),0 0 34px rgba(34,223,245,.72); animation:scan-object 4.3s ease-in-out infinite; }
.scan-point { position:absolute; z-index:4; width:11px; height:11px; border:2px solid var(--cyan); border-radius:50%; box-shadow:0 0 10px var(--cyan); animation:point-pulse 1.6s ease-in-out infinite; }
.point-head { left:18%; top:37%; }.point-flange { left:33%; top:58%; }.point-thread { right:29%; top:62%; }.point-tip { right:12%; top:73%; }
.attribute-label { position:absolute; z-index:5; min-width:132px; padding:9px 11px; border-left:2px solid #3c5268; background:rgba(5,8,16,.88); opacity:.32; transform:translateY(5px); transition:opacity .28s ease,transform .28s ease,border-color .28s ease; }
.attribute-label span { display:block; color:#718496; font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.attribute-label strong,.attribute-label b { display:block; }
.attribute-label strong { margin-top:5px; color:#8d9aa5; font-size:10px; text-transform:uppercase; }
.attribute-label b { margin-top:3px; color:var(--white); font-size:12px; }
.attribute-label.active { opacity:1; transform:translateY(0); border-color:var(--cyan); box-shadow:-8px 0 24px rgba(34,223,245,.12); }
.label-head { left:3%; top:15%; }.label-grade { right:3%; top:18%; }.label-thread { right:3%; bottom:18%; }.label-length { left:4%; bottom:16%; }.label-feature { right:6%; top:46%; }
.match-console { position:relative; margin-top:1px; padding:16px 22px; border:1px solid #243448; background:#0b111c; }
.console-topline,.search-metrics { display:flex; align-items:center; justify-content:space-between; gap:16px; color:#73879a; font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; text-transform:uppercase; }
.console-status { display:flex; align-items:center; gap:7px; color:var(--cyan); }.console-status i { width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 10px var(--cyan); }
.query-text { margin:14px 0; color:#dfe8ef; font-size:13px; line-height:1.45; }
.search-progress { height:3px; overflow:hidden; background:#243448; }.search-progress span { display:block; width:4%; height:100%; background:linear-gradient(90deg,var(--purple),var(--cyan)); transition:width .55s ease; }
.search-metrics { margin-top:10px; }.search-metrics b { color:#c9d5df; }
.resolved-match { display:grid; grid-template-columns:1fr auto; gap:4px 18px; max-height:0; margin-top:0; overflow:hidden; opacity:0; transition:max-height .5s ease,opacity .35s ease,margin-top .5s ease,padding-top .5s ease; border-top:1px solid transparent; }
.resolved-match.visible { max-height:140px; margin-top:16px; padding-top:16px; opacity:1; border-top-color:#26374a; }
.resolved-match > span { color:#7f91a1; font-size:10px; font-weight:800; text-transform:uppercase; }.resolved-match > strong { grid-column:1; color:var(--white); font-size:19px; }.resolved-match p { grid-column:1; margin:2px 0 0; color:#9fb0be; font-size:11px; }.resolved-match > b { grid-row:1/4; grid-column:2; align-self:center; padding:8px 10px; color:#041014; background:var(--success); font-size:10px; text-transform:uppercase; }
.next-section { position: absolute; z-index: 2; bottom: 26px; left: 50%; transform: translateX(-50%); color: var(--white); text-decoration: none; font-size: 13px; }
.next-section span { color: var(--cyan); margin-left: 8px; }

@keyframes scan-object { 0%,100% { top:18%; opacity:.3; } 50% { top:80%; opacity:1; } }
@keyframes bolt-float { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-8px) rotate(1deg); } }
@keyframes point-pulse { 0%,100% { transform:scale(.8); opacity:.45; } 50% { transform:scale(1.2); opacity:1; } }

section:not(.hero) { padding: 96px max(24px, calc((100vw - var(--max)) / 2)); }
.section-heading { max-width: 780px; margin-bottom: 42px; }
.section-heading.compact { max-width: 700px; }
h2 { margin: 0 0 16px; color: var(--white); font-size: clamp(34px, 5vw, 62px); line-height: 1.05; letter-spacing: 0; }
.section-heading > p:last-child, .contact > p { color: var(--muted); font-size: 18px; line-height: 1.65; }

.current-focus { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; background: var(--white); color: #101820; }
.current-focus h2 { color: #0b121a; }
.current-focus .eyebrow { color: #5d10a0; }
.current-focus > div:last-child { padding-top: 30px; }
.current-focus > div:last-child p { margin: 0 0 20px; font-size: 18px; line-height: 1.7; }

.product-band { background: #070c14; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.product-portfolio { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.portfolio-item { min-height: 310px; padding: 30px; background: var(--panel); }
.portfolio-item.active { border-top: 3px solid var(--cyan); }
.portfolio-item.future { border-top: 3px solid var(--purple); }
.product-status { color: var(--cyan); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.portfolio-item.future .product-status { color: var(--purple); }
.portfolio-item h3 { margin: 70px 0 16px; color: var(--white); font-size: 24px; line-height: 1.2; }
.portfolio-item > p:last-child { color: var(--muted); line-height: 1.65; }
.product-link { display:inline-block; margin-top:20px; color:var(--cyan); font-size:13px; font-weight:800; text-decoration:none; }
.outcome-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.outcome-grid article { min-height: 250px; padding: 28px 24px; border-right: 1px solid var(--line); }
.outcome-grid article:last-child { border-right: 0; }
.outcome-grid span { color: var(--purple); font-weight: 800; }
.outcome-grid h3 { margin: 54px 0 12px; font-size: 22px; }
.outcome-grid p { color: var(--muted); line-height: 1.6; }
.workflow { background: var(--white); color: #101820; }
.workflow h2 { color: #0b121a; }
.workflow .eyebrow { color: #5d10a0; }
.workflow-list { list-style: none; padding: 0; margin: 50px 0 0; border-top: 1px solid #b9c5ce; }
.workflow-list li { display: grid; grid-template-columns: 170px 1fr; gap: 24px; padding: 24px 0; border-bottom: 1px solid #b9c5ce; }
.workflow-list span { color: #5d10a0; font-weight: 800; }
.workflow-list strong { font-size: 20px; }
.about { background: #070c14; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.about-intro { max-width: 860px; }
.about-intro > p:last-child { max-width: 760px; color: var(--muted); font-size: 19px; line-height: 1.7; }
.about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 48px; background: var(--line); border: 1px solid var(--line); }
.about-grid article { min-height: 220px; padding: 30px; background: var(--panel); }
.about-grid article > p:last-child { margin: 32px 0 0; color: #c5d0d9; font-size: 17px; line-height: 1.65; }
.about-label { margin: 0; color: var(--cyan); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.value-line { display: flex; flex-wrap: wrap; gap: 1px; margin-top: 1px; background: var(--line); }
.value-line span { flex: 1 1 150px; padding: 18px; background: #0a1019; color: var(--white); text-align: center; font-weight: 700; }
.industry-list { display: flex; flex-wrap: wrap; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.industry-list span { flex: 1 1 260px; padding: 28px; background: var(--panel); font-weight: 800; }
.security { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; background: #07101a; border-top: 1px solid #18354a; border-bottom: 1px solid #18354a; }
.security h2 { font-size: clamp(34px, 4vw, 52px); }
.security-copy p { margin: 0 0 22px; color: #b7c5d0; font-size: 17px; line-height: 1.7; }
.demo-request { display:grid; grid-template-columns:.85fr 1.15fr; gap:72px; background:#070c14; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.request-intro > p { color:var(--muted); font-size:17px; line-height:1.7; }
.request-intro ul { margin:28px 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.request-intro li { padding:14px 0; border-bottom:1px solid var(--line); color:#c9d4dd; }
.request-form { padding:30px; border:1px solid var(--line); background:var(--panel); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.request-form label { display:block; color:var(--text); font-size:13px; font-weight:750; }
.request-form input:not([type="checkbox"]),.request-form select,.request-form textarea { width:100%; margin-top:8px; padding:12px 13px; border:1px solid #405168; border-radius:4px; background:#070b12; color:var(--text); }
.request-form input:not([type="checkbox"]),.request-form select { min-height:46px; }
.request-form textarea { resize:vertical; line-height:1.5; }
.request-form input:focus,.request-form select:focus,.request-form textarea:focus { outline:2px solid var(--cyan); outline-offset:2px; }
.request-form > label { margin-top:18px; }
.request-form .consent { display:flex; align-items:flex-start; gap:10px; font-weight:500; line-height:1.45; }
.consent input { margin-top:3px; accent-color:var(--cyan); }
.request-form button { margin-top:22px; }
.request-form button:disabled { cursor:wait; opacity:.65; }
.website-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-status { min-height:24px; margin:14px 0 0; color:var(--muted); line-height:1.5; }
.form-status.success { color:var(--success); }
.form-status.error { color:#ff8c98; }
.contact { text-align: center; }
.contact > p { max-width: 720px; margin: 0 auto 28px; }
footer { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: center; padding: 48px max(24px, calc((100vw - var(--max)) / 2)); border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
footer > div:nth-of-type(2) { display: flex; justify-content: flex-end; gap: 20px; }
footer > p:last-child { text-align: right; }

.legal-page { min-height:100vh; padding:148px max(24px, calc((100vw - 1040px) / 2)) 96px; }
.legal-header { padding-bottom:34px; border-bottom:1px solid var(--line); }
.legal-header h1 { max-width:850px; font-size:clamp(42px,6vw,68px); }
.legal-meta { margin:18px 0 0; color:var(--muted); font-size:14px; }
.legal-content { padding-top:24px; }
.legal-content section { padding:28px 0; border-bottom:1px solid var(--line); }
.legal-content h2 { margin:0 0 14px; font-size:24px; line-height:1.25; }
.legal-content p,.legal-content li { color:#b7c5d0; line-height:1.72; }
.legal-content ul { padding-left:22px; }
.legal-back { display:inline-flex; margin-top:34px; color:var(--cyan); font-weight:800; text-decoration:none; }

@media (max-width: 800px) {
  .site-header { height: 78px; }
  .site-header .brand-mark { width:116px; height:68px; margin-left:-12px; }
  .menu-button { display: block; }
  .nav-links { display: none; position: absolute; top: 78px; left: 0; right: 0; align-items: stretch; flex-direction: column; gap: 0; padding: 12px 24px 20px; background: var(--bg); border-bottom: 1px solid var(--line); }
  .nav-links.open { display: flex; }
  .nav-links a { padding: 12px 0; }
  .nav-links .nav-cta { margin-top: 8px; padding: 12px; text-align: center; }
  .hero { min-height:auto; grid-template-columns:1fr; gap:44px; padding-top:100px; padding-bottom:92px; }
  h1 { font-size:clamp(46px,12vw,68px); }
  .hero-copy { font-size:18px; }
  .match-stage { min-height:410px; }
  .security { grid-template-columns: 1fr; }
  .demo-request { grid-template-columns:1fr; gap:34px; }
  .current-focus { grid-template-columns: 1fr; gap: 18px; }
  .current-focus > div:last-child { padding-top: 0; }
  .about-grid { grid-template-columns: 1fr; }
  .product-portfolio { grid-template-columns: 1fr; }
  .outcome-grid { grid-template-columns: 1fr 1fr; }
  .outcome-grid article:nth-child(2) { border-right: 0; }
  .outcome-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .workflow-list li { grid-template-columns: 1fr; gap: 8px; }
  footer { grid-template-columns: 1fr; }
  footer > div:nth-of-type(2) { justify-content: flex-start; }
  footer > p:last-child { text-align: left; }
  .legal-page { padding-top:112px; }
}

@media (max-width: 480px) {
  section:not(.hero) { padding-top: 72px; padding-bottom: 72px; }
  .match-stage { min-height:360px; }
  .attribute-label { min-width:105px; padding:7px; }
  .attribute-label b { font-size:10px; }
  .resolved-match { grid-template-columns:1fr; }
  .resolved-match > b { grid-row:auto; grid-column:1; justify-self:start; margin-top:8px; }
  .outcome-grid { grid-template-columns: 1fr; }
  .form-grid { grid-template-columns:1fr; }
  .outcome-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .bolt-product,.scan-line,.scan-point { animation:none; }
  .attribute-label { opacity:1; transform:none; border-color:var(--cyan); }
  .search-progress span { width:100%; }
  .resolved-match { max-height:140px; margin-top:16px; padding-top:16px; opacity:1; border-top-color:#26374a; }
  .brand-energy,.brand-beam { animation:none; }
  .brand-energy { display:none; }
}
