:root {
  --red: #e30613;
  --red-dark: #bf0711;
  --ink: #0d0f12;
  --ink-2: #15181d;
  --paper: #ffffff;
  --soft: #f4f5f6;
  --muted: #616871;
  --line: #dfe2e6;
  --line-dark: rgba(255,255,255,.14);
  --ok: #3fe08f;
  --max: 1320px;
  --radius: 18px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
body {
  min-width: 320px;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
  font-family: Inter, Montserrat, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { display: block; width: 100%; }
button, input, textarea, select { font: inherit; }
.container { width: min(100% - 56px, var(--max)); margin-inline: auto; }
.section { padding: 108px 0; position: relative; }
.section.soft { background: var(--soft); }
.section.dark { background: var(--ink); color: #fff; }
.section.dark h2, .section.dark h3, .section.dark h4 { color: #fff; }
.section-head { max-width: 900px; margin-bottom: 48px; }
.section-head.split { max-width: none; display: grid; grid-template-columns: 1fr; gap: 0; align-items: start; }
.section-head.split h2 { max-width: 1120px; }
.section-head.split .lead { max-width: 800px; }
.eyebrow { margin-bottom: 18px; color: var(--red); font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
h1, h2, h3, h4 { letter-spacing: -.035em; line-height: 1.08; }
h1 { font-size: clamp(42px, 5.2vw, 72px); font-weight: 760; }
h2 { font-size: clamp(34px, 4vw, 54px); font-weight: 730; }
h3 { font-size: 22px; font-weight: 700; }
h4 { font-size: 17px; font-weight: 700; }
.lead { margin-top: 20px; color: var(--muted); font-size: clamp(17px, 1.5vw, 20px); line-height: 1.6; }
.dark .lead { color: rgba(255,255,255,.68); }
.caption { color: var(--muted); font-size: 13px; line-height: 1.55; }
.small-note { margin-top: 28px; max-width: 980px; color: var(--muted); font-size: 14px; line-height: 1.6; }
.small-note strong { color: var(--ink); }
.dark .small-note { color: rgba(255,255,255,.62); }
.section-accent { color: var(--red); }

.header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); backdrop-filter: blur(14px); }
.nav { height: 68px; display: flex; align-items: center; gap: 30px; }
.logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
.logo img { width: 119px; height: auto; }
.product-tag { margin-left: 13px; padding-left: 13px; border-left: 1px solid var(--line); color: var(--muted); font-size: 15px; font-weight: 600; }
.nav-links { margin-left: auto; display: flex; align-items: center; gap: 22px; }
.nav-links a { color: #4e555e; font-size: 13.5px; font-weight: 600; transition: color .2s; }
.nav-links a:hover { color: var(--red); }
.nav .btn { flex: 0 0 auto; }
.burger { display: none; width: 44px; height: 44px; margin-left: auto; border: 0; border-radius: 10px; background: var(--soft); color: var(--ink); font-size: 22px; cursor: pointer; }
.mobile-menu { display: none; position: absolute; top: 100%; left: 0; right: 0; width: 100%; height: calc(100vh - 68px); height: calc(100dvh - 68px); z-index: 90; padding: 24px 28px 40px; background: #fff; overflow-y: auto; overflow-x: hidden; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; }
.mobile-menu.open { display: flex; flex-direction: column; }
.mobile-menu a { flex: 0 0 auto; width: 100%; padding: 17px 0; border-bottom: 1px solid var(--line); font-size: 18px; font-weight: 650; }
.mobile-menu .btn { flex: 0 0 auto; width: 100%; margin-top: 24px; }

.btn { display: inline-flex; min-height: 48px; padding: 13px 22px; align-items: center; justify-content: center; gap: 9px; border: 1px solid transparent; border-radius: 10px; font-size: 14px; font-weight: 700; line-height: 1.15; text-align: center; cursor: pointer; transition: transform .2s, background .2s, border-color .2s; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--red); color: #fff; }
.btn-primary:hover { background: var(--red-dark); }
.btn-secondary { border-color: var(--line); background: #fff; color: var(--ink); }
.btn-secondary:hover { border-color: var(--ink); }
.btn-light { background: #fff; color: var(--ink); }
.btn-link { justify-content: flex-start; min-height: 0; padding: 0; border-radius: 0; color: var(--red); }
.arrow { font-size: 1.15em; }

.hero { padding: 64px 0 76px; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(520px,1.18fr); gap: 58px; align-items: start; }
.hero h1 { max-width: 1180px; margin-bottom: 38px; }
.hero h1 .accent { color: var(--red); }
.hero-lead { max-width: 760px; margin-top: 24px; color: #343a42; font-size: clamp(17px, 1.45vw, 20px); font-weight: 540; line-height: 1.58; }
.hero-copy .hero-lead { margin-top: 0; }
.markers { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.marker { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; color: #424850; font-size: 12px; font-weight: 650; }
.benefits { display: grid; gap: 10px; margin-top: 26px; list-style: none; }
.benefits li { position: relative; padding-left: 22px; color: var(--muted); font-size: 14px; line-height: 1.5; }
.benefits li::before { content: ""; position: absolute; left: 0; top: .68em; width: 10px; height: 2px; background: var(--red); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.vision-frame { position: relative; min-height: 520px; overflow: hidden; border-radius: 20px; background: var(--ink); box-shadow: 0 28px 70px -36px rgba(0,0,0,.55); }
.vision-frame > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vision-frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,9,11,.02) 44%, rgba(8,9,11,.72) 100%); pointer-events: none; }
.scan-line { position: absolute; z-index: 3; left: 0; right: 0; top: -3px; height: 2px; background: var(--red); box-shadow: 0 0 18px 3px rgba(227,6,19,.7); animation: scan 2.8s .5s cubic-bezier(.2,.75,.3,1) 1 forwards; }
@keyframes scan { to { transform: translateY(520px); opacity: 0; } }
.cv-box { position: absolute; z-index: 4; border: 1.5px solid var(--ok); animation: box-in .45s both; }
.cv-box.defect { border-color: #ff3c49; }
.cv-box span { position: absolute; left: -1px; top: -25px; padding: 4px 7px; background: var(--ok); color: #07110c; font: 700 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .04em; white-space: nowrap; }
.cv-box.defect span { background: #ff3c49; color: #fff; }
.box-a { left: 20%; bottom: 15%; width: 29%; height: 26%; animation-delay: .7s; }
.box-b { right: 24%; bottom: 31%; width: 24%; height: 20%; animation-delay: 1s; }
.box-c { right: 8%; bottom: 43%; width: 17%; height: 15%; animation-delay: 1.3s; }
@keyframes box-in { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: scale(1); } }
.camera-status { position: absolute; z-index: 5; top: 18px; left: 18px; right: 18px; display: flex; justify-content: space-between; gap: 10px; color: #fff; font: 650 10px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.camera-status span { padding: 7px 9px; border: 1px solid rgba(255,255,255,.25); border-radius: 7px; background: rgba(5,7,9,.58); backdrop-filter: blur(8px); }
.event-card { position: absolute; z-index: 5; left: 18px; right: 18px; bottom: 18px; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 15px; border: 1px solid rgba(255,255,255,.18); border-radius: 12px; background: rgba(11,13,16,.82); color: #fff; backdrop-filter: blur(10px); }
.event-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 5px rgba(227,6,19,.18); }
.event-card strong { display: block; font-size: 13px; }
.event-card span { color: rgba(255,255,255,.62); font-size: 11px; }
.event-card b { color: var(--ok); font: 700 11px ui-monospace, SFMono-Regular, Menlo, monospace; }

.metrics { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.metric { min-height: 282px; padding: 30px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; }
.metric-value { color: var(--red); font-size: clamp(48px, 5.2vw, 72px); font-weight: 760; letter-spacing: -.06em; line-height: 1; }
.metric strong { margin-top: 30px; font-size: 16px; line-height: 1.35; }
.metric p { margin-top: 12px; color: var(--muted); font-size: 13.5px; line-height: 1.55; }

.solutions { display: grid; grid-template-columns: repeat(12,1fr); gap: 18px; }
.solution { grid-column: span 4; min-height: 340px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; display: flex; flex-direction: column; transition: transform .2s, border-color .2s; }
.solution:hover { transform: translateY(-3px); border-color: #bfc4cb; }
.solution-index { display: flex; align-items: center; justify-content: space-between; color: var(--red); font: 700 11px ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.solution-icon { width: 36px; height: 36px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--red); font-size: 18px; line-height: 1; }
.solution h3 { margin-top: 34px; }
.solution p { margin-top: 16px; color: var(--muted); font-size: 14px; line-height: 1.62; }
.solution .examples { margin-top: auto; padding-top: 24px; font-size: 13px; }
.solution .examples strong { color: var(--ink); }

.industry-grid { display: grid; grid-template-columns: repeat(12,1fr); gap: 20px; }
.industry-card { grid-column: span 4; min-height: 500px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; display: flex; flex-direction: column; }
.industry-card.wide { grid-column: span 6; }
.industry-card.featured { grid-column: span 8; }
.industry-card.industry-primary { grid-column: 1 / -1; min-height: 440px; display: grid; grid-template-columns: minmax(360px,.78fr) minmax(0,1.22fr); background: var(--ink); color: #fff; }
.industry-primary .industry-body { padding: 38px; }
.industry-primary .industry-body h3 { color: #fff; font-size: clamp(24px,2.2vw,34px); }
.industry-primary .industry-body p { color: rgba(255,255,255,.66); }
.industry-primary .industry-visual { height: 100%; min-height: 440px; }
.industry-primary .industry-visual::after { background: linear-gradient(90deg, rgba(13,15,18,.34), transparent 38%), linear-gradient(180deg, transparent 62%, rgba(0,0,0,.55)); }
.industry-primary .production-box::after { content: "OK 98.7%"; }
.industry-visual { position: relative; height: 260px; overflow: hidden; background: #1a1d22; }
.industry-visual img { height: 100%; object-fit: cover; transition: transform .6s; }
.industry-card:hover .industry-visual img { transform: scale(1.025); }
.industry-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.62)); }
.industry-visual .visual-label { position: absolute; z-index: 2; left: 16px; bottom: 14px; color: #fff; font: 700 10px ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; text-transform: uppercase; }
.mini-box { position: absolute; z-index: 2; border: 1px solid var(--ok); }
.mini-box::after { content: "RAW MATERIAL 94%"; position: absolute; top: -20px; left: -1px; padding: 3px 5px; background: var(--ok); color: #07110c; font: 700 8px ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
.industry-body { padding: 28px; display: flex; flex: 1; flex-direction: column; }
.industry-body .num { margin-bottom: 18px; color: var(--red); font: 700 11px ui-monospace, SFMono-Regular, Menlo, monospace; }
.industry-body p, .industry-body li { color: var(--muted); font-size: 14px; line-height: 1.58; }
.industry-body p { margin-top: 14px; }
.industry-body ul { margin: 16px 0 0 18px; display: grid; gap: 7px; }
.industry-body .btn-link { margin-top: auto; padding-top: 24px; }
.industry-card.text-card { min-height: 390px; background: var(--ink); color: #fff; }
.industry-card.text-card h3 { color: #fff; }
.industry-card.text-card p { color: rgba(255,255,255,.64); }
.industry-mini-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 20px; }
.industry-mini { min-height: 210px; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.industry-mini h3 { font-size: 17px; }
.industry-mini p { margin-top: 14px; color: var(--muted); font-size: 13.5px; line-height: 1.55; }

.cases { display: grid; gap: 20px; }
.case-main, .case-card, .case-marqus { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; padding: 28px; }
.case-main { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; }
.case-card { display: flex; flex-direction: column; min-width: 0; }
.case-grid { display: grid; gap: 20px; }
.case-existing-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.case-food-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.case-kicker { color: var(--red); font-size: 11px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.case-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.case-main .case-header { grid-column: 1 / -1; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.case-main h3, .case-card h3, .case-marqus h3 { margin-top: 16px; }
.case-icon { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid #ffd0d3; border-radius: 12px; background: #fff4f4; color: var(--red); font-size: 19px; }
.case-block { margin-top: 26px; }
.case-main .case-block { margin-top: 24px; }
.case-block strong { display: block; margin-bottom: 7px; color: var(--ink); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.case-block p { color: var(--muted); font-size: 14px; line-height: 1.6; }
.case-result { margin-top: 22px; padding: 22px; border-left: 3px solid var(--red); background: #fff4f4; }
.case-main .case-result { margin-top: 24px; }
.case-result strong { color: var(--red); font-size: 21px; line-height: 1.35; }
.case-card .case-result { margin-top: auto; padding: 16px; }
.case-card .case-result strong { font-size: 16px; }
.case-group { padding: 24px; border: 1px solid #ffd0d3; border-radius: var(--radius); background: #fff8f8; }
.case-group-head { margin-bottom: 20px; }
.case-group-head h3 { font-size: 24px; }
.case-food { border-color: #f3d9db; }
.case-food .case-header h3 { margin-top: 0; }
.case-primary { margin-top: 22px; padding: 18px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.case-primary strong { display: block; color: var(--red); font-size: clamp(46px, 5vw, 68px); letter-spacing: -.06em; line-height: .95; }
.case-primary span { display: block; max-width: 280px; margin-top: 10px; color: var(--ink); font-size: 15px; font-weight: 700; line-height: 1.35; }
.case-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 22px; }
.case-metrics > div { min-height: 88px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); }
.case-metrics strong { display: block; color: var(--red); font-size: 20px; line-height: 1.15; }
.case-metrics span { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.35; }
.case-effects { display: grid; gap: 8px; margin-top: 22px; }
.case-effects > div { padding: 14px; border-left: 2px solid var(--red); background: var(--soft); }
.case-effects strong, .case-effects span { display: block; }
.case-effects strong { font-size: 14px; }
.case-effects span { margin-top: 5px; color: var(--muted); font-size: 12.5px; line-height: 1.4; }
.case-marqus { display: grid; grid-template-columns: 1.05fr .95fr; gap: 0 40px; border-color: var(--red); background: linear-gradient(135deg, #fff 0%, #fff7f7 100%); }
.case-marqus .case-header { grid-column: 1 / -1; padding-bottom: 24px; border-bottom: 1px solid #f2c9cc; }
.case-marqus-copy { grid-column: 1; }
.case-marqus-results { grid-column: 2; grid-row: 2; }
.case-marqus-results .case-primary { margin-top: 26px; }
.case-registry { padding: 9px 12px; border: 1px solid #f3c2c5; border-radius: 999px; color: var(--red); font-size: 11px; font-weight: 700; line-height: 1.3; text-align: center; white-space: nowrap; }
.case-marqus-link { grid-column: 1; justify-self: start; margin-top: 26px; }

.marqus { overflow: hidden; }
.marqus-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 22px 68px; align-items: start; }
.marqus-copy { display: contents; }
.marqus-copy.reveal { opacity: 1; transform: none; }
.marqus-copy .eyebrow { grid-column: 1 / -1; grid-row: 1; margin-bottom: -4px; }
.marqus-copy h2 { grid-column: 1 / -1; grid-row: 2; max-width: 1180px; }
.marqus-copy .lead { grid-column: 1; grid-row: 3; max-width: 650px; margin-top: 0; }
.marqus-copy .marqus-stats { grid-column: 1; grid-row: 4; }
.marqus-copy .small-note { grid-column: 1; grid-row: 5; }
.platform-integration .small-note strong { color: var(--muted); font-weight: 400; }
.marqus-copy > .btn { grid-column: 1; grid-row: 6; justify-self: start; }
.marqus-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 32px; }
.marqus-stat { padding: 18px; border: 1px solid var(--line-dark); border-radius: 12px; }
.marqus-stat strong { display: block; color: #fff; font-size: 21px; }
.marqus-stat span { display: block; margin-top: 8px; color: rgba(255,255,255,.6); font-size: 13px; line-height: 1.5; }
.spectrum-visual { position: relative; grid-column: 2; grid-row: 3 / span 4; min-height: 560px; height: 100%; border: 1px solid var(--line-dark); border-radius: 20px; background: #0a0c0e; overflow: hidden; }
.spectrum-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .38; filter: saturate(.7) contrast(1.12); }
.spectrum-grid { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 44px 44px; }
.material-row { position: absolute; left: 8%; right: 8%; bottom: 12%; display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.material { min-height: 175px; padding: 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 12px; background: rgba(255,255,255,.06); display: flex; flex-direction: column; justify-content: flex-end; }
.material-sample { width: 68px; height: 68px; margin-bottom: auto; border: 1px solid rgba(255,255,255,.25); border-radius: 8px; background: linear-gradient(135deg,#343a41,#aaa); }
.material:nth-child(2) .material-sample { background: linear-gradient(135deg,#632c25,#b67440); }
.material:nth-child(3) .material-sample { background: linear-gradient(135deg,#d7d0bd,#857b62); }
.material:nth-child(4) .material-sample { background: linear-gradient(135deg,#77c5c9,#eff7f5); }
.material strong { font: 700 11px ui-monospace, SFMono-Regular, Menlo, monospace; }
.material span { margin-top: 5px; color: var(--ok); font: 700 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.mode-switch { position: absolute; top: 20px; left: 20px; display: flex; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; overflow: hidden; }
.mode-switch span { padding: 8px 12px; color: rgba(255,255,255,.55); font: 700 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.mode-switch .active { background: #fff; color: var(--ink); }

.process-chain { display: grid; grid-template-columns: repeat(5,1fr); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--line); }
.process-step { position: relative; min-height: 280px; padding: 26px; background: #fff; }
.process-step::after { content: "→"; position: absolute; z-index: 2; top: 31px; right: -11px; width: 22px; height: 22px; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--red); text-align: center; line-height: 19px; }
.process-step:last-child::after { display: none; }
.process-num { color: var(--red); font: 700 11px ui-monospace, SFMono-Regular, Menlo, monospace; }
.process-step h3 { margin-top: 42px; font-size: 18px; }
.process-step p { margin-top: 16px; color: var(--muted); font-size: 13.5px; line-height: 1.6; }

.platform-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 50px; align-items: start; }
.module-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.module { min-height: 190px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.module h3 { font-size: 17px; }
.module span { display: inline-block; margin-bottom: 20px; color: var(--red); font: 700 10px ui-monospace, SFMono-Regular, Menlo, monospace; }
.module p { margin-top: 10px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.integration-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-top: 28px; }
.integration { padding: 26px; border: 1px solid var(--line); border-radius: 14px; background: var(--soft); }
.integration p, .integration li { color: var(--muted); font-size: 13.5px; line-height: 1.6; }
.integration p { margin-top: 14px; }
.integration ul { margin: 15px 0 0 18px; }

.event-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 22px 56px; align-items: start; }
.event-layout > div:first-child { display: contents; }
.event-layout > div:first-child h2 { grid-column: 1 / -1; grid-row: 1; max-width: 1120px; }
.event-layout > div:first-child .lead { grid-column: 1; grid-row: 2; margin-top: 0; }
.event-layout > div:first-child .event-list { grid-column: 1; grid-row: 3; }
.event-layout .dashboard { grid-column: 2; grid-row: 2 / span 2; height: 100%; }
.event-list { margin-top: 28px; display: grid; gap: 10px; list-style: none; }
.event-list li { padding: 13px 16px 13px 40px; position: relative; border: 1px solid var(--line-dark); border-radius: 10px; color: rgba(255,255,255,.72); font-size: 14px; }
.event-list li::before { content: ""; position: absolute; left: 16px; top: 20px; width: 8px; height: 8px; border-radius: 50%; background: var(--red); }
.dashboard { padding: 18px; border: 1px solid var(--line-dark); border-radius: 18px; background: #171a1f; }
.dashboard-head { display: flex; justify-content: space-between; padding: 5px 5px 18px; color: rgba(255,255,255,.6); font: 700 10px ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .08em; }
.dashboard-cards { display: grid; grid-template-columns: 1.2fr .8fr; gap: 10px; }
.dash-card { min-height: 150px; padding: 18px; border: 1px solid var(--line-dark); border-radius: 12px; background: #101216; }
.dash-card strong { font-size: 13px; }
.bars { height: 88px; margin-top: 16px; display: flex; align-items: end; gap: 8px; }
.bars i { flex: 1; background: #343942; border-radius: 3px 3px 0 0; }
.bars i:nth-child(2), .bars i:nth-child(6) { background: var(--red); }
.dash-status { display: grid; gap: 9px; margin-top: 18px; }
.dash-status span { display: flex; justify-content: space-between; padding-bottom: 8px; border-bottom: 1px solid var(--line-dark); color: rgba(255,255,255,.6); font-size: 11px; }
.dash-status b { color: var(--ok); }
.dashboard-foot { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.dashboard-foot .dash-card { min-height: 105px; }
.dashboard-foot strong { display: block; font-size: 28px; }
.dashboard-foot span { color: rgba(255,255,255,.52); font-size: 11px; }

.timeline { display: grid; grid-template-columns: repeat(5,1fr); gap: 14px; }
.timeline-item { min-height: 330px; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.timeline-item .num { color: var(--red); font: 700 12px ui-monospace, SFMono-Regular, Menlo, monospace; }
.timeline-item h3 { margin-top: 46px; font-size: 18px; }
.timeline-item p { margin-top: 16px; color: var(--muted); font-size: 13.5px; line-height: 1.6; }
.timeline-cta { margin-top: 30px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 28px; border-radius: 14px; background: var(--ink); color: #fff; }

.why-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.why-card { min-height: 230px; padding: 26px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.why-card strong { display: block; color: var(--red); font-size: 30px; letter-spacing: -.04em; }
.why-card strong.dark { color: var(--ink); }
.why-card h3 { margin-top: 16px; }
.why-card p { margin-top: 13px; color: var(--muted); font-size: 13.5px; line-height: 1.55; }
.corporate-results { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.corporate-result { padding: 24px; border: 1px solid var(--red); border-radius: 14px; background: #fff; color: var(--ink); }
.corporate-result strong { display: block; color: var(--ink); font-size: 30px; }
.corporate-result span { display: block; margin-top: 8px; color: var(--muted); font-size: 13.5px; }

.faq { max-width: 1040px; margin-left: 0; }
.faq details { border-top: 1px solid var(--line); }
.faq details:last-child { border-bottom: 1px solid var(--line); }
.faq summary { min-height: 82px; padding: 24px 50px 24px 0; position: relative; display: flex; align-items: center; font-size: 18px; font-weight: 680; line-height: 1.4; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before, .faq summary::after { content: ""; position: absolute; right: 8px; top: 50%; width: 18px; height: 2px; background: var(--red); transition: transform .2s; }
.faq summary::after { transform: rotate(90deg); }
.faq details[open] summary::after { transform: rotate(0); }
.faq details p { max-width: 900px; padding: 0 56px 26px 0; color: var(--muted); font-size: 15px; line-height: 1.65; }

.contact { background: var(--ink); color: #fff; }
.contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.contact-copy { position: sticky; top: 100px; }
.contact-copy h2 { color: #fff; }
.contact-copy .lead { color: rgba(255,255,255,.68); }
.contact-benefits { margin-top: 30px; display: grid; gap: 12px; list-style: none; }
.contact-benefits li { position: relative; padding-left: 24px; color: rgba(255,255,255,.72); font-size: 14px; }
.contact-benefits li::before { content: "✓"; position: absolute; left: 0; color: var(--ok); }
.form-contacts { display: flex; flex-direction: column; gap: 10px; margin-top: 30px; }
.form-contacts a { color: #fff; font-weight: 650; }
.form-card { padding: 34px; border-radius: 18px; background: #fff; color: var(--ink); }
.form-card h3 { margin-bottom: 24px; }
.form-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.field-full { grid-column: 1/-1; }
.field label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 650; }
.field input, .field textarea, .field select { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 9px; outline: none; color: var(--ink); background: #fff; transition: border-color .2s; }
.field textarea { min-height: 130px; resize: vertical; }
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--ink); }
.field input.error, .field textarea.error { border-color: var(--red); }
.err-msg { min-height: 17px; margin-top: 5px; color: var(--red); font-size: 11px; }
.consents { margin: 16px 0; display: flex; flex-direction: column; gap: 10px; }
.consent-item { display: flex; gap: 10px; align-items: flex-start; color: var(--muted); font-size: 12px; line-height: 1.5; cursor: pointer; }
.consent-item input { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 1px; accent-color: var(--red); }
.consent-item input.error { outline: 2px solid var(--red); }
.consent-item a { color: var(--ink); text-decoration: underline; }
.form-card .btn { width: 100%; }
.form-status { min-height: 22px; margin-top: 12px; font-size: 13px; line-height: 1.5; }
.form-status.success { color: #11804a; }
.form-status.error { color: var(--red); }
.hp-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

footer { padding: 36px 0; border-top: 1px solid var(--line); }
.footer-row { display: flex; align-items: center; justify-content: space-between; gap: 30px; color: var(--muted); font-size: 13px; }
.footer-brand { display: flex; align-items: center; gap: 20px; }
.footer-brand img { width: 110px; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 20px; }
.footer-links a:hover { color: var(--red); }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s, transform .65s; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1180px) {
  .nav-links { display: none; }
  .burger { display: inline-flex; align-items: center; justify-content: center; }
  .nav > .btn { margin-left: auto; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 34px; }
  .vision-frame { min-height: 520px; }
  .metrics { grid-template-columns: 1fr 1fr; }
  .solution { grid-column: span 6; }
  .industry-card, .industry-card.wide { grid-column: span 6; }
  .industry-card.featured { grid-column: span 12; }
  .industry-card.industry-primary { grid-column: 1 / -1; }
  .industry-mini-grid { grid-template-columns: 1fr 1fr; }
  .process-chain, .timeline { grid-template-columns: repeat(3,1fr); }
  .process-step::after { display: none; }
}

@media (max-width: 900px) {
  .container { width: min(100% - 40px, var(--max)); }
  .section { padding: 82px 0; }
  .section-head.split, .hero-grid, .marqus-grid, .platform-grid, .event-layout, .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .hero { padding-top: 44px; }
  .hero h1 { margin-bottom: 30px; }
  .hero-grid .vision-frame { order: -1; }
  .hero-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .hero-actions .btn { width: 100%; }
  .vision-frame { min-height: 560px; }
  .section-head.split { align-items: start; gap: 0; }
  .marqus-copy { display: block; }
  .marqus-copy .eyebrow, .marqus-copy h2, .marqus-copy .lead, .marqus-copy .marqus-stats, .marqus-copy .small-note, .marqus-copy > .btn, .spectrum-visual { grid-column: auto; grid-row: auto; }
  .marqus-copy .lead { margin-top: 20px; }
  .spectrum-visual { height: auto; }
  .event-layout > div:first-child { display: block; }
  .event-layout > div:first-child h2, .event-layout > div:first-child .lead, .event-layout > div:first-child .event-list, .event-layout .dashboard { grid-column: auto; grid-row: auto; }
  .event-layout > div:first-child .lead { margin-top: 20px; }
  .event-layout .dashboard { height: auto; }
  .cases { grid-template-columns: 1fr; }
  .case-main { grid-column: auto; grid-template-columns: 1fr; gap: 0; }
  .case-main .case-header { grid-column: auto; }
  .case-existing-grid, .case-food-grid { grid-template-columns: 1fr; }
  .case-marqus { grid-template-columns: 1fr; gap: 0; }
  .case-marqus .case-header, .case-marqus-copy, .case-marqus-results, .case-marqus-link { grid-column: auto; grid-row: auto; }
  .process-chain, .timeline { grid-template-columns: 1fr 1fr; }
  .why-grid { grid-template-columns: 1fr 1fr; }
  .contact-copy { position: static; }
}

@media (max-width: 680px) {
  .container { width: min(100% - 32px, var(--max)); }
  .section { padding: 68px 0; }
  .nav { height: 62px; }
  .logo img { width: 104px; }
  .product-tag { font-size: 13px; }
  .nav > .btn { display: none; }
  .mobile-menu { height: calc(100vh - 62px); height: calc(100dvh - 62px); }
  h1 { font-size: clamp(38px, 11.5vw, 52px); }
  h2 { font-size: clamp(31px, 9vw, 42px); }
  .hero-lead, .lead { font-size: 16px; }
  .hero-actions { grid-template-columns: 1fr; width: 100%; }
  .hero-actions .btn { width: 100%; }
  .vision-frame { min-height: 430px; border-radius: 14px; }
  .camera-status span:last-child { display: none; }
  .box-c { display: none; }
  .event-card { grid-template-columns: auto 1fr; }
  .event-card b { display: none; }
  .metrics, .solutions, .industry-grid, .industry-mini-grid, .module-grid, .integration-grid, .dashboard-cards, .dashboard-foot, .process-chain, .timeline, .why-grid, .corporate-results, .form-fields { grid-template-columns: 1fr; }
  .metric { min-height: 250px; }
  .solution, .industry-card, .industry-card.wide, .industry-card.featured { grid-column: auto; }
  .industry-card.industry-primary { grid-column: auto; display: flex; min-height: 0; }
  .industry-primary .industry-body { padding: 28px; }
  .industry-primary .industry-visual { width: 100%; min-height: 280px; height: 280px; }
  .industry-card { min-height: 0; }
  .industry-card.text-card { min-height: 330px; }
  .industry-visual { height: 230px; }
  .cases { display: grid; }
  .case-main, .case-card, .case-marqus { padding: 24px; }
  .case-group { padding: 16px; }
  .case-header { gap: 16px; }
  .case-icon { width: 42px; height: 42px; }
  .case-metrics { grid-template-columns: 1fr 1fr; }
  .case-registry { max-width: 180px; white-space: normal; }
  .marqus-stats { grid-template-columns: 1fr; }
  .spectrum-visual { min-height: 500px; }
  .material-row { grid-template-columns: 1fr 1fr; }
  .material { min-height: 135px; }
  .material-sample { width: 44px; height: 44px; }
  .process-step, .timeline-item { min-height: 0; }
  .process-step h3, .timeline-item h3 { margin-top: 24px; }
  .timeline-cta { align-items: flex-start; flex-direction: column; }
  .faq summary { min-height: 74px; font-size: 16px; }
  .form-card { padding: 24px; }
  .field-full { grid-column: auto; }
  .footer-row, .footer-brand { align-items: flex-start; flex-direction: column; }
  .footer-links { justify-content: flex-start; flex-direction: column; gap: 12px; }
}

@media (max-width: 374px) {
  #cases .cases { grid-template-columns: minmax(0, 1fr); }
  #cases .cases > * { width: 100%; max-width: 100%; min-width: 0; }
  #cases .case-grid, #cases .case-group, #cases .case-marqus,
  #cases .case-header, #cases .case-header > *, #cases .case-marqus-copy,
  #cases .case-marqus-results { min-width: 0; }
  #cases h3 { overflow-wrap: anywhere; }
}

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