:root {
  --ink: #0b0d0c;
  --ink-2: #141715;
  --paper: #f3f4ee;
  --white: #ffffff;
  --muted: #a9aea9;
  --line: rgba(255, 255, 255, 0.16);
  --line-dark: rgba(11, 13, 12, 0.18);
  --acid: #c9ff4a;
  --cyan: #8fe7ff;
  --violet: #9b8cff;
  --display: "Syne", sans-serif;
  --body: "Manrope", sans-serif;
  --page: min(1440px, calc(100vw - 64px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: clip; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.55;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, blockquote { margin-top: 0; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 999; padding: 10px 16px; background: var(--acid); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 100;
  height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 max(32px, calc((100vw - 1440px) / 2));
  color: var(--white);
  border-bottom: 1px solid rgba(255,255,255,.14);
  transition: background .3s, color .3s, height .3s, border-color .3s;
}
.site-header.is-scrolled { height: 68px; color: var(--ink); background: rgba(243,244,238,.94); backdrop-filter: blur(16px); border-color: var(--line-dark); }
.brand { display: grid; grid-template-columns: 34px auto; grid-template-rows: 20px 11px; column-gap: 10px; align-items: center; font-family: var(--display); font-weight: 700; letter-spacing: .05em; }
.brand > span:nth-child(2) { line-height: 1; }
.brand small { grid-column: 2; font: 600 8px/1 var(--body); letter-spacing: .18em; opacity: .65; }
.brand-mark { grid-row: 1 / 3; width: 34px; height: 34px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 3px; padding: 6px; background: var(--acid); border-radius: 50%; }
.brand-mark i { display: block; background: var(--ink); border-radius: 4px; }
.brand-mark i:nth-child(1) { height: 35%; }.brand-mark i:nth-child(2) { height: 80%; }.brand-mark i:nth-child(3) { height: 55%; }
.site-nav { display: flex; align-items: center; gap: 32px; font-size: 14px; font-weight: 600; }
.site-nav a { position: relative; }
.site-nav a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 1px; background: currentColor; transition: right .25s; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { right: 0; }
.nav-cta { padding: 11px 18px; color: var(--ink); background: var(--acid); border-radius: 999px; }
.menu-toggle { display: none; border: 0; background: transparent; color: inherit; }

.hero { position: relative; min-height: 790px; height: min(94vh, 940px); color: var(--white); background: #091015; overflow: hidden; }
.hero-image { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,10,14,.98) 0%, rgba(5,10,14,.86) 37%, rgba(5,10,14,.15) 74%), url("assets/ai-lattice-hero.png") center/cover no-repeat; transform: scale(1.025); animation: hero-in 1.4s cubic-bezier(.2,.8,.2,1) both; }
.hero-grid { position: absolute; inset: 86px 0 0; opacity: .13; background-image: linear-gradient(rgba(255,255,255,.3) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.3) 1px, transparent 1px); background-size: 96px 96px; mask-image: linear-gradient(90deg, #000, transparent 60%); }
.hero-content { position: relative; z-index: 2; width: var(--page); margin: 0 auto; padding-top: clamp(180px, 22vh, 250px); }
.eyebrow, .section-kicker { font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 12px; color: var(--acid); }
.eyebrow span { width: 36px; height: 1px; background: currentColor; }
.hero h1 { max-width: 900px; margin: 24px 0 26px; font: 600 clamp(56px, 7.4vw, 112px)/.92 var(--display); letter-spacing: -.055em; }
.hero h1 em { color: var(--acid); font-style: normal; }
.hero-lead { max-width: 640px; color: #d8ddd8; font-size: clamp(17px, 1.5vw, 21px); }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 38px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; border: 1px solid transparent; border-radius: 999px; font-weight: 700; transition: transform .2s, background .2s, color .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { color: var(--ink); background: var(--acid); }
.button-primary:hover { background: var(--white); }
.text-link { padding-bottom: 4px; border-bottom: 1px solid rgba(255,255,255,.55); font-weight: 600; }
.hero-meta { position: absolute; z-index: 2; right: max(32px, calc((100vw - 1440px) / 2)); bottom: 50px; display: grid; grid-template-columns: repeat(3, 180px); border-top: 1px solid var(--line); }
.hero-meta div { padding: 18px 18px 0 0; }
.hero-meta b { display: block; margin-bottom: 8px; color: var(--acid); font: 600 12px var(--display); }
.hero-meta span { color: #d0d4d0; font-size: 12px; line-height: 1.4; }
.scroll-cue { position: absolute; z-index: 2; left: max(32px, calc((100vw - 1440px) / 2)); bottom: 51px; display: flex; align-items: center; gap: 10px; color: #b4bab5; font-size: 11px; letter-spacing: .15em; text-transform: uppercase; }
.scroll-cue span { width: 6px; height: 6px; background: var(--acid); border-radius: 50%; animation: blink 1.8s infinite; }

.section { padding: 128px max(32px, calc((100vw - 1440px) / 2)); }
.section-dark { color: var(--white); background: var(--ink); }
.section-kicker { color: #697069; }
.section-dark .section-kicker { color: var(--acid); }
.intro { display: grid; grid-template-columns: .55fr 1.45fr; gap: 48px; }
.intro-copy h2 { max-width: 950px; margin-bottom: 35px; font: 600 clamp(42px, 5vw, 76px)/1.02 var(--display); letter-spacing: -.045em; }
.intro-copy p { max-width: 750px; margin-left: auto; font-size: clamp(18px, 1.6vw, 22px); color: #464b47; }
.sector-strip { grid-column: 1 / -1; display: flex; justify-content: space-between; margin-top: 70px; padding-top: 28px; border-top: 1px solid var(--line-dark); color: #555b56; font: 600 13px var(--display); letter-spacing: .14em; }

.section-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 80px; align-items: end; margin-bottom: 80px; }
.section-heading h2 { margin: 18px 0 0; font: 600 clamp(44px, 5vw, 76px)/.98 var(--display); letter-spacing: -.05em; }
.section-heading > p { max-width: 530px; margin-bottom: 5px; color: #bdc2bd; font-size: 18px; }
.projects .section-heading > p { color: #5e645f; }
.capability-list { border-top: 1px solid var(--line); }
.capability { display: grid; grid-template-columns: 90px 1fr .7fr; gap: 30px; align-items: center; padding: 40px 0; border-bottom: 1px solid var(--line); transition: padding .3s, background .3s; }
.capability:hover { padding-left: 20px; padding-right: 20px; background: rgba(255,255,255,.035); }
.cap-number { color: var(--acid); font: 500 13px var(--display); }
.capability h3 { margin-bottom: 8px; font: 600 clamp(25px, 2.5vw, 38px)/1 var(--display); }
.capability p { max-width: 680px; margin-bottom: 0; color: #aeb4ae; }
.capability ul { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.capability li, .dialog-tags span { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: #b8beb8; font-size: 12px; }

.projects { background: var(--paper); }
.filters { display: flex; gap: 9px; margin: -40px 0 35px; }
.filters { scrollbar-width:none; }
.filters::-webkit-scrollbar { display:none; }
.filter { padding: 10px 16px; border: 1px solid var(--line-dark); border-radius: 999px; color: #4b504c; background: transparent; cursor: pointer; transition: .2s; }
.filter:hover, .filter.is-active { color: var(--paper); background: var(--ink); }
.demo-note { display:flex; align-items:center; gap:12px; margin:0 0 28px; color:#666d67; font-size:13px; }
.demo-note span { padding:5px 8px; color:var(--ink); background:var(--acid); border-radius:999px; font-size:10px; font-weight:800; letter-spacing:.12em; }
.project-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.project-card { min-width: 0; background: #e4e7df; transition: opacity .25s, transform .25s; }
.project-card[hidden] { display: none; }
.project-card-featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr .8fr; }
.project-visual { position: relative; min-height: 390px; overflow: hidden; background: #151917; }
.project-card-featured .project-visual { min-height: 510px; }
.project-copy { padding: 34px; }
.project-card-featured .project-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 6vw, 86px); }
.project-meta { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 36px; color: #5f665f; font-size: 11px; letter-spacing: .12em; }
.project-meta span:first-child { color: var(--ink); font-weight: 800; }
.project-copy h3 { max-width: 700px; margin-bottom: 18px; font: 600 clamp(28px, 3.1vw, 48px)/1.04 var(--display); letter-spacing: -.04em; }
.project-card:not(.project-card-featured) h3 { font-size: clamp(27px, 2.5vw, 38px); }
.project-copy p { color: #525853; }
.project-open { display:flex; align-items:center; gap:12px; width:fit-content; margin-top:auto; padding:12px 15px; color:var(--white); border:0; border-radius:999px; background:var(--ink); cursor:pointer; transition:background .2s,color .2s,transform .2s; }
.project-open span { font-weight:800; }
.project-open small { padding-left:12px; color:#aeb5ae; border-left:1px solid rgba(255,255,255,.2); }
.project-open:hover { color:var(--ink); background:var(--acid); transform:translateY(-2px); }
.project-open:hover small { color:#42530e; border-color:rgba(11,13,12,.2); }
.case-library-cta { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:48px; align-items:center; margin-top:24px; padding:48px; color:var(--white); background:var(--ink); }
.case-library-cta span { color:var(--acid); font-size:11px; font-weight:800; letter-spacing:.14em; }
.case-library-cta h3 { margin:12px 0 10px; font:600 clamp(28px,3vw,44px)/1.05 var(--display); letter-spacing:-.04em; }
.case-library-cta p { max-width:760px; margin:0; color:#aeb5ae; }
.case-library-cta .button { white-space:nowrap; }
.visual-atlas { background: radial-gradient(circle at 66% 48%, rgba(201,255,74,.15), transparent 31%), #0d1210; }
.visual-orbit { position: absolute; width: 390px; height: 390px; top: 50%; left: 54%; transform: translate(-50%,-50%); border: 1px solid rgba(201,255,74,.6); border-radius: 50%; box-shadow: 0 0 70px rgba(201,255,74,.1); }
.visual-orbit::before, .visual-orbit::after { content: ""; position: absolute; inset: 52px; border: 1px dashed rgba(143,231,255,.35); border-radius: 50%; }
.visual-orbit::after { inset: 112px; background: var(--acid); border: 0; box-shadow: 0 0 40px var(--acid); }
.visual-query, .visual-answer, .visual-source { position: absolute; padding: 12px 16px; border: 1px solid rgba(255,255,255,.18); color: #dfe6df; background: rgba(21,26,23,.76); backdrop-filter: blur(10px); font-size: 12px; }
.visual-query { top: 25%; left: 8%; }.visual-answer { right: 6%; bottom: 25%; width: 150px; }.visual-source { left: 19%; bottom: 16%; color: var(--acid); }
.visual-answer i { display: block; width: 100%; height: 4px; margin: 6px 0; background: rgba(255,255,255,.26); border-radius: 2px; }.visual-answer i:nth-child(2){width:74%}.visual-answer i:nth-child(3){width:48%}
.visual-claim { background: #171b18; }
.doc-stack { position: absolute; top: 80px; left: 50%; width: 180px; height: 240px; transform: translateX(-50%) rotate(-5deg); }
.doc-stack i { position: absolute; inset: 0; display: block; background: #f1f4ee; box-shadow: -15px 18px 30px rgba(0,0,0,.35); }
.doc-stack i:nth-child(1){ transform: translate(-42px,20px) rotate(-10deg); background:#515851 }.doc-stack i:nth-child(2){ transform: translate(35px,16px) rotate(9deg); background:#889089 }.doc-stack i:nth-child(3)::after { content:""; position:absolute; inset:35px 28px; background:repeating-linear-gradient(#aab1a9 0 2px, transparent 2px 19px); }
.flow-line { position: absolute; height: 2px; left: 12%; right: 12%; bottom: 52px; background: linear-gradient(90deg, transparent, var(--acid), transparent); }
.approval { position:absolute; right:8%; top:18%; padding:8px 11px; color:var(--acid); border:1px solid var(--acid); border-radius:999px; font-size:11px; transform:rotate(5deg); }
.visual-pulse { display:flex; align-items:flex-end; padding:42px; background:#101719; }
.pulse-bars { width:100%; height:230px; background: repeating-linear-gradient(90deg, var(--cyan) 0 5px, transparent 5px 18px); clip-path: polygon(0 73%, 5% 65%, 10% 72%, 15% 42%, 20% 50%, 25% 27%, 30% 45%, 35% 18%, 40% 49%, 45% 38%, 50% 58%, 55% 29%, 60% 40%, 65% 12%, 70% 31%, 75% 45%, 80% 22%, 85% 56%, 90% 33%, 95% 61%, 100% 38%, 100% 100%, 0 100%); opacity:.8; }
.visual-pulse span { position:absolute; top:30px; left:35px; color:var(--cyan); font:600 13px var(--display); }
.visual-guard { background:#131313; }
.guard-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(201,255,74,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(201,255,74,.12) 1px,transparent 1px); background-size:42px 42px; transform:perspective(400px) rotateX(55deg) scale(1.5); }
.guard-score { position:absolute; top:50%; left:50%; width:170px; height:170px; transform:translate(-50%,-50%); display:flex; align-items:baseline; justify-content:center; padding-top:45px; color:var(--acid); border:1px solid var(--acid); border-radius:50%; background:#111; box-shadow:0 0 45px rgba(201,255,74,.17); }
.guard-score strong{font:600 58px var(--display)}.guard-score small{font-size:12px}
.visual-cad { background:#101517; }
.cad-sheet { position:absolute; inset:48px 17% 42px; color:#90e8ff; border:1px solid rgba(143,231,255,.45); background:linear-gradient(rgba(143,231,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(143,231,255,.06) 1px,transparent 1px); background-size:24px 24px; }
.cad-sheet::before { content:""; position:absolute; width:150px; height:150px; left:50%; top:50%; border:2px solid var(--cyan); transform:translate(-50%,-50%); }
.cad-sheet::after { content:""; position:absolute; width:68px; height:68px; left:50%; top:50%; border:2px solid var(--cyan); border-radius:50%; transform:translate(-50%,-50%); }
.cad-sheet i { position:absolute; background:var(--cyan); opacity:.55; }.cad-sheet i:nth-child(1){width:1px;height:85%;left:50%;top:7%}.cad-sheet i:nth-child(2){height:1px;width:85%;left:7%;top:50%}.cad-sheet i:nth-child(3){width:42px;height:1px;right:2%;top:25%;transform:rotate(-28deg)}
.cad-sheet span,.cad-sheet b { position:absolute; padding:4px 6px; color:var(--cyan); background:#101517; font-size:10px; }.cad-sheet span{top:13%;right:2%}.cad-sheet b{bottom:9%;left:4%;font-weight:600}
.cad-scan { position:absolute; left:12%; right:12%; top:18%; height:1px; background:var(--acid); box-shadow:0 0 18px var(--acid); animation:cad-scan 3s ease-in-out infinite alternate; }
.cad-badge,.quote-chip,.match-pill { position:absolute; right:6%; bottom:7%; padding:8px 11px; color:var(--ink); background:var(--acid); border-radius:999px; font-size:11px; font-weight:800; }
.visual-inspect { background:#101310; }
.camera-line { position:absolute; left:50%; top:0; width:2px; height:42%; background:linear-gradient(var(--cyan),transparent); }.camera-line::after{content:"";position:absolute;left:-70px;top:80%;width:140px;height:90px;border:1px solid rgba(143,231,255,.7);background:rgba(143,231,255,.04)}
.conveyor { position:absolute; left:0; right:0; bottom:70px; display:flex; justify-content:space-around; align-items:center; height:95px; border-top:2px solid #4a514b; border-bottom:2px solid #4a514b; }
.conveyor i { display:block; width:62px; height:48px; background:#737b74; border-radius:4px; }.conveyor .is-defect{position:relative;outline:2px solid #ff6a5f}.conveyor .is-defect::after{content:"";position:absolute;left:12px;top:8px;width:31px;height:2px;background:#ff6a5f;transform:rotate(-24deg)}
.detect-box { position:absolute; left:42%; top:24%; padding:6px 9px; color:#ff8b81; border:1px solid #ff6a5f; font-size:10px; }
.visual-quote { background:#171a18; }
.quote-doc { position:absolute; left:50%; top:50%; width:220px; height:270px; padding:26px; color:#272c28; background:#edf0e9; box-shadow:-22px 22px 0 #3b423c; transform:translate(-50%,-50%) rotate(-4deg); }.quote-doc b{display:block;margin-bottom:24px;font:700 14px var(--display)}.quote-doc i{display:block;height:5px;margin:12px 0;background:#bdc4bd}.quote-doc i:nth-of-type(2){width:72%}.quote-doc i:nth-of-type(3){width:88%}.quote-doc span{position:absolute;left:26px;bottom:30px;color:#3d5109;font:700 26px var(--display)}
.quote-chip { right:5%; bottom:7%; }
.visual-commerce { background:radial-gradient(circle at 50% 50%,rgba(155,140,255,.16),transparent 42%),#121318; }
.persona { position:absolute; left:7%; top:9%; padding:8px 11px;color:#d9d5ff;border:1px solid rgba(155,140,255,.4);border-radius:999px;font-size:11px}
.product-stack { position:absolute; inset:24% 10% 18%; display:flex; gap:13px; align-items:flex-end; justify-content:center; }.product-stack i{display:flex;align-items:flex-end;width:27%;height:76%;padding:16px;color:#111;background:#a8f0ff;font:700 12px var(--display);box-shadow:0 18px 45px rgba(0,0,0,.35)}.product-stack i:nth-child(2){height:100%;background:var(--acid)}.product-stack i:nth-child(3){height:84%;background:#b7acff}
.match-pill { right:6%; bottom:6%; background:#b7acff; }
.visual-match{background:radial-gradient(circle at 26% 50%,rgba(143,231,255,.12),transparent 34%),radial-gradient(circle at 76% 48%,rgba(201,255,74,.13),transparent 35%),#101513}
.match-input-card{position:absolute;left:8%;top:21%;width:34%;height:58%;padding:18px;color:#dce3dd;border:1px solid rgba(143,231,255,.42);background:rgba(18,28,27,.8);box-shadow:0 20px 45px rgba(0,0,0,.3)}.match-input-card span{font-size:9px;font-weight:800;letter-spacing:.15em;color:var(--cyan)}.match-input-card i{display:block;width:72px;height:112px;margin:23px auto 17px;border:2px solid var(--cyan);border-radius:36px 36px 12px 12px;box-shadow:inset 0 0 28px rgba(143,231,255,.16)}.match-input-card b{display:block;font:600 11px var(--display);text-align:center}
.match-connector{position:absolute;left:41%;right:42%;top:50%;height:1px;background:linear-gradient(90deg,var(--cyan),var(--acid))}.match-connector::after{content:"";position:absolute;right:-3px;top:-3px;width:7px;height:7px;background:var(--acid);border-radius:50%;box-shadow:0 0 13px var(--acid)}
.match-result-stack{position:absolute;right:8%;top:20%;bottom:19%;width:34%;display:grid;gap:9px}.match-result-stack i{display:flex;align-items:center;padding:0 15px;color:var(--ink);background:#e8ece4;font:700 13px var(--display);box-shadow:-8px 8px 22px rgba(0,0,0,.22)}.match-result-stack i:nth-child(2){margin-left:14px;background:var(--acid)}.match-result-stack i:nth-child(3){margin-left:28px;background:#9feaff}
.match-badge{position:absolute;right:6%;bottom:6%;padding:8px 11px;color:var(--ink);background:var(--acid);border-radius:999px;font-size:11px;font-weight:800}

.section-acid { background: var(--acid); }
.section-acid .section-kicker { color: #465a11; }
.section-acid h2 { max-width: 1100px; margin: 20px 0 85px; font: 600 clamp(46px, 6vw, 88px)/.95 var(--display); letter-spacing: -.055em; }
.metric-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(11,13,12,.35); }
.metric { padding: 36px 24px 15px 0; border-right: 1px solid rgba(11,13,12,.35); }
.metric + .metric { padding-left: 30px; }
.metric:last-child { border-right: 0; }
.metric strong { display: block; margin-bottom: 18px; font: 600 clamp(58px, 7vw, 105px)/1 var(--display); letter-spacing: -.06em; }
.metric span { font-weight: 600; }
.metrics-note { margin: 50px 0 0; opacity: .55; font-size: 12px; }

.process-track { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.process-track li { position: relative; min-height: 300px; padding: 28px 26px 24px 0; border-right: 1px solid var(--line); }
.process-track li + li { padding-left: 26px; }
.process-track li:last-child { border-right: 0; }
.process-track span { color: var(--acid); font-size: 12px; }
.process-track h3 { margin: 74px 0 14px; font: 600 34px var(--display); }
.process-track p { color: #aeb4ae; }
.process-track small { position: absolute; bottom: 22px; color: #6f756f; }
.tech-marquee { width: 100vw; margin: 95px calc(50% - 50vw) -128px; overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.tech-marquee div { display: flex; width: max-content; animation: marquee 28s linear infinite; }
.tech-marquee span { padding: 25px 34px; color: #9ca29c; font: 500 18px var(--display); white-space: nowrap; }
.tech-marquee span::before { content:""; display:inline-block; width:6px; height:6px; margin:0 18px 3px 0; background:var(--acid); border-radius:50%; }

.quote { position:relative; display:grid; grid-template-columns:.5fr 1.5fr; min-height:620px; align-items:center; background:#dce4db; overflow:hidden; }
.quote-mark { position:absolute; left:-20px; top:-230px; color:rgba(11,13,12,.08); font:700 700px/1 Georgia,serif; }
.quote blockquote { grid-column:2; position:relative; z-index:1; }
.quote blockquote > p { max-width:1000px; font:600 clamp(44px,5.2vw,80px)/1.02 var(--display); letter-spacing:-.045em; }
.quote footer { display:flex; gap:80px; margin-top:45px; font-size:11px; letter-spacing:.13em; }

.contact { position:relative; min-height:700px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; color:var(--white); background:#091015; overflow:hidden; }
.contact::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:70px 70px; }
.contact-orb { position:absolute; width:560px; height:560px; border:1px solid rgba(201,255,74,.45); border-radius:50%; box-shadow:0 0 120px rgba(201,255,74,.08),inset 0 0 120px rgba(201,255,74,.05); }
.contact-orb::before,.contact-orb::after {content:"";position:absolute;inset:70px;border:1px dashed rgba(143,231,255,.25);border-radius:50%;animation:spin 20s linear infinite}.contact-orb::after{inset:150px;animation-direction:reverse}
.contact > *:not(.contact-orb) { position:relative; z-index:1; }
.contact .section-kicker { color:var(--acid); }
.contact h2 { margin:22px 0; font:600 clamp(56px,7vw,104px)/.92 var(--display); letter-spacing:-.06em; }
.contact-lead { max-width:610px; color:#bbc2bc; font-size:18px; }
.button-light { margin-top:22px; color:var(--ink); background:var(--white); }
.button-light:hover { background:var(--acid); }

.site-footer { display:grid; grid-template-columns:1fr 1fr auto; align-items:center; gap:30px; padding:45px max(32px,calc((100vw - 1440px)/2)); color:#bdc2bd; background:var(--ink); border-top:1px solid var(--line); font-size:13px; }
.brand-footer { color:var(--white); }
.brand-footer small { display:none; }
.site-footer p { margin:0; text-align:center; }
.site-footer > div { display:flex; gap:22px; }
.site-footer small { grid-column:1 / -1; padding-top:28px; border-top:1px solid var(--line); color:#696f69; }

.project-dialog { width:min(1480px,calc(100vw - 28px)); max-width:none; height:min(900px,calc(100dvh - 28px)); max-height:none; padding:0; color:var(--white); background:#111513; border:1px solid rgba(255,255,255,.2); box-shadow:0 30px 100px rgba(0,0,0,.55); overflow:hidden; }
.project-dialog::backdrop { background:rgba(5,8,6,.8); backdrop-filter:blur(8px); }
.dialog-close { position:absolute; z-index:4; top:15px; right:18px; width:40px; height:40px; color:var(--ink); background:rgba(255,255,255,.78); border:1px solid rgba(11,13,12,.18); border-radius:50%; font-size:26px; cursor:pointer; backdrop-filter:blur(10px); }
.dialog-shell { display:grid; grid-template-columns:minmax(380px,480px) minmax(0,1fr); height:100%; min-height:0; overflow:hidden; }
.dialog-story { padding:44px 40px 38px; overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; background:#111513; }
.dialog-label { color:var(--acid); font-size:11px; letter-spacing:.15em; }
.dialog-product { margin-top:18px; color:#7e867f; font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.project-dialog h2 { margin:9px 0 14px; font:600 clamp(30px,3.25vw,47px)/1.05 var(--display); letter-spacing:-.04em; }
.dialog-client { margin-bottom:18px; color:#858d86; font-size:11px; line-height:1.5; letter-spacing:.05em; text-transform:uppercase; }
.dialog-summary { color:#d3d8d3; font-size:15px; line-height:1.7; }
.dialog-impact { margin:24px 0; padding:18px; color:var(--ink); background:var(--acid); }.dialog-impact span{display:block;margin-bottom:8px;font-size:9px;font-weight:800;letter-spacing:.14em}.dialog-impact strong{display:block;font:600 22px/1.15 var(--display)}
.dialog-columns { display:grid; grid-template-columns:1fr; gap:4px; margin:24px 0; padding-top:22px; border-top:1px solid var(--line); }
.dialog-columns>div+div{padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.dialog-columns span { color:var(--acid); font-size:10px; letter-spacing:.15em; }
.dialog-columns p { margin:9px 0 0; color:#bdc4bd; font-size:13px; line-height:1.65; }
.case-narrative { margin-top:32px; border-top:1px solid var(--line); }
.case-section { position:relative; padding:27px 0 29px 38px; border-bottom:1px solid rgba(255,255,255,.1); }
.case-section>span { position:absolute; left:0; top:30px; color:var(--acid); font:700 10px var(--body); letter-spacing:.12em; }
.case-section h3 { margin:0 0 11px; color:#fff; font:600 20px/1.25 var(--display); letter-spacing:-.025em; }
.case-section p { margin:0; color:#aeb5ae; font-size:13px; line-height:1.75; }
.dialog-tech-label { margin:30px 0 13px; color:#7f877f; font-size:9px; font-weight:800; letter-spacing:.15em; }
.dialog-tags { display:flex; flex-wrap:wrap; gap:8px; }
.demo-jump { display:none; width:100%; min-height:46px; margin-top:22px; color:var(--ink); background:var(--acid); border:0; border-radius:8px; font-weight:800; cursor:pointer; }
.demo-workspace { display:flex; min-width:0; min-height:0; overflow:hidden; flex-direction:column; color:var(--ink); background:#eef0ea; }
.demo-workspace-head { flex:0 0 64px; display:flex; align-items:center; justify-content:space-between; padding:0 68px 0 26px; border-bottom:1px solid var(--line-dark); font-size:11px; font-weight:800; letter-spacing:.1em; }
.demo-workspace-head small { color:#717873; font-size:11px; font-weight:500; letter-spacing:0; }
.demo-live-dot { display:inline-block; width:7px; height:7px; margin-right:7px; background:var(--acid); border-radius:50%; box-shadow:0 0 0 4px rgba(154,200,42,.18); }
.demo-stage { flex:1; min-height:0; padding:24px; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; -webkit-overflow-scrolling:touch; }
.demo-app { min-height:100%; height:max-content; display:flex; flex-direction:column; color:#202420; background:#fafbf7; border:1px solid #d2d7d0; box-shadow:0 15px 45px rgba(22,27,23,.08); }
.demo-app [hidden]{display:none!important}
.demo-topbar { display:flex; align-items:center; justify-content:space-between; min-height:58px; padding:0 20px; border-bottom:1px solid #dce0da; }
.demo-brand { display:flex; align-items:center; gap:9px; font:700 13px var(--display); letter-spacing:.05em; }.demo-brand::before{content:"";width:20px;height:20px;background:var(--acid);border-radius:6px}.demo-status{color:#697069;font-size:11px}
.demo-body { flex:1; display:grid; grid-template-columns:minmax(180px,240px) minmax(0,1fr); min-height:0; }
.demo-sidebar { padding:18px; border-right:1px solid #dce0da; background:#f1f3ed; }
.demo-main { min-width:0; padding:22px; }
.demo-label { display:block; margin-bottom:9px; color:#737a74; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.demo-card { padding:17px; background:#fff; border:1px solid #dce0da; border-radius:10px; box-shadow:0 5px 18px rgba(20,28,21,.04); }
.demo-card+.demo-card { margin-top:12px; }
.demo-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.demo-grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.demo-button,.demo-choice { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:0 14px; color:#111; background:var(--acid); border:0; border-radius:7px; font-weight:800; cursor:pointer; }.demo-button:hover{background:#b7eb40}.demo-button:disabled{opacity:.55;cursor:wait}
.demo-choice { width:100%; justify-content:flex-start; margin-bottom:8px; color:#464c47; background:#fff; border:1px solid #d5dad3; font-size:12px; font-weight:600; text-align:left; }.demo-choice:hover,.demo-choice.is-active{color:#111;background:var(--acid);border-color:var(--acid)}
.demo-input,.demo-select,.demo-textarea { width:100%; padding:11px 12px; color:#202420; background:#fff; border:1px solid #ccd2ca; border-radius:7px; font:500 13px var(--body); }.demo-textarea{min-height:105px;resize:vertical}
.demo-metric { padding:15px; background:#111513; border-radius:9px; color:#fff; }.demo-metric strong{display:block;color:var(--acid);font:600 30px var(--display)}.demo-metric span{color:#aeb5ae;font-size:11px}
.demo-pills { display:flex; flex-wrap:wrap; gap:7px; }.demo-pill{padding:6px 9px;color:#4e554f;background:#eef1ea;border:1px solid #d5dad3;border-radius:999px;font-size:11px}.demo-pill.is-risk{color:#7b251e;background:#ffe2df;border-color:#ffc0ba}.demo-pill.is-good{color:#29470f;background:#e5f7c7;border-color:#c5e590}
.demo-kpi-row { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.demo-kpi { padding:13px;background:#f1f3ed;border-radius:8px}.demo-kpi strong{display:block;font:600 22px var(--display)}.demo-kpi span{color:#727973;font-size:10px}
.demo-list { margin:0;padding:0;list-style:none}.demo-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #e3e7e0;font-size:12px}.demo-list li:last-child{border-bottom:0}.demo-list b{font-weight:700}.demo-list small{color:#707870}.demo-list .alert{color:#b44138}.demo-list .ok{color:#557912}
.demo-progress { height:7px; overflow:hidden; background:#dfe4dc;border-radius:99px}.demo-progress i{display:block;width:var(--progress,65%);height:100%;background:var(--acid);border-radius:inherit;transition:width .5s}
.chat-feed { min-height:275px; max-height:350px; overflow:auto; }.chat-message{max-width:85%;margin-bottom:12px;padding:12px 14px;border-radius:12px;background:#edf0e9;font-size:13px}.chat-message.user{margin-left:auto;background:#1b211d;color:#fff}.chat-message strong{color:#526d0a}.chat-compose{display:flex;gap:8px;margin-top:13px}.chat-compose .demo-input{flex:1}
.source-item { display:block;width:100%;padding:10px;margin-bottom:7px;text-align:left;background:#fff;border:1px solid #d5dad3;border-radius:7px;cursor:pointer}.source-item strong{display:block;font-size:11px}.source-item small{color:#737a74;font-size:10px}
.pipeline { display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:18px 0}.pipeline-step{padding:12px 8px;color:#707770;background:#eef1eb;border:1px solid #dce0da;border-radius:7px;font-size:10px;text-align:center}.pipeline-step.is-done{color:#29400f;background:#e7f8ca;border-color:#bcdc7b}.pipeline-step.is-running{color:#111;background:var(--acid);border-color:var(--acid)}
.insight-chart { display:flex;align-items:flex-end;gap:8px;height:190px;padding-top:20px}.insight-chart i{flex:1;height:var(--h);min-height:10%;background:#1e2722;border-radius:5px 5px 0 0;transition:height .5s}.insight-chart i:nth-child(2n){background:#8fe7ff}.insight-chart i.is-hot{background:var(--acid)}
.score-ring { width:130px;height:130px;display:grid;place-items:center;margin:10px auto;border-radius:50%;background:conic-gradient(var(--acid) calc(var(--score)*1%),#dde2da 0)}.score-ring::before{content:attr(data-score);display:grid;place-items:center;width:98px;height:98px;background:#fff;border-radius:50%;font:600 34px var(--display)}
.drawing-canvas { position:relative;min-height:330px;overflow:hidden;background:#0f1719;border-radius:9px;background-image:linear-gradient(rgba(143,231,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(143,231,255,.07) 1px,transparent 1px);background-size:24px 24px}.drawing-part{position:absolute;left:24%;right:18%;top:25%;bottom:22%;border:2px solid var(--cyan)}.drawing-part::before{content:"";position:absolute;width:82px;height:82px;left:50%;top:50%;border:2px solid var(--cyan);border-radius:50%;transform:translate(-50%,-50%)}.drawing-hotspot{position:absolute;width:24px;height:24px;color:#111;background:var(--acid);border:0;border-radius:50%;font-size:10px;font-weight:800;cursor:pointer}.drawing-hotspot:nth-child(2){left:20%;top:18%}.drawing-hotspot:nth-child(3){right:14%;top:44%}.drawing-hotspot:nth-child(4){left:47%;bottom:15%}.drawing-tooltip{position:absolute;right:18px;bottom:18px;max-width:230px;padding:12px;color:#dce3dd;background:rgba(13,18,16,.92);border:1px solid rgba(255,255,255,.15);border-radius:7px;font-size:11px}
.inspection-view { position:relative;height:300px;overflow:hidden;background:#121715;border-radius:9px}.inspection-track{position:absolute;left:0;right:0;bottom:48px;display:flex;gap:35px;padding:12px 22px;border-top:2px solid #535a54;border-bottom:2px solid #535a54}.inspection-item{position:relative;flex:0 0 82px;height:62px;background:#878f88;border-radius:6px}.inspection-item.is-bad{outline:2px solid #ff6a5f}.inspection-item.is-bad::after{content:"defekt";position:absolute;right:-8px;top:-25px;padding:4px 6px;color:#fff;background:#c9473e;font-size:9px}.scan-beam{position:absolute;z-index:2;top:0;bottom:0;width:2px;left:20%;background:var(--acid);box-shadow:0 0 18px var(--acid)}.inspection-view.is-scanning .scan-beam{animation:inspection-scan 1.2s linear forwards}
.price-total { padding:20px;color:#fff;background:#131714;border-radius:9px}.price-total small{display:block;color:#9ca49d}.price-total strong{display:block;margin-top:5px;color:var(--acid);font:600 38px var(--display)}
.product-results { display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.product-result{padding:10px;background:#fff;border:1px solid #dce0da;border-radius:8px}.product-thumb{height:100px;margin-bottom:9px;background:linear-gradient(135deg,#d8dfd7,#9aa59b);border-radius:6px}.product-result:nth-child(2) .product-thumb{background:linear-gradient(135deg,#e7ffb1,#9cc53f)}.product-result:nth-child(3) .product-thumb{background:linear-gradient(135deg,#dcd7ff,#9287dd)}.product-result strong{display:block;font-size:12px}.product-result small{color:#717972}

.quote-sidebar { overflow:visible; }
.rfq-extract { margin:0;padding:0;list-style:none}.rfq-extract li{padding:9px 0;border-bottom:1px solid #dce1da}.rfq-extract b,.rfq-extract small{display:block}.rfq-extract b{font-size:12px}.rfq-extract small{margin-top:3px;color:#737a74;font-size:9px}
.quote-controls { margin-top:18px;padding-top:16px;border-top:1px solid #d7dbd4}.quote-controls .demo-label{margin-top:11px}.quote-controls .demo-label:first-child{margin-top:0}.quote-checkbox{display:flex;gap:8px;align-items:flex-start;margin:13px 0;font-size:11px;line-height:1.45}.quote-controls .demo-button{width:100%}
.quote-main { overflow:visible; }.quote-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:11px}.quote-heading h3{margin:0;font-size:20px}.cost-breakdown{overflow:hidden;border:1px solid #dce0da;border-radius:10px;background:#fff}.cost-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:10px 13px;border-bottom:1px solid #e5e8e2}.cost-row:last-child{border-bottom:0}.cost-row>div>*{display:block}.cost-row b{font-size:11px}.cost-row span{margin-top:2px;color:#3e453f;font-size:10px}.cost-row small{margin-top:3px;color:#7b827c;font-size:9px}.cost-row>strong{white-space:nowrap;font:700 14px var(--display)}.cost-row-subtotal{background:#f2f4ee}.quote-total-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:12px;padding:15px 17px;color:#fff;background:#131714;border-radius:9px}.quote-total-row>div>*{display:block}.quote-total-row strong{margin-top:3px;color:var(--acid);font:600 31px var(--display)}.quote-total-row span{font-weight:800}.quote-total-row small{color:#9ca49d;font-size:9px}
.shop-agents { overflow:visible; }.agent-status{display:flex;gap:10px;align-items:center;margin-bottom:8px;padding:10px;background:#fff;border:1px solid #d8ddd5;border-radius:8px}.agent-status i{flex:0 0 10px;height:10px;background:#c7cdc5;border-radius:50%}.agent-status b,.agent-status small{display:block}.agent-status b{font-size:11px}.agent-status small{margin-top:2px;color:#747b75;font-size:9px}.agent-status.is-working{border-color:#acd74f}.agent-status.is-working i{background:var(--acid);box-shadow:0 0 0 5px rgba(201,255,74,.22);animation:agent-pulse 1s ease-in-out infinite}.agent-status.is-done i{background:#79aa2c}.agent-status.is-done small{color:#557912}.shop-memory{margin-top:15px}.shop-reset{margin-top:11px}.shop-conversation{min-height:184px;max-height:255px;overflow:auto;padding:14px;background:#f2f4ee;border:1px solid #dce0da;border-radius:10px}.shop-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 16px}.shop-options .demo-choice{min-height:48px;margin:0;justify-content:center;text-align:center}.agent-thinking{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:13px;color:#4f574f;background:#eff2eb;border:1px solid #d7dcd4;border-radius:8px;font-size:11px}.agent-thinking i{width:12px;height:12px;border:2px solid #b5bbb3;border-top-color:#50610f;border-radius:50%;animation:spin .8s linear infinite}.shop-result{padding-top:5px}.shop-result-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.shop-result-head h3{margin:0 0 4px}.shop-result-head p{margin:0;color:#5f675f;font-size:12px}.shop-reason{margin-top:12px}
.match-upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:176px;padding:20px;color:#59615a;border:1px dashed #9ba49c;background:#f8faf6;border-radius:10px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.match-upload-zone:hover,.match-upload-zone.is-dragging{border-color:#7ca921;background:#efffd1;transform:translateY(-2px)}.match-file-input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.match-upload-icon{position:relative;width:44px;height:44px;margin-bottom:13px;border:1px solid #a6aea7;border-radius:50%}.match-upload-icon::before{content:"";position:absolute;left:50%;top:11px;width:1px;height:18px;background:#566057}.match-upload-icon::after{content:"";position:absolute;left:17px;top:11px;width:9px;height:9px;border-top:1px solid #566057;border-left:1px solid #566057;transform:rotate(45deg)}.match-upload-zone strong{color:#252b26;font-size:12px}.match-upload-zone small{margin-top:5px;color:#858c86;font-size:9px}.match-file-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;margin-top:10px;padding:9px;background:#fff;border:1px solid #d9ddd7;border-radius:9px}.match-file-card img{width:48px;height:44px;object-fit:cover;border-radius:6px}.match-file-card b,.match-file-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-file-card b{font-size:10px}.match-file-card small{margin-top:3px;color:#7e867f;font-size:8px}.match-file-card>span{color:#567b12;font-size:8px;font-weight:800;text-transform:uppercase}.match-privacy{margin:10px 0 0;color:#7b837c;font-size:9px;line-height:1.5}.match-features{margin-top:14px}.match-awaiting{display:grid;place-items:center;min-height:510px;padding:40px;color:#5d655e;background:#f3f5f0;border:1px dashed #c3c9c2;text-align:center}.match-awaiting-visual{position:relative;display:grid;place-items:center;width:190px;height:190px;margin-bottom:22px;overflow:hidden;background:#e5e9e2;border-radius:50%}.match-awaiting-visual img{width:100%;height:100%;object-fit:cover}.match-awaiting-icon{width:50px;height:50px;border:1px solid #99a29a;border-radius:50%}.match-awaiting-icon::before{content:"+";display:grid;place-items:center;width:100%;height:100%;color:#6d766e;font-size:28px;font-weight:300}.match-awaiting.has-image .match-awaiting-icon{display:none}.match-awaiting h3{max-width:510px;margin:3px 0 10px;font:600 26px/1.08 var(--display)}.match-awaiting p{max-width:520px;margin:0;color:#6d756e;font-size:12px}.match-flow-steps{display:flex;gap:7px;margin-top:22px}.match-flow-steps span{padding:7px 10px;color:#707870;border:1px solid #d2d7d0;border-radius:999px;font-size:9px}.match-flow-steps .is-active,.match-awaiting.has-image .match-flow-steps span:nth-child(-n+2){color:#26310e;border-color:#9dc440;background:#e9ffc0}.match-processing{display:flex;align-items:center;justify-content:center;gap:16px;min-height:510px;color:#dfe5df;background:#111714}.match-processing i{width:34px;height:34px;border:2px solid #4b554d;border-top-color:var(--acid);border-radius:50%;animation:spin .8s linear infinite}.match-processing strong,.match-processing span{display:block}.match-processing strong{font:600 18px var(--display)}.match-processing span{margin-top:5px;color:#929b93;font-size:10px}.match-scan-preview{position:relative;display:grid;place-items:center;min-height:218px;overflow:hidden;color:#dce4de;background:#111714;border-radius:10px}.match-scan-preview>img{width:100%;height:218px;object-fit:cover;filter:saturate(.78) contrast(1.05)}.match-scan-line{position:absolute;left:0;right:0;top:20%;height:1px;background:var(--acid);box-shadow:0 0 15px var(--acid);animation:match-scan 1.5s ease-in-out infinite alternate}.match-detected{position:absolute;left:13px;right:13px;bottom:12px;display:flex;justify-content:space-between;gap:10px;font-size:9px}.match-detected span{padding:5px 7px;border:1px solid rgba(255,255,255,.25);background:rgba(7,10,8,.78);border-radius:999px}.match-products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.match-product{padding:14px;background:#fff;border:1px solid #d9ddd7;border-radius:10px}.match-product-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:13px}.match-product-top b{font-size:11px}.match-product-top strong{color:#55730f;font:700 15px var(--display)}.match-product-shape{height:66px;margin-bottom:12px;background:linear-gradient(135deg,#e8ece6,#cdd4cc);border-radius:8px}.match-product p{min-height:48px;margin:0;color:#606861;font-size:9px;line-height:1.55}.match-product small{display:block;margin-top:9px;color:#7a827b;font-size:8px}

@keyframes cad-scan { to{transform:translateY(220px)} }
@keyframes inspection-scan { from{left:20%} to{left:86%} }
@keyframes agent-pulse { 50%{transform:scale(.72);opacity:.62} }
@keyframes match-scan { from{transform:translateY(0)} to{transform:translateY(132px)} }
.match-run:disabled{color:#7c847d;background:#d8ddd5;opacity:1;cursor:not-allowed}

.reveal { opacity:0; transform:translateY(26px); transition:opacity .7s ease,transform .7s ease; }
.reveal.is-visible { opacity:1; transform:none; }
@keyframes hero-in { from { opacity:0; transform:scale(1.08); } to { opacity:1; transform:scale(1.025); } }
@keyframes blink { 50%{opacity:.25;transform:scale(.75)} }
@keyframes marquee { to{transform:translateX(-50%)} }
@keyframes spin { to{transform:rotate(360deg)} }

@media (max-width: 900px) {
  :root { --page: calc(100vw - 40px); }
  .site-header { height:72px; padding:0 20px; }
  .menu-toggle { position:relative; z-index:2; display:grid; gap:7px; width:44px; height:44px; padding:13px 9px; }
  .menu-toggle span:not(.sr-only) { display:block; width:100%; height:1px; background:currentColor; transition:transform .3s; }
  .menu-toggle[aria-expanded="true"] span:nth-last-child(2){transform:translateY(4px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .site-nav { position:fixed; inset:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:24px; padding:80px 28px; color:var(--white); background:var(--ink); transform:translateX(100%); transition:transform .35s; }
  .site-nav.is-open { transform:none; }
  .site-nav a { font:600 38px var(--display); }
  .nav-cta { margin-top:15px; font:700 16px var(--body)!important; }
  .hero { min-height:790px; height:100svh; }
  .hero-image { background:linear-gradient(180deg,rgba(5,10,14,.5),rgba(5,10,14,.96) 76%),url("assets/ai-lattice-hero.png") 66% center/cover no-repeat; }
  .hero-content { padding-top:145px; }
  .hero h1 { font-size:clamp(50px,13vw,74px); }
  .hero-meta { right:20px; left:20px; bottom:48px; grid-template-columns:repeat(3,1fr); }
  .hero-meta div { padding-right:10px; }.hero-meta span{font-size:10px}
  .scroll-cue { display:none; }
  .section { padding:88px 20px; }
  .intro,.section-heading { grid-template-columns:1fr; gap:28px; }
  .intro-copy p { margin-left:0; }
  .sector-strip { gap:28px; overflow:hidden; justify-content:flex-start; }
  .section-heading { margin-bottom:50px; }
  .capability { grid-template-columns:44px 1fr; }
  .capability ul { grid-column:2; justify-content:flex-start; }
  .filters { margin:-20px 0 28px; overflow:auto; padding-bottom:6px; }
  .project-grid { grid-template-columns:1fr; }
  .project-card-featured { grid-column:auto; display:block; }
  .project-card-featured .project-visual,.project-visual { min-height:380px; }
  .project-card-featured .project-copy { padding:34px; }
  .case-library-cta { grid-template-columns:1fr; gap:28px; padding:34px; }
  .case-library-cta .button { width:fit-content; }
  .project-dialog { width:calc(100vw - 12px); height:calc(100dvh - 12px); }
  .dialog-shell { display:block; height:100%; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  .dialog-story { max-width:760px; padding:48px 24px 34px; overflow:visible; }
  .demo-jump { display:flex; align-items:center; justify-content:center; }
  .dialog-impact { max-width:520px; }
  .demo-workspace { min-height:720px; overflow:visible; }
  .demo-stage { overflow:visible; }
  .demo-body { grid-template-columns:1fr; }
  .demo-sidebar { border-right:0; border-bottom:1px solid #dce0da; }
  .demo-grid-3 { grid-template-columns:1fr 1fr; }
  .metric-grid { grid-template-columns:1fr; }
  .metric,.metric+.metric { display:grid; grid-template-columns:.8fr 1.2fr; align-items:center; padding:28px 0; border-right:0; border-bottom:1px solid rgba(11,13,12,.35); }
  .metric:last-child{border-bottom:0}.metric strong{margin:0}.metric span{padding-left:20px}
  .process-track { grid-template-columns:repeat(2,1fr); }
  .process-track li:nth-child(2){border-right:0}.process-track li:nth-child(n+3){border-top:1px solid var(--line)}
  .tech-marquee { margin-bottom:-88px; }
  .quote { grid-template-columns:1fr; min-height:560px; }
  .quote blockquote { grid-column:1; }
  .contact-orb{width:430px;height:430px}
  .site-footer { grid-template-columns:1fr auto; }.site-footer p{display:none}.site-footer small{grid-column:1/-1}
  .dialog-columns { grid-template-columns:1fr; gap:8px; }
}

@media (max-width: 560px) {
  .brand small { display:none; }.brand { grid-template-rows:34px; }
  .hero-content { padding-top:120px; }
  .hero h1 { font-size:48px; }
  .hero-lead { font-size:16px; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:18px; margin-top:26px; }
  .hero-meta { display:none; }
  .intro-copy h2,.section-heading h2 { font-size:40px; }
  .sector-strip { display:grid; grid-template-columns:repeat(2,1fr); }
  .capability { grid-template-columns:1fr; gap:15px; }.capability ul{grid-column:1}.cap-number{margin-bottom:10px}
  .project-visual,.project-card-featured .project-visual{min-height:315px}.project-copy,.project-card-featured .project-copy{padding:26px}.project-meta{align-items:flex-start;flex-direction:column;gap:6px;margin-bottom:24px}
  .visual-orbit{width:260px;height:260px}.visual-query{left:4%}.visual-source{left:8%}
  .project-open { width:100%; justify-content:space-between; }
  .case-library-cta { padding:28px 24px; }
  .case-library-cta .button { width:100%; }
  .cad-sheet { inset:36px 11% 36px; }
  .demo-workspace-head { padding:0 56px 0 14px; }.demo-workspace-head small{display:none}
  .demo-stage { padding:10px; }
  .demo-topbar { padding:0 12px; }
  .demo-main,.demo-sidebar { padding:13px; }
  .demo-grid-2,.demo-grid-3,.demo-kpi-row,.product-results { grid-template-columns:1fr; }
  .pipeline { grid-template-columns:1fr 1fr; }
  .shop-options { grid-template-columns:1fr; }
  .match-products-grid { grid-template-columns:1fr; }
  .quote-heading,.quote-total-row,.shop-result-head { align-items:flex-start;flex-direction:column; }
  .drawing-canvas { min-height:270px; }
  .section-acid h2 { font-size:43px; margin-bottom:55px; }
  .metric,.metric+.metric { grid-template-columns:1fr; }.metric span{padding:0}.metric strong{margin-bottom:8px}
  .process-track { grid-template-columns:1fr; }.process-track li,.process-track li+li{min-height:240px;padding:26px 0;border-right:0;border-top:1px solid var(--line)}.process-track h3{margin-top:42px}
  .quote blockquote>p { font-size:39px; }.quote footer{flex-direction:column;gap:10px}
  .contact { min-height:640px; }.contact h2{font-size:52px}.contact-orb{width:340px;height:340px}
  .site-footer { grid-template-columns:1fr; }.site-footer>div{flex-wrap:wrap}.site-footer small{grid-column:1}
  .project-dialog h2{font-size:34px}
  .dialog-summary { font-size:14px; }
  .case-section { padding-left:32px; }
  .case-section h3 { font-size:18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
  .reveal { opacity:1; transform:none; }
}
