/* ── Design tokens — per UCS Web DNA v1 (logo manual, dadastudio.cz) ──
   Dark ground restyle (2026-09-25): matches unifiedcloudsensors.com (index_v6.html) —
   navy ground, Sky as the accent-on-dark, mono overlines, hairline rules, flat colors. */
:root {
  --navy:      #1D2C49;      /* page ground */
  --blue:      #476DB8;      /* UCS Blue — actions, key figures */
  --blue-dark: #2F4D89;      /* hover/pressed state for blue on light surfaces */
  --blue-pale: #DCE5F4;      /* primary text on dark */
  --sky:       #7ED3F0;      /* UCS Sky — accent on dark */
  --sub:       #BAC4D5;      /* secondary/meta text on dark — blue-pale at 82%, 7.9:1 on navy */
  /* #7EA4D8 (the DNA marketing-hero subhead tone) was retired as a text colour 2026-10-13:
     only 5.43:1 on navy and 4.4:1 over a bright hero video frame — fails AA and is unreadable
     in sunlight on a phone (Nikola, 2026-10-13). Reading copy now uses --blue-pale (11:1),
     which the DNA itself designates as dark-surface text. */
  --white:  #ffffff;
  --bg:     #F7F7F6;         /* light "paper" surfaces (forms, demo panels, footer) */
  --ink:    #2F2F2E;         /* text on light surfaces */
  --text:   #2F2F2E;
  --ink2:   #484847;
  --text2:  #484847;
  --muted:  #6F6F6E;
  --muted2: #B9B9B8;
  --border: #ECECEB;

  /* dark-ground helpers, same values as unifiedcloudsensors.com */
  --shade:       rgba(12,13,16,.82);     /* nav glass */
  --shade-soft:  rgba(12,13,16,.28);     /* recessed panels */
  --line:        rgba(220,229,244,.08);  /* section hairlines */
  --rule:        rgba(220,229,244,.14);  /* in-content rules */
  --dash:        rgba(220,229,244,.18);  /* dashed card borders */
  --faint:       rgba(220,229,244,.4);

  /* sensor / device states */
  --ok:    #3F8F6B;
  --warn:  #C98A2E;
  --alarm: #BF4B41;
  --off:   #9A9A99;

  --font:  'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --font-display: 'Chakra Petch', var(--font);
  --mono:  'IBM Plex Mono', 'Cascadia Code', 'Consolas', monospace;

  --r:   6px;
  --rl:  6px;
  --ease: cubic-bezier(.2,0,0,1);
  --t-fast: 120ms var(--ease);
  --t:      200ms var(--ease);
  --t-slow: 320ms var(--ease);
}

/* ── Reset ─────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
  font-family: var(--font); color: var(--blue-pale); background: var(--navy);
  line-height: 1.6; -webkit-font-smoothing: antialiased;
}
img  { max-width: 100%; display: block; }
a    { color: var(--sky); text-decoration: none; transition: color var(--t); }
a:hover { color: #fff; }
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 700; color: #fff; }
h3, h4 { font-weight: 600; }

@keyframes riseIn {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Layout ────────────────────────────────────────────────── */
.container { max-width: 1400px; margin: 0 auto; padding: 0 56px; }

/* shared overline — mono, tracked, Sky */
.hero-tagline, .section-tagline, .demo-system-name, .roi-result-title,
.trust-item-label, .patent-block-label, .summary-label, .panel-title, .live-text {
  font-family: var(--mono); font-size: 12px; font-weight: 400;
  letter-spacing: .16em; text-transform: uppercase; color: var(--sky);
}

/* ── Triple rule — the favicon's 3 lines, used as a signature divider ──── */
.triple-rule { display: flex; flex-direction: column; gap: 6px; }
.triple-rule span { display: block; height: 2px; background: currentColor; }

/* ── Nav ───────────────────────────────────────────────────── */
.nav {
  position: sticky; top: 0; z-index: 100;
  background: var(--shade);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; height: 68px; }
.nav-logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.nav-logo-img { height: 24px; width: auto; }
.nav-logo-text {
  font-family: var(--mono); font-size: 12px; letter-spacing: .16em;
  text-transform: uppercase; color: var(--sky);
}
.nav-links { display: flex; align-items: center; gap: 40px; }
.nav-links a {
  color: var(--blue-pale); font-size: 14px; padding-bottom: 4px;
  border-bottom: 1px solid transparent;
  transition: border-color var(--t), color var(--t);
}
.nav-links a:hover { color: var(--sky); border-bottom-color: var(--sky); }
.nav-links a.active { color: var(--sky); }
.nav-links a.nav-cta { color: #fff; font-weight: 600; }
.nav-links a.nav-cta:hover { color: var(--sky); }

/* Language switcher — mono, uppercase, same register as the overline labels.
   Sits inside .nav-links but opts out of its link styling. */
.lang-switch { display: flex; align-items: center; gap: 2px; }
.lang-switch-item {
  font-family: var(--mono); font-size: 12px; letter-spacing: .08em;
  padding: 3px 7px; border-radius: 3px; border-bottom: 0;
}
.nav-links a.lang-switch-item { color: var(--sub); border-bottom: 0; padding-bottom: 3px; }
.nav-links a.lang-switch-item:hover { color: var(--navy); background: var(--sky); border-bottom-color: transparent; }
.lang-switch-item.is-active { color: var(--navy); background: var(--blue-pale); font-weight: 600; }
@media (max-width: 860px) {
  .lang-switch { gap: 0; }
  .lang-switch-item { padding: 3px 5px; }
}

/* ── Breadcrumb ────────────────────────────────────────────── */
.breadcrumb { border-bottom: 1px solid var(--line); }
.breadcrumb-inner {
  display: flex; align-items: center; gap: 10px; height: 44px;
  font-family: var(--mono); font-size: 12px; letter-spacing: .06em;
}
.breadcrumb a { color: var(--sub); }
.breadcrumb a:hover { color: var(--sky); }
.breadcrumb .crumb-sep { color: var(--faint); }
.breadcrumb .crumb-current { color: #fff; }

/* ── Buttons ───────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 48px; padding: 0 28px; border-radius: var(--r);
  font-family: var(--font); font-size: 15px; font-weight: 600;
  cursor: pointer; text-decoration: none; border: 1px solid transparent; white-space: nowrap;
  transition: background var(--t), color var(--t), border-color var(--t), transform var(--t);
}
/* primary + its on-dark aliases — DNA hero button: blue -> sky fill, navy text */
.btn-primary, .btn-teal, .btn-navy { background: var(--blue); color: #fff; }
.btn-primary:hover, .btn-teal:hover, .btn-navy:hover {
  background: var(--sky); color: var(--navy); transform: translateY(-1px);
}
.btn-outline, .btn-ghost { background: transparent; color: var(--blue-pale); border-color: var(--dash); }
.btn-outline:hover, .btn-ghost:hover { border-color: var(--sky); color: var(--sky); }
.btn-sm { height: 40px; padding: 0 20px; font-size: 14px; }
.btn:disabled { opacity: .6; cursor: default; transform: none; }

/* ── Hero ──────────────────────────────────────────────────── */
.hero { position: relative; overflow: hidden; padding: 180px 0 0; }
.hero-top { position: relative; z-index: 2; }
.hero-content { position: relative; z-index: 2; max-width: 1180px; display: flex; flex-direction: column; gap: 32px; }
.hero-content > * { animation: riseIn 600ms var(--ease) both; }
.hero-content > :nth-child(2) { animation-delay: 120ms; }
.hero-content > :nth-child(3) { animation-delay: 240ms; }
.hero h1 {
  font-size: clamp(40px, 6.4vw, 88px); line-height: 1.02; letter-spacing: -.02em;
  color: #fff; text-wrap: balance;
}
.hero-sub { font-size: 17px; line-height: 1.65; color: var(--blue-pale); max-width: 520px; }
.hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-visual { display: none; }

/* full-bleed video background, same scrim as unifiedcloudsensors.com's hero photo */
.hero-video-carousel { position: absolute; inset: 0; z-index: 0; }
.hero-video-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.4s ease; }
.hero-video-slide.is-active { opacity: 1; }
.hero-video { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-scrim {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(180deg, rgba(12,13,16,.60) 0%, rgba(12,13,16,.86) 55%, var(--navy) 100%);
}
.hero-video-bg-section .hero-tiles { z-index: 2; }

.hero-tiles {
  position: relative; z-index: 2;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
  margin-top: 120px; padding-bottom: 96px;
}
.hero-tile {
  display: flex; align-items: center; gap: 16px; padding: 22px 20px;
  border: 1px dashed var(--dash); border-radius: var(--r); color: var(--blue-pale);
  background: rgba(12,13,16,.25);
  transition: border-color var(--t), transform var(--t), background var(--t);
}
.hero-tile:hover { border-color: var(--sky); border-style: solid; transform: translateY(-2px); color: var(--blue-pale); }
.hero-tile-icon {
  width: 44px; height: 44px; border-radius: var(--r); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--rule); color: var(--sky);
}
.hero-tile-text { display: flex; flex-direction: column; gap: 3px; }
.hero-tile-title { font-family: var(--font-display); font-weight: 600; font-size: 19px; color: #fff; }
.hero-tile-sub { font-size: 13px; color: var(--sub); }

/* ── Centered section header (reused by index pages) ──────── */
.section-header--center { text-align: center; max-width: 720px; margin: 0 auto 56px; align-items: center; }
.section-header--center .section-sub { margin-left: auto; margin-right: auto; }

/* ── Flow diagram ("how it works") ─────────────────────────── */
.flow-grid { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: flex-start; }
.flow-node { text-align: center; padding: 0 12px; }
.flow-node-icon {
  width: 88px; height: 88px; margin: 0 auto; border-radius: var(--r);
  display: flex; align-items: center; justify-content: center;
}
.flow-node-icon--muted  { border: 1px dashed var(--dash); color: var(--sub); }
.flow-node-icon--accent { border: 1px solid var(--rule); color: var(--sky); }
.flow-node-icon--navy   { background: var(--blue); color: #fff; }
.flow-node h3 { font-size: 19px; color: #fff; margin-top: 20px; }
.flow-node p  { font-size: 14px; line-height: 1.6; color: var(--sub); margin-top: 6px; }
.flow-arrow { color: var(--faint); font-size: 26px; padding-top: 30px; }

/* ── Stats bar ─────────────────────────────────────────────── */
.stats-bar { border-bottom: 1px solid var(--line); }
.stats-inner { display: grid; grid-template-columns: repeat(3, 1fr); }
.stat-item { padding: 28px 32px; border-right: 1px solid var(--line); }
.stat-item:last-child { border-right: none; }
.stat-value { font-family: var(--font-display); font-size: 34px; font-weight: 600; color: #fff; }
.stat-label { font-size: 14px; color: var(--sub); margin-top: 5px; }

/* ── Sections ──────────────────────────────────────────────── */
.section     { padding: 96px 0 120px; border-top: 1px solid var(--line); }
.section-alt { background: transparent; }
.section-header { display: flex; flex-direction: column; gap: 14px; margin-bottom: 56px; }
.section h2 {
  font-size: clamp(30px, 3.6vw, 44px); line-height: 1.15; letter-spacing: -.01em;
  color: #fff; text-wrap: balance;
}
.section-sub { font-size: 17px; line-height: 1.65; color: var(--blue-pale); max-width: 620px; }
.section-header .section-sub { margin-top: 6px; }

.roi-teaser { padding: 56px 0; }
.roi-teaser-inner { text-align: center; }
.roi-teaser-heading { font-family: var(--font-display); font-size: 22px; font-weight: 600; color: #fff; margin-bottom: 20px; }
.roi-teaser-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.roi-teaser-link {
  display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 18px;
  border-radius: var(--r); border: 1px solid var(--dash); color: var(--blue-pale);
  font-weight: 600; font-size: 14px;
}
.roi-teaser-link:hover { border-color: var(--sky); color: var(--sky); }

/* Certified & Patented — stat-wall treatment, like unifiedcloudsensors.com's Story section */
.trust-grid { display: flex; align-items: flex-start; gap: 56px; }
.trust-seal { flex: 0 0 auto; color: var(--sky); padding-top: 6px; }
.trust-content { display: flex; flex-direction: column; }
.trust-content .section-tagline { margin-bottom: 14px; }
.trust-content .section-sub { margin-top: 16px; margin-bottom: 40px; }
.patent-block {
  display: flex; flex-direction: column; gap: 10px;
  padding: 28px 32px; margin-bottom: 48px; max-width: 560px;
  border: 1px solid var(--rule); border-left: 2px solid var(--sky); border-radius: var(--r);
  background: var(--shade-soft);
}
.patent-block-number { font-family: var(--font-display); font-size: clamp(30px, 3.4vw, 44px); font-weight: 700; color: #fff; line-height: 1.05; }
.patent-block-detail { font-size: 14px; line-height: 1.6; color: var(--sub); }
.trust-items { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; }
.trust-item { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 1px solid var(--rule); }
.trust-item-value { font-family: var(--font-display); font-size: 19px; font-weight: 600; color: #fff; line-height: 1.35; }

/* ── Product cards (live mini-dashboards) ──────────────────── */
.product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.product-card {
  position: relative; overflow: hidden; display: flex; flex-direction: column;
  border: 1px solid var(--rule); border-radius: var(--rl);
  transition: border-color var(--t), transform var(--t);
}
.product-card:hover { border-color: var(--card-accent, var(--sky)); transform: translateY(-3px); }
.product-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; z-index: 1;
  background: var(--card-accent, var(--blue));
}
.product-card-header { background: var(--shade-soft); color: #fff; padding: 24px 26px; border-bottom: 1px solid var(--line); }
.product-card-header-top {
  display: flex; align-items: center; justify-content: space-between;
  font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--faint); margin-bottom: 16px;
}
.product-card-live-badge { display: flex; align-items: center; gap: 6px; color: var(--sky); }
.product-card-hw-badge { color: var(--faint); }
.live-dot--green { background: var(--sky); animation: pulseGreen 1.8s infinite; }
@keyframes pulseGreen {
  0%   { box-shadow: 0 0 0 0 rgba(126,211,240,.5); }
  70%  { box-shadow: 0 0 0 10px rgba(126,211,240,0); }
  100% { box-shadow: 0 0 0 0 rgba(126,211,240,0); }
}

.pc-readout { display: flex; align-items: baseline; gap: 8px; margin-bottom: 16px; }
.pc-readout-value { font-family: var(--font-display); font-weight: 700; font-size: 30px; letter-spacing: -.02em; }
.pc-readout-unit { font-size: 14px; color: var(--sub); }

.pc-bars { display: flex; flex-direction: column; gap: 8px; }
.pc-bar-row { display: flex; align-items: center; gap: 10px; }
.pc-bar-label { font-family: var(--mono); font-size: 10px; color: var(--faint); width: 48px; flex-shrink: 0; }
.pc-bar-track { flex: 1; height: 8px; background: rgba(255,255,255,.08); border-radius: var(--r); overflow: hidden; }
.pc-bar-fill { display: block; height: 100%; background: var(--blue); border-radius: var(--r); transition: width var(--t-slow); }
.pc-bar-fill--teal { background: var(--ok); }

.pc-silos { display: flex; align-items: flex-end; gap: 14px; height: 96px; }
.pc-silo { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 6px; }
.pc-silo-track { width: 100%; height: 78px; background: rgba(255,255,255,.08); border-radius: var(--r); display: flex; align-items: flex-end; overflow: hidden; }
.pc-silo-fill { display: block; width: 100%; background: var(--blue); transition: height var(--t-slow); }
.pc-silo-fill--teal { background: var(--ok); }
.pc-silo-fill--amber { background: var(--warn); }
.pc-silo-label { font-family: var(--mono); font-size: 9.5px; color: var(--faint); }
.pc-silo-label--amber { color: var(--warn); }

.pc-tilt { margin-top: 4px; }
.pc-tilt-track { position: relative; height: 8px; background: rgba(255,255,255,.08); border-radius: var(--r); }
.pc-tilt-center { position: absolute; left: 50%; top: -3px; width: 2px; height: 14px; background: rgba(255,255,255,.3); transform: translateX(-50%); }
.pc-tilt-marker { position: absolute; top: -4px; width: 16px; height: 16px; border-radius: 50%; background: var(--sky); border: 2px solid var(--navy); transform: translateX(-50%); transition: left var(--t-slow); }
.pc-tilt-scale { display: flex; justify-content: space-between; font-family: var(--mono); font-size: 10px; color: var(--faint); margin-top: 8px; }

.pc-stats-row { display: flex; gap: 20px; }
.pc-stat { display: flex; flex-direction: column; gap: 4px; }
.pc-stat-label { font-family: var(--mono); font-size: 10px; letter-spacing: .06em; color: var(--faint); }
.pc-stat-value { font-family: var(--font-display); font-weight: 700; font-size: 18px; }
.pc-stat-value--teal { color: var(--ok); }

.pc-donut-row { display: flex; align-items: center; gap: 20px; }
.pc-donut {
  width: 72px; height: 72px; border-radius: 50%; flex-shrink: 0;
  background: conic-gradient(var(--ok) 0% var(--pct, 50%), rgba(255,255,255,.08) var(--pct, 50%) 100%);
  display: flex; align-items: center; justify-content: center;
  transition: background var(--t-slow);
}
.pc-donut-value {
  width: 52px; height: 52px; border-radius: 50%; background: var(--navy);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: 700; font-size: 15px; color: #fff;
}
.pc-donut-details { display: flex; flex-direction: column; gap: 10px; }
.pc-donut-details > div { display: flex; flex-direction: column; gap: 2px; }

.pc-hw-specs { display: flex; flex-wrap: wrap; gap: 8px; }
.pc-hw-specs span {
  font-family: var(--mono); font-size: 11px; color: var(--blue-pale);
  border: 1px solid var(--rule); padding: 5px 10px; border-radius: var(--r);
}

.product-card-body { padding: 24px 26px; display: flex; flex-direction: column; flex: 1; }
.product-card-body h3 { font-size: 22px; color: #fff; margin-bottom: 8px; }
.product-card-body p  { font-size: 14px; color: var(--sub); line-height: 1.6; flex: 1; }
.product-card-footer {
  margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--rule);
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
/* badge text keeps each card's accent; the tinted chip background is dropped on dark */
.product-badge {
  font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--card-accent, var(--sky)); background: transparent !important;
}
.card-link { font-size: 13px; font-weight: 600; color: var(--sky); display: flex; align-items: center; gap: 4px; transition: gap var(--t-fast), color var(--t); }
.card-link:hover { gap: 9px; color: #fff; }

/* ── Demo CTA ──────────────────────────────────────────────── */
.demo-cta-section { padding: 96px 0; border-top: 1px solid var(--line); }
.demo-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.demo-cta-text h2 { font-size: clamp(30px, 3.4vw, 44px); margin-bottom: 16px; }
.demo-cta-text p  { font-size: 17px; color: var(--blue-pale); max-width: 480px; }
.live-indicator   { display: flex; align-items: center; gap: 8px; margin-bottom: 14px; }
.live-dot {
  width: 8px; height: 8px; border-radius: 50%; background: var(--sky);
  animation: pulse 2s infinite; flex-shrink: 0;
}
@keyframes pulse {
  0%   { box-shadow: 0 0 0 0 rgba(126,211,240,.5); }
  70%  { box-shadow: 0 0 0 12px rgba(126,211,240,0); }
  100% { box-shadow: 0 0 0 0 rgba(126,211,240,0); }
}

/* ── Footer — light, same as unifiedcloudsensors.com's Contact/footer block ── */
.footer { background: var(--bg); color: var(--muted); padding: 96px 0 0; }
.footer-grid {
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 40px;
  padding-bottom: 56px; border-bottom: 1px solid var(--border);
}
.footer-brand { grid-column: span 5; display: flex; flex-direction: column; gap: 18px; }
.footer-col   { grid-column: span 3; display: flex; flex-direction: column; gap: 12px; }
.footer-col:last-child { grid-column: span 4; }
.footer-logo { display: flex; align-items: center; gap: 12px; }
.footer-logo-img { height: 28px; width: auto; }
.footer-company, .footer-col-title {
  font-family: var(--mono); font-size: 12px; letter-spacing: .16em; text-transform: uppercase;
}
.footer-company { font-size: 13px; color: var(--navy); }
.footer-col-title { color: var(--blue); }
.footer p { font-size: 14px; line-height: 1.8; }
.footer a { font-size: 14px; color: var(--muted); }
.footer a:hover { color: var(--blue); }
.footer-brand a { color: var(--ink); }
.footer-bottom {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  padding: 24px 0 48px; font-family: var(--mono); font-size: 12px; color: var(--muted);
}

/* ── Page hero (inner pages) ───────────────────────────────── */
.page-hero { position: relative; overflow: hidden; padding: 120px 0 96px; }
.page-hero-content { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 24px; }
.page-hero-content > * { animation: riseIn 600ms var(--ease) both; }
.page-hero-content > :nth-child(2) { animation-delay: 120ms; }
.page-hero-content > :nth-child(n+3) { animation-delay: 240ms; }
.page-hero h1 {
  font-size: clamp(36px, 5.2vw, 72px); line-height: 1.04; letter-spacing: -.02em;
  color: #fff; max-width: 1100px; text-wrap: balance;
}
.page-hero-sub { font-size: 17px; color: var(--blue-pale); max-width: 580px; line-height: 1.65; }
.page-hero-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }
.hero-badge {
  border: 1px solid var(--rule); border-radius: var(--r); padding: 6px 12px;
  font-family: var(--mono); font-size: 11px; letter-spacing: .06em; color: var(--blue-pale);
}

/* ── Feature cards — numbered list with top rules, like "What We Stand For" ── */
.features-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 48px 40px; }
.feature-card { display: flex; flex-direction: column; gap: 14px; padding-top: 20px; border-top: 1px solid var(--rule); }
.feature-icon { font-family: var(--mono); font-size: 12px; letter-spacing: .16em; color: var(--faint); }
.feature-card h3 { font-size: 19px; color: #fff; }
.feature-card p  { font-size: 14px; color: var(--sub); line-height: 1.6; }

/* ── Specs table ───────────────────────────────────────────── */
.specs-wrap { overflow-x: auto; border: 1px solid var(--rule); border-radius: var(--rl); }
.specs-table { width: 100%; border-collapse: collapse; min-width: 500px; }
.specs-table th {
  background: var(--shade-soft); color: var(--sky);
  font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: .16em; text-transform: uppercase;
  padding: 16px 24px; text-align: left; border-bottom: 1px solid var(--rule);
}
.specs-table td { padding: 16px 24px; font-size: 14px; border-bottom: 1px solid var(--line); vertical-align: top; }
.specs-table tr:last-child td { border-bottom: none; }
.specs-table td:first-child { font-weight: 600; color: #fff; width: 260px; }
.specs-table td:last-child  { color: var(--sub); font-family: var(--mono); font-size: 13px; }

/* ── Use case cards ────────────────────────────────────────── */
.usecase-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.usecase-card { padding: 24px 26px; border: 1px dashed var(--dash); border-radius: var(--r); }
.usecase-card h3 { font-size: 19px; color: #fff; margin-bottom: 8px; }
.usecase-card p  { font-size: 14px; color: var(--sub); line-height: 1.6; }

/* ── CTA band — like unifiedcloudsensors.com's Careers block ── */
.product-cta { padding: 120px 0; border-top: 1px solid var(--line); background: var(--shade-soft); }
.product-cta .container { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.product-cta h2 { font-size: clamp(32px, 4vw, 52px); line-height: 1.15; letter-spacing: -.01em; max-width: 900px; }
.product-cta p  { font-size: 16px; line-height: 1.75; color: var(--blue-pale); max-width: 560px; }
.product-cta-btns { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 12px; }

/* ── Compat chips ──────────────────────────────────────────── */
.compat-chips { display: flex; gap: 12px; flex-wrap: wrap; }
.compat-chip {
  border: 1px dashed var(--dash); border-radius: var(--r);
  padding: 12px 20px; font-size: 14px; font-weight: 600; color: #fff;
  display: flex; align-items: center; gap: 8px;
}
.compat-chip::before { content: '✓'; color: var(--sky); font-weight: 600; }

/* ── Demo page ─────────────────────────────────────────────── */
.demo-header { padding: 56px 0 40px; }
.demo-system-name { margin-bottom: 12px; }
.demo-header h1 { font-size: clamp(28px, 3.4vw, 44px); margin-bottom: 12px; }
.demo-status { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--sub); flex-wrap: wrap; }
.update-time { font-family: var(--mono); color: var(--sky); }

.summary-bar   { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--shade-soft); }
.summary-inner { display: grid; grid-template-columns: repeat(4, 1fr); }
.summary-item  { padding: 22px 24px; border-right: 1px solid var(--line); }
.summary-item:last-child { border-right: none; }
.summary-label { font-size: 11px; margin-bottom: 8px; }
.summary-value { font-size: 26px; font-weight: 600; color: #fff; font-family: var(--font-display); font-variant-numeric: tabular-nums; }
.summary-unit  { font-size: 13px; font-weight: 500; color: var(--sub); margin-left: 3px; }
.summary-sub   { font-size: 11px; color: var(--faint); margin-top: 4px; }
.status-ok     { color: var(--sky) !important; }

/* demo panels stay light "paper" surfaces so the Chart.js colors keep their contrast */
.demo-body { padding: 48px 0 96px; }
.demo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.demo-panel { background: var(--bg); color: var(--ink); border-radius: var(--rl); padding: 28px; }
.panel-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.panel-title  { font-size: 11px; color: var(--blue); }
.panel-badge  {
  font-family: var(--mono); font-size: 10px; letter-spacing: .1em; color: var(--blue);
  border: 1px solid rgba(71,109,184,.3); padding: 3px 8px; border-radius: var(--r);
}
.chart-container { position: relative; height: 300px; }

.sensor-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.sensor-table th {
  font-family: var(--mono); font-size: 10px; font-weight: 400; letter-spacing: .12em; text-transform: uppercase;
  color: var(--muted); padding: 8px 10px; text-align: right; border-bottom: 1px solid var(--muted2);
}
.sensor-table th:first-child { text-align: left; }
.sensor-table td { padding: 9px 10px; text-align: right; border-bottom: 1px solid var(--border); font-family: var(--mono); color: var(--ink2); }
.sensor-table td:first-child { text-align: left; font-family: var(--font); font-weight: 600; color: var(--ink); }
.sensor-table tr:last-child td { border-bottom: none; }
.sensor-table tr:hover td { background: #fff; }
.cur-val { color: var(--blue); font-weight: 700; }
.s-ok { display: inline-flex; align-items: center; gap: 4px; color: var(--ok); font-weight: 600; font-family: var(--font); font-size: 12px; }
.s-ok::before { content: '●'; font-size: 7px; }

/* ── Video section ─────────────────────────────────────────── */
.video-grid { display: grid; grid-template-columns: 1fr 340px; gap: 24px; }
.vid-main {
  aspect-ratio: 16/9; position: relative; overflow: hidden;
  border-radius: var(--rl); cursor: pointer; background: #12141A;
}
.vid-side { display: flex; flex-direction: column; gap: 24px; }
.vid-card {
  flex: 1; position: relative; overflow: hidden; min-height: 0;
  border-radius: var(--rl); cursor: pointer; background: #12141A;
}
.vid-thumb {
  position: absolute; inset: 0;
  background: #12141A center/cover no-repeat;
  transition: transform 500ms var(--ease);
}
.vid-main:hover .vid-thumb, .vid-card:hover .vid-thumb { transform: scale(1.045); }
.vid-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 1; }
.vid-play-btn {
  width: 64px; height: 64px; border-radius: 50%;
  border: 1px solid rgba(220,229,244,.5); background: rgba(12,13,16,.35);
  display: flex; align-items: center; justify-content: center;
  transition: transform var(--t), border-color var(--t);
}
.vid-play-btn::after {
  content: ''; width: 0; height: 0;
  border-top: 10px solid transparent; border-bottom: 10px solid transparent;
  border-left: 17px solid var(--sky); margin-left: 5px;
}
.vid-play-btn--sm { width: 44px; height: 44px; }
.vid-play-btn--sm::after { border-top-width: 7px; border-bottom-width: 7px; border-left-width: 12px; margin-left: 3px; }
.vid-main:hover .vid-play-btn, .vid-card:hover .vid-play-btn { transform: scale(1.08); border-color: var(--sky); }
.vid-placeholder-text {
  position: absolute; bottom: 14px; left: 16px; z-index: 1;
  font-family: var(--mono); font-size: 11px; letter-spacing: .06em; color: var(--faint);
}

/* ── ROI Calculator (currently held, see TASKS.md Task 19) ─── */
.roi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.roi-inputs { display: flex; flex-direction: column; gap: 22px; }
.roi-field label { font-size: 14px; color: var(--blue-pale); display: block; margin-bottom: 9px; line-height: 1.4; }
.roi-input-row { display: flex; align-items: center; gap: 12px; }
.roi-input {
  width: 150px; height: 48px; padding: 0 14px;
  border: 1px solid var(--rule); border-radius: var(--r); background: transparent;
  font-size: 18px; font-weight: 600; color: #fff; font-family: var(--mono);
  font-variant-numeric: tabular-nums; transition: border-color var(--t-fast);
}
.roi-input:focus { outline: none; border-color: var(--sky); }
.roi-unit { font-size: 13px; color: var(--sub); white-space: nowrap; }
.roi-results {
  background: var(--shade-soft); border: 1px solid var(--rule); border-radius: var(--rl);
  padding: 36px; position: sticky; top: 92px;
}
.roi-result-title { margin-bottom: 24px; }
.rrow { display: flex; justify-content: space-between; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--line); gap: 24px; }
.rrow:last-of-type { border-bottom: none; }
.rlabel { font-size: 14px; color: var(--sub); line-height: 1.4; }
.rval { font-size: 17px; font-weight: 600; font-family: var(--mono); color: #fff; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rrow.highlight .rlabel { color: var(--blue-pale); font-weight: 600; }
.rrow.highlight .rval, .rrow.payback .rval { font-size: 24px; color: var(--sky); }
.roi-note { font-size: 12px; color: var(--faint); margin-top: 28px; line-height: 1.65; }

/* ── Steps grid ────────────────────────────────────────────── */
.steps-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 40px; margin-top: 40px; }
.step-card { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 1px solid var(--rule); }
.step-num { font-family: var(--mono); font-size: 12px; letter-spacing: .16em; color: var(--faint); }
.step-card h3 { font-size: 19px; }
.step-card p { font-size: 14px; color: var(--sub); line-height: 1.6; }

/* ── Video embed placeholder ────────────────────────────────── */
.vid-embed-wrap { margin-top: 40px; }
.vid-placeholder {
  border: 1px dashed var(--dash); border-radius: var(--rl); height: 360px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--mono); font-size: 12px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--faint); cursor: pointer; transition: border-color var(--t), color var(--t);
}
.vid-placeholder:hover { border-color: var(--sky); color: var(--sky); }

/* ── Events empty state ─────────────────────────────────────── */
.events-empty-state {
  border: 1px dashed var(--dash); border-radius: var(--rl);
  padding: 40px 32px; text-align: center; color: var(--sub); margin-top: 24px;
}

/* ── Newsletter section ─────────────────────────────────────── */
.newsletter-section { padding: 96px 0; border-top: 1px solid var(--line); }
.newsletter-inner {
  max-width: 1400px; margin: 0 auto; padding: 0 56px;
  display: grid; grid-template-columns: 1fr auto; gap: 32px 64px; align-items: start;
}
.newsletter-inner h2 { margin-bottom: 8px; }
.newsletter-inner > div > p { color: var(--blue-pale); }
.newsletter-note { color: var(--faint); font-size: .85rem; grid-column: 1 / -1; }
.newsletter-form { display: flex; gap: 12px; align-self: center; }
.newsletter-input {
  height: 48px; padding: 0 16px; width: 260px;
  border: 1px solid var(--rule); border-radius: var(--r); background: transparent;
  color: #fff; font-family: var(--font); font-size: 14px;
}
.newsletter-input::placeholder { color: var(--faint); }
.newsletter-input:focus { outline: none; border-color: var(--sky); }

/* ── Contact / dealer form — light "paper" panel, like unifiedcloudsensors.com's modals ── */
.contact-form {
  display: flex; flex-direction: column; gap: 20px; max-width: 720px;
  background: var(--bg); color: var(--ink); border-radius: var(--rl); padding: 40px;
}
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-field { display: flex; flex-direction: column; gap: 8px; }
.form-field label {
  font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--blue);
}
.form-field input, .form-field select, .form-field textarea {
  height: 48px; padding: 0 16px; border: 1px solid var(--border); border-radius: var(--r);
  font-size: 14px; font-family: var(--font); color: var(--ink); background: #fff;
  transition: border-color var(--t);
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus {
  outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(71,109,184,.15);
}
.form-field textarea { height: auto; padding: 14px 16px; resize: vertical; min-height: 120px; }
.form-note { font-size: 13px; color: var(--muted); }
.dealer-form-status { font-size: 14px; font-weight: 600; color: var(--blue); min-height: 1.4em; }
.dealer-form-status.is-error { color: var(--alarm); }

/* ── Solutions / industries / demo-hub cards — dashed flat cards ── */
.solutions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; margin-top: 40px; }
.sol-card, .hw-card {
  display: flex; flex-direction: column; padding: 28px 26px;
  border: 1px dashed var(--dash); border-radius: var(--rl); color: var(--blue-pale);
  transition: border-color var(--t), transform var(--t);
}
.sol-card:hover { border-color: var(--sky); border-style: solid; transform: translateY(-2px); color: var(--blue-pale); }
.sol-icon, .hw-icon {
  width: 44px; height: 44px; border-radius: var(--r);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  font-family: var(--mono); font-weight: 500; font-size: 12px; color: #fff;
  letter-spacing: -.3px; margin-bottom: 20px;
}
.sol-icon { background: var(--blue); }
.sol-icon, .hw-icon { box-shadow: inset 0 0 0 1px var(--rule); }  /* keeps navy/blue-dark fills visible on the navy ground */
.sol-card h3, .hw-card h3 { font-size: 22px; color: #fff; margin-bottom: 8px; }
.sol-card p  { color: var(--sub); font-size: 14px; line-height: 1.6; flex: 1; margin-bottom: 24px; }
.sol-footer  { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--rule); }
.sol-product { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--sky); }
.sol-link { font-size: 13px; font-weight: 600; color: var(--sky); }

.industry-mini-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 40px; }
.industry-mini-card {
  display: flex; flex-direction: column; align-items: flex-start; gap: 18px;
  padding: 24px 22px; border: 1px dashed var(--dash); border-radius: var(--rl);
  transition: border-color var(--t), transform var(--t);
}
.industry-mini-card:hover { border-color: var(--sky); border-style: solid; transform: translateY(-2px); }
.industry-mini-icon {
  width: 44px; height: 44px; border-radius: var(--r); border: 1px solid var(--rule);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.industry-mini-card .industry-mini-icon { background: transparent !important; color: var(--sky) !important; }
.industry-mini-name { font-family: var(--font-display); font-size: 17px; font-weight: 600; color: #fff; line-height: 1.3; }

/* ── Hardware catalog ──────────────────────────────────────── */
.hardware-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; margin-top: 40px; }
.hw-card > p { color: var(--sub); font-size: 14px; line-height: 1.6; margin-bottom: 20px; }
.hw-sku-list { border-top: 1px solid var(--rule); padding-top: 16px; display: flex; flex-direction: column; gap: 12px; }
.hw-sku { display: flex; gap: 12px; align-items: baseline; }
.hw-sku-code { font-family: var(--mono); font-size: 11px; color: var(--sky); white-space: nowrap; flex-shrink: 0; }
.hw-sku-info { flex: 1; display: flex; flex-direction: column; }
.hw-sku-name { font-size: 14px; font-weight: 600; color: #fff; }
.hw-sku-spec { font-size: 12px; color: var(--sub); margin-top: 1px; }
.hw-sku-spec a { color: var(--sky); font-weight: 600; }

/* ── Responsive ────────────────────────────────────────────── */
@media (max-width: 900px) {
  .demo-grid { grid-template-columns: 1fr; }
  .summary-inner { grid-template-columns: 1fr 1fr; }
  .summary-item { border-right: none; border-bottom: 1px solid var(--line); }
  .summary-item:nth-child(odd) { border-right: 1px solid var(--line); }
  .video-grid { grid-template-columns: 1fr; }
  .vid-side { flex-direction: row; }
  .vid-card { aspect-ratio: 16/9; }
  .roi-grid { grid-template-columns: 1fr; }
  .roi-results { position: static; }
  .industry-mini-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
  .container, .newsletter-inner { padding: 0 20px; }
  .nav-links a:not(.nav-cta):not(.lang-switch-item) { display: none; }
  .hero { padding-top: 120px; }
  .hero-tiles { grid-template-columns: 1fr; margin-top: 64px; padding-bottom: 64px; }
  .page-hero { padding: 80px 0 64px; }
  .section { padding: 64px 0 80px; }
  .product-cta { padding: 80px 0; }
  .trust-grid { flex-direction: column; gap: 24px; }
  .footer { padding-top: 64px; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-brand, .footer-col, .footer-col:last-child { grid-column: auto; }
  .contact-form { padding: 24px; }
}
@media (max-width: 768px) {
  .stats-inner { grid-template-columns: 1fr; }
  .stat-item   { border-right: none; border-bottom: 1px solid var(--line); }
  .stat-item:last-child { border-bottom: none; }
  .flow-grid { grid-template-columns: 1fr; gap: 24px; }
  .flow-arrow { transform: rotate(90deg); padding-top: 0; text-align: center; }
  .demo-cta-inner { flex-direction: column; align-items: flex-start; }
  .vid-side { flex-direction: column; }
  .newsletter-inner { grid-template-columns: 1fr; }
  .newsletter-form { flex-direction: column; }
  .newsletter-input { width: 100%; }
}
@media (max-width: 640px) { .form-row { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  .hero-video-slide { transition: none; }
  .hero-content > *, .page-hero-content > * { animation: none; }
}

/* ── Homepage Solutions — photo tiles, same as unifiedcloudsensors.com ── */
.section-header--split { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: 40px; }
.section-header-text { display: flex; flex-direction: column; gap: 14px; }
.section-header-link { font-size: 14px; color: var(--sky); flex-shrink: 0; padding-bottom: 4px; border-bottom: 1px solid transparent; }
.section-header-link:hover { color: var(--sky); border-bottom-color: var(--sky); }
.solution-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.solution-tile { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; color: var(--blue-pale); }
.solution-tile:hover { color: var(--blue-pale); }
.solution-tile-bg { position: absolute; inset: 0; background: #12141A; transition: transform 500ms var(--ease); }
.solution-tile-bg img { width: 100%; height: 100%; object-fit: cover; }
.solution-tile:hover .solution-tile-bg { transform: scale(1.045); }
.solution-tile-scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(12,13,16,0) 45%, rgba(12,13,16,.92) 100%); }
.solution-tile-label { position: absolute; left: 0; right: 0; bottom: 0; padding: 24px 26px; }
.solution-tile-kicker { font-family: var(--mono); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--blue); }
.solution-tile-kicker--sky { color: var(--sky); }
.solution-tile-name { display: block; margin-top: 6px; font-family: var(--font-display); font-weight: 600; font-size: 22px; color: #fff; }
.solution-tile-label p { margin-top: 6px; font-size: 13px; line-height: 1.5; color: var(--sub); }
@media (max-width: 860px) {
  .section-header--split { flex-direction: column; align-items: flex-start; }
  .solution-tiles { grid-template-columns: 1fr; }
}

/* ── Industries — photo tiles (homepage + /industries/) ───── */
.industry-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.industry-tile { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: var(--r); color: var(--blue-pale); isolation: isolate; }
.industry-tile:hover { color: var(--blue-pale); }
.industry-tile-bg { position: absolute; inset: 0; background: #12141A; transition: transform 700ms var(--ease); }
.industry-tile-bg img { width: 100%; height: 100%; object-fit: cover; }
.industry-tile:hover .industry-tile-bg { transform: scale(1.06); }
.industry-tile-scrim {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(12,13,16,.35) 0%, rgba(12,13,16,0) 30%, rgba(12,13,16,.55) 60%, rgba(12,13,16,.94) 100%);
  transition: background var(--t-slow);
}
.industry-tile-num {
  position: absolute; top: 20px; left: 22px;
  font-family: var(--mono); font-size: 12px; letter-spacing: .16em; color: var(--sky);
}
.industry-tile-label { position: absolute; left: 0; right: 0; bottom: 0; padding: 24px 22px; display: flex; flex-direction: column; gap: 8px; }
/* Sky monoline that draws in on hover */
.industry-tile-label::before {
  content: ''; display: block; width: 28px; height: 2px; background: var(--sky); margin-bottom: 6px;
  transition: width var(--t-slow);
}
.industry-tile:hover .industry-tile-label::before { width: 100%; }
.industry-tile-name { font-family: var(--font-display); font-weight: 600; font-size: 21px; line-height: 1.2; color: #fff; }
.industry-tile-tagline {
  font-size: 13px; line-height: 1.5; color: var(--sub);
  max-height: 0; opacity: 0; overflow: hidden;
  transition: max-height var(--t-slow), opacity var(--t-slow);
}
.industry-tile:hover .industry-tile-tagline, .industry-tile:focus-visible .industry-tile-tagline { max-height: 60px; opacity: 1; }
.industry-tile-route { font-family: var(--mono); font-size: 11px; letter-spacing: .08em; color: var(--sky); }
@media (hover: none) { .industry-tile-tagline { max-height: none; opacity: 1; } }

/* industry page hero — that industry's photo behind the headline */
.page-hero--photo { padding: 160px 0 120px; }
.page-hero-bg { position: absolute; inset: 0; z-index: 0; }
.page-hero-bg img { width: 100%; height: 100%; object-fit: cover; }
.page-hero-bg::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(12,13,16,.60) 0%, rgba(12,13,16,.84) 55%, var(--navy) 100%);
}

@media (max-width: 1100px) { .industry-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .page-hero--photo { padding: 96px 0 72px; } }
@media (max-width: 520px) {
  .industry-tiles { gap: 12px; }
  .industry-tile { aspect-ratio: 4 / 5; }
  .industry-tile-name { font-size: 17px; }
  .industry-tile-label { padding: 16px 14px; }
}
@media (max-width: 420px) { .nav-logo-text { display: none; } }

/* ── Product story (presentation content: /sensweight/ + /industries/beltscale/) ── */
.compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.compare-col { padding: 28px 30px; border-radius: var(--r); }
.compare-col--without { border: 1px dashed var(--dash); }
.compare-col--with { border: 1px solid var(--rule); border-top: 2px solid var(--sky); background: var(--shade-soft); }
.compare-label { font-family: var(--mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--faint); margin-bottom: 18px; }
.compare-col--with .compare-label { color: var(--sky); }
.compare-list { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.compare-list li { position: relative; padding-left: 26px; font-size: 15px; line-height: 1.6; color: var(--blue-pale); }
.compare-list li::before { position: absolute; left: 0; top: 0; font-family: var(--mono); font-weight: 600; }
.compare-col--without li::before { content: '×'; color: var(--alarm); }
.compare-col--with li::before { content: '✓'; color: var(--sky); }

.story-total { display: flex; flex-wrap: wrap; gap: 40px; margin-top: 40px; padding: 28px 32px; border: 1px solid var(--rule); border-left: 2px solid var(--sky); border-radius: var(--r); }
.story-total-main, .story-total-part { display: flex; flex-direction: column; gap: 6px; }
.story-total-main { margin-right: auto; }
.story-total-label { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--sub); }
.story-total-value { font-family: var(--font-display); font-size: clamp(30px, 3.4vw, 44px); font-weight: 700; color: #fff; line-height: 1.05; }
.story-total-part-value { font-family: var(--font-display); font-size: 24px; font-weight: 600; color: #fff; }

.story-evidence-body { display: flex; flex-direction: column; gap: 16px; max-width: 720px; }
.story-evidence-body p { font-size: 17px; line-height: 1.7; color: var(--blue-pale); }
.story-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 56px; border-top: 1px solid var(--rule); }
.story-stat { display: flex; flex-direction: column; gap: 6px; padding: 28px 32px 0 0; }
.story-stat-value { font-family: var(--font-display); font-size: clamp(32px, 4vw, 52px); font-weight: 700; color: #fff; line-height: 1.05; }
.story-stat-label { font-size: 14px; color: var(--sub); }

.chain-list { display: flex; flex-direction: column; gap: 28px; }
.chain-title { font-family: var(--mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--faint); margin-bottom: 12px; }
.chain-nodes { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.chain-node { display: flex; align-items: center; gap: 10px; font-family: var(--mono); font-size: 13px; color: var(--blue-pale); }
.chain-node:not(.chain-node--end)::after { content: '→'; color: var(--faint); }
.chain-node > span { padding: 8px 14px; border: 1px solid var(--rule); border-radius: var(--r); }
.chain-node--end > span { border-color: var(--sky); color: var(--sky); }

.story-answers { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-top: 48px; }
.story-answers li { position: relative; padding-left: 26px; font-size: 15px; color: var(--blue-pale); }
.story-answers li::before { content: '✓'; position: absolute; left: 0; font-family: var(--mono); font-weight: 600; color: var(--sky); }
.story-note { margin-top: 32px; max-width: 720px; padding-left: 20px; border-left: 2px solid var(--sky); font-family: var(--font-display); font-size: 19px; font-weight: 600; line-height: 1.45; color: #fff; }

.story-math .specs-wrap { max-width: 720px; }
.math-table td:first-child { width: auto; }
.math-table td:last-child { text-align: right; }
.math-row--sub td:first-child { padding-left: 44px; font-weight: 400; color: var(--sub); }
.math-row--strong td:first-child { color: var(--sky); }
.math-row--strong td:last-child { font-family: var(--font-display); font-size: 17px; font-weight: 600; color: #fff; }

.product-cta .pilot-points { width: 100%; margin: 16px 0 8px; }

@media (max-width: 860px) {
  .compare-grid { grid-template-columns: 1fr; }
  .story-stats { grid-template-columns: 1fr; }
  .story-stat { padding: 20px 0 0; }
  .story-total { gap: 24px; }
}
@media (max-width: 520px) {
  .compare-col { padding: 22px 20px; }
  .chain-node { white-space: normal; }
  .math-row--sub td:first-child { padding-left: 32px; }
}

/* ── Video blocks (videos.js) ───────────────────────────────── */
.vid-feature { margin: 0; max-width: 960px; }
.vid-frame {
  aspect-ratio: 16/9; position: relative; overflow: hidden;
  border-radius: var(--rl); cursor: pointer; background: #12141A;
}
.vid-frame:hover .vid-thumb { transform: scale(1.045); }
.vid-frame:hover .vid-play-btn { transform: scale(1.08); border-color: var(--sky); }
.vid-frame:focus-visible, .vid-main:focus-visible, .vid-card:focus-visible { outline: 2px solid var(--sky); outline-offset: 3px; }
.vid-caption { display: flex; flex-direction: column; gap: 4px; margin-top: 14px; }
.vid-caption strong { font-family: var(--font-display); font-size: 17px; font-weight: 600; color: #fff; }
.vid-caption span { font-size: 14px; color: var(--sub); line-height: 1.55; }
.vid-grid-title { font-family: var(--mono); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--faint); margin: 64px 0 20px; }
.vid-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.vid-tile { margin: 0; }
.vid-tile .vid-caption strong { font-size: 15px; }
.vid-tile .vid-caption span { font-size: 13px; }
.vid-label {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 28px 16px 12px;
  font-family: var(--font-display); font-size: 15px; font-weight: 600; color: #fff;
  background: linear-gradient(180deg, transparent, rgba(12,13,16,.8));
}
@media (max-width: 1000px) { .vid-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .vid-tiles { grid-template-columns: 1fr; } }

/* ── Legal / long-form prose (privacy policy) ──────────────── */
.legal { max-width: 760px; }
.legal-updated { font-family: var(--mono); font-size: 12px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--sub); }
.legal-lede { font-size: 17px; line-height: 1.75; color: var(--blue-pale); margin-top: 24px; }
.legal-section { margin-top: 48px; }
.legal-section h2 { font-size: 20px; color: #fff; letter-spacing: -.005em;
  padding-bottom: 12px; border-bottom: 1px solid var(--rule); }
.legal-section p, .legal-section li { font-size: 15px; line-height: 1.8; color: var(--sub); }
.legal-section p { margin-top: 16px; }
.legal-section ul { margin-top: 16px; padding-left: 20px; }
.legal-section li + li { margin-top: 8px; }
.legal-section a { color: var(--sky); }
.legal-section a:hover { text-decoration: underline; }
.legal-section strong { color: var(--blue-pale); font-weight: 600; }
.legal-address { font-size: 15px; line-height: 1.9; }
.legal-table { width: 100%; border-collapse: collapse; margin-top: 16px; font-size: 14px; }
.legal-table th, .legal-table td { text-align: left; padding: 10px 12px;
  border-bottom: 1px solid var(--rule); vertical-align: top; color: var(--sub); }
.legal-table th { font-family: var(--mono); font-size: 11px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--blue-pale); font-weight: 500; }
.legal-note { margin-top: 16px; padding: 16px 18px; border-radius: var(--r);
  background: var(--shade-soft); border: 1px dashed var(--dash);
  font-size: 14px; line-height: 1.7; color: var(--blue-pale); }
@media (max-width: 640px) { .legal-table, .legal-table tr, .legal-table td, .legal-table th { display: block; }
  .legal-table th { border: 0; padding-bottom: 2px; }
  .legal-table td { border-bottom: 0; padding-top: 2px; }
  .legal-table tr { border-bottom: 1px solid var(--rule); padding: 10px 0; } }
