@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap");

:root {
  --bg: #f7f8fc;
  --surface: #ffffff;
  --text: #0b1022;
  --muted: #697088;
  --line: #e7e9f1;
  --blue: #365cff;
  --blue-2: #6f87ff;
  --blue-soft: #eef1ff;
  --dark: #080d1c;
  --dark-2: #0f1630;
  --success: #2dcc82;
  --radius: 22px;
  --shadow: 0 24px 70px rgba(20, 32, 84, .10);
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Source Sans 3", "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--surface);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
svg { display: block; }
button, input, textarea { font: inherit; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.skip-link {
  position: fixed; left: 16px; top: -60px; z-index: 9999;
  background: #fff; padding: 10px 14px; border-radius: 8px;
}
.skip-link:focus { top: 16px; }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 100;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(13,22,55,.08);
  transition: .25s ease;
}
.site-header.scrolled {
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-color: rgba(13,22,55,.08);
}
.nav-wrap { height: 104px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: -.03em; font-size: 21px; }
.brand-mark { width: 36px; height: 36px; color: var(--blue); }
.nav { display: flex; align-items: center; gap: 31px; font-size: 14px; font-weight: 650; color: #363d55; }
.nav a { transition: color .2s; }
.nav a:hover { color: var(--blue); }
.nav-cta {
  border: 1px solid #d9deef; border-radius: 999px; padding: 10px 16px;
  background: rgba(255,255,255,.7);
}
.nav-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.nav-toggle span { display: block; width: 24px; height: 2px; background: var(--text); margin: 5px; }

.hero {
  position: relative; overflow: hidden; padding: 150px 0 90px;
  background:
    radial-gradient(circle at 80% 20%, rgba(73,102,255,.14), transparent 32%),
    linear-gradient(180deg, #fbfcff 0%, #fff 100%);
}
.hero-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(30,45,100,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(30,45,100,.04) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.75), transparent 85%);
  pointer-events: none;
  animation: grid-drift 22s linear infinite alternate;
}
.hero-layout { display: grid; grid-template-columns: 1.02fr .98fr; gap: 55px; align-items: center; position: relative; }
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--blue); font-weight: 760; font-size: 12px; letter-spacing: .1em; text-transform: uppercase;
}
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 5px rgba(45,204,130,.12); animation: live-pulse 2.4s ease-out infinite; }
h1, h2, h3, h4 { font-family: Outfit, "Segoe UI", sans-serif; margin-top: 0; }
p { margin-top: 0; }
h1 {
  margin: 22px 0 24px; font-size: clamp(46px, 5.4vw, 76px); line-height: .98;
  letter-spacing: -.065em; max-width: 730px;
}
h1 span { color: var(--blue); }
.hero-lead { font-size: 19px; line-height: 1.65; color: var(--muted); max-width: 620px; }
.hero-actions { display: flex; gap: 12px; margin: 32px 0 40px; flex-wrap: wrap; }
.btn {
  min-height: 50px; padding: 0 22px; border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-weight: 720; font-size: 14px;
  transition: transform .2s, box-shadow .2s, background .2s;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--blue); color: white; box-shadow: 0 13px 30px rgba(54,92,255,.28); }
.btn-primary:hover { box-shadow: 0 17px 35px rgba(54,92,255,.34); }
.btn-ghost { border: 1px solid var(--line); background: rgba(255,255,255,.7); }
.btn svg, .text-link svg, .platform-link svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.hero-proof { display: flex; align-items: flex-start; gap: 34px; }
.hero-proof div { display: grid; }
.hero-proof strong { font-size: 23px; letter-spacing: -.04em; }
.hero-proof span { color: var(--muted); font-size: 12px; margin-top: 2px; }

.hero-visual { min-height: 560px; position: relative; display: grid; place-items: center; }
.glow {
  position: absolute; width: 430px; height: 430px; border-radius: 50%;
  background: radial-gradient(circle, rgba(79,106,255,.25), rgba(79,106,255,0) 67%);
  filter: blur(10px);
}
.dashboard-card {
  width: min(100%, 540px); position: relative; z-index: 2;
  background: rgba(255,255,255,.92); border: 1px solid rgba(194,203,235,.75);
  border-radius: 22px; box-shadow: 0 45px 100px rgba(32,54,140,.18);
  overflow: hidden; transform: perspective(1200px) rotateY(-4deg) rotateX(2deg);
}
.dash-top {
  height: 46px; padding: 0 18px; display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid #edf0f7; background: #fbfcff;
}
.mini-brand { font-weight: 800; font-size: 12px; display: flex; align-items: center; gap: 8px; }
.mini-brand span { width: 18px; height: 18px; border: 5px solid var(--blue); border-radius: 6px; }
.dash-status { font-size: 10px; color: #72798e; display: flex; gap: 6px; align-items: center; }
.dash-status i { width: 6px; height: 6px; background: var(--success); border-radius: 50%; }
.dash-body { padding: 20px; }
.dash-title-row { display: flex; justify-content: space-between; align-items: center; }
.dash-title-row small { color: #8990a5; font-size: 9px; }
.dash-title-row h3 { margin: 2px 0 0; font-size: 17px; }
.dash-chip { font-size: 9px; font-weight: 700; color: var(--blue); background: var(--blue-soft); border-radius: 999px; padding: 6px 9px; }
.dash-metrics { margin: 18px 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.metric { border: 1px solid #edf0f6; border-radius: 11px; padding: 11px; display: grid; gap: 2px; }
.metric span { color: #858da3; font-size: 8px; }
.metric strong { font-size: 18px; letter-spacing: -.04em; }
.metric em { font-style: normal; font-size: 8px; color: #34a574; }
.dash-chart { border: 1px solid #edf0f6; border-radius: 11px; padding: 12px 12px 4px; }
.chart-labels { display: flex; justify-content: space-between; font-size: 8px; color: #8b92a6; }
.dash-chart svg { width: 100%; height: 115px; }
.gridline { stroke: #eef1f7; stroke-width: 1; fill: none; }
.chart-area { fill: url(#chartFill); }
.chart-line { stroke: var(--blue); stroke-width: 2.5; fill: none; stroke-linecap: round; }
.events { margin-top: 10px; display: grid; gap: 7px; }
.event { display: grid; grid-template-columns: 31px 1fr auto; align-items: center; gap: 8px; border: 1px solid #eef0f5; padding: 7px; border-radius: 10px; }
.event-icon { width: 31px; height: 31px; border-radius: 8px; display: grid; place-items: center; color: white; font-size: 8px; font-weight: 800; }
.event-icon.qr { background: var(--blue); }
.event-icon.plate { background: #151d3a; }
.event div { display: grid; }
.event strong { font-size: 9px; }
.event small { color: #8b92a6; font-size: 7px; }
.event b { color: #2e9b6e; background: #ebfbf4; font-size: 7px; padding: 4px 7px; border-radius: 999px; }

.floating-card {
  position: absolute; z-index: 3; background: white; border: 1px solid #e7eaf4;
  border-radius: 13px; padding: 10px 13px; display: flex; align-items: center; gap: 10px;
  box-shadow: 0 18px 45px rgba(31,48,110,.14);
}
.floating-card div { display: grid; }
.floating-card small { color: #9298aa; font-size: 8px; }
.floating-card strong { font-size: 10px; }
.fc-one { left: -10px; top: 110px; }
.fc-two { right: -18px; bottom: 72px; }
.pulse-icon, .scan-icon { width: 27px; height: 27px; border-radius: 8px; position: relative; background: var(--blue-soft); }
.pulse-icon:after { content:""; position:absolute; inset:8px; border-radius:50%; background:var(--success); box-shadow:0 0 0 4px rgba(45,204,130,.16); }
.scan-icon:before, .scan-icon:after { content:""; position:absolute; border:2px solid var(--blue); width:8px; height:8px; }
.scan-icon:before { left:5px; top:5px; border-right:0; border-bottom:0; }
.scan-icon:after { right:5px; bottom:5px; border-left:0; border-top:0; }

.logo-strip { border-top: 1px solid #f0f1f6; border-bottom: 1px solid #f0f1f6; padding: 24px 0; background: #fff; }
.logo-strip .container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.logo-strip p { margin: 0; font-size: 12px; color: #8c92a4; }
.capability-row { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; color: #3f465d; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .055em; }
.capability-row i { width: 3px; height: 3px; background: #bdc2d0; border-radius: 50%; }

.section { padding: 110px 0; }
.section-heading { max-width: 790px; margin: 0 auto 55px; text-align: center; }
.section-heading.align-left { text-align: left; margin: 0; }
.section-heading h2 { margin: 14px 0 17px; font-size: clamp(36px, 4.5vw, 56px); line-height: 1.05; letter-spacing: -.05em; }
.section-heading p { color: var(--muted); font-size: 17px; max-width: 710px; margin: 0 auto; }
.section-heading.align-left p { margin-left: 0; }

.platform-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.feature-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; background: white; overflow: hidden; }
.feature-card.large { grid-column: 1/-1; padding: 0; display: grid; grid-template-columns: 1.05fr .95fr; min-height: 440px; background: linear-gradient(135deg,#fbfcff,#f4f6ff); }
.feature-copy { padding: 48px; align-self: center; }
.card-kicker { color: var(--blue); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.feature-card h3 { margin: 12px 0; font-size: 25px; letter-spacing: -.035em; }
.feature-card p { color: var(--muted); }
.clean-list { list-style: none; padding: 0; margin: 25px 0 0; display: grid; gap: 10px; }
.clean-list li { position: relative; padding-left: 24px; color: #464e65; font-size: 14px; }
.clean-list li:before { content:"✓"; position:absolute; left:0; top:0; color: var(--blue); font-weight: 900; }
.icon-box { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; background: var(--blue-soft); color: var(--blue); }
.icon-box svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.rule-builder {
  align-self: center; justify-self: center; width: min(88%, 390px); background: #fff;
  border-radius: 17px; border: 1px solid #e6e9f3; padding: 21px; box-shadow: var(--shadow);
}
.rb-title { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #eef0f6; padding-bottom:14px; margin-bottom:14px; font-weight:700; font-size:13px; }
.rb-title small { color:#2a9b6d; background:#eafaf3; border-radius:999px; padding:5px 8px; font-size:7px; letter-spacing:.06em; }
.rb-row { display:grid; grid-template-columns:30px 1fr 25px; gap:10px; align-items:center; font-size:12px; color:#434a60; }
.rb-row i { font-style:normal; width:30px; height:30px; border-radius:9px; background:#f1f3ff; color:var(--blue); display:grid; place-items:center; font-weight:800; }
.rb-row b { color:#2dab78; }
.rb-line { height:18px; border-left:1px dashed #ccd2e4; margin-left:15px; }
.rb-result { margin-top:17px; background:#0e1734; color:white; border-radius:11px; padding:12px 14px; display:flex; justify-content:space-between; align-items:center; }
.rb-result span { color:#9da8c8; font-size:9px; }
.rb-result strong { font-size:11px; color:#6fe0aa; }

.section-dark { background: #f4f6fb; color: var(--text); position: relative; overflow: hidden; }
.section-dark:before { content:none; }
.section-heading.light p { color: var(--muted); }
.section-dark .eyebrow { color: var(--blue); }
.section-dark h2, .section-dark h3 { color: var(--text); }
.solution-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:14px; position:relative; }
.solution-card { position:relative; background:#fff; border:1px solid var(--line); border-radius:16px; padding:28px; min-height:250px; transition:border-color .2s, box-shadow .2s, transform .2s; }
.solution-card:hover { transform: translateY(-4px); border-color: #c9d4ff; box-shadow: 0 16px 36px rgba(32,54,140,.08); }
.solution-card:hover { border-color:#c9d4ff; box-shadow:0 16px 40px rgba(32,54,140,.08); transform:translateY(-2px); }
.solution-no { position:absolute; right:22px; top:22px; color:#9aa3b8; font-size:11px; font-weight:700; letter-spacing:.06em; }
.solution-icon { width:48px; height:48px; border-radius:12px; background:#eef2ff; color:var(--blue); display:grid; place-items:center; }
.solution-icon svg { width:24px; fill:none; stroke:currentColor; stroke-width:1.55; stroke-linecap:round; stroke-linejoin:round; }
.solution-card h3 { margin:24px 0 10px; font-size:20px; }
.solution-card p { color:var(--muted); font-size:15px; margin:0; }

.integrations-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:75px; align-items:center; }
.text-link { margin-top:26px; display:inline-flex; align-items:center; gap:8px; color:var(--blue); font-weight:750; font-size:14px; }
.integration-map {
  position:relative; height:470px; overflow:hidden; border:1px solid var(--line); border-radius:28px;
  background:
    radial-gradient(closest-side, rgba(54,92,255,.14), transparent) center / 70% 70% no-repeat,
    radial-gradient(circle at 1px 1px, #dbe1f2 1px, transparent 0) 0 0 / 20px 20px,
    linear-gradient(180deg, #fcfdff, #f3f6fe);
  box-shadow:0 30px 70px -40px rgba(20,32,84,.45);
}
.connections { position:absolute; inset:0; width:100%; height:100%; z-index:1; }
.connections path { fill:none; vector-effect:non-scaling-stroke; }
.connections .rails path { stroke:#d5ddf4; stroke-width:1.5; }
.connections .pulses path {
  stroke:var(--blue); stroke-width:2.5; stroke-linecap:round; stroke-dasharray:9 91; stroke-dashoffset:9;
  animation:integration-pulse 3.2s cubic-bezier(.45,0,.55,1) infinite;
}
.connections .pulses path:nth-child(2) { animation-delay:.55s; }
.connections .pulses path:nth-child(3) { animation-delay:1.1s; }
.connections .pulses path:nth-child(4) { animation-delay:1.65s; }
.connections .pulses path:nth-child(5) { animation-delay:2.2s; }
.connections .pulses path:nth-child(6) { animation-delay:2.75s; }
@keyframes integration-pulse { 0% { stroke-dashoffset:9; opacity:0; } 12% { opacity:1; } 88% { opacity:1; } 100% { stroke-dashoffset:-91; opacity:0; } }
.hub {
  position:absolute; z-index:3; left:50%; top:50%; width:140px; height:140px; translate:-50% -50%;
  display:grid; place-content:center; gap:4px; text-align:center; color:#fff; border-radius:36px;
  background:linear-gradient(145deg,#4f70ff,#2643e6);
  box-shadow:0 28px 60px -12px rgba(54,92,255,.55), inset 0 1px 0 rgba(255,255,255,.25);
}
.hub::before, .hub::after {
  content:""; position:absolute; inset:-14px; border:1px solid rgba(54,92,255,.35); border-radius:46px;
  animation:hub-ring 3.2s ease-out infinite;
}
.hub::after { animation-delay:1.6s; }
@keyframes hub-ring { from { scale:1; opacity:.9; } to { scale:1.45; opacity:0; } }
.hub span { font-family:Outfit, sans-serif; font-weight:800; font-size:32px; letter-spacing:-.04em; line-height:1; }
.hub small { font-size:9px; font-weight:700; opacity:.78; text-transform:uppercase; letter-spacing:.14em; }
.orbit-list { margin:0; padding:0; list-style:none; }
.orbit {
  position:absolute; z-index:2; left:var(--x); top:var(--y); translate:-50% -50%; width:172px;
  display:grid; grid-template-columns:36px 1fr; align-items:center; column-gap:10px; row-gap:1px;
  padding:10px 12px; background:#fff; border:1px solid #e1e6f3; border-radius:14px;
  box-shadow:0 1px 2px rgba(20,30,70,.05), 0 14px 30px -14px rgba(20,30,70,.28);
  transition:border-color .25s ease, box-shadow .25s ease;
}
.orbit:hover { border-color:var(--accent); box-shadow:0 1px 2px rgba(20,30,70,.05), 0 18px 36px -14px rgba(20,30,70,.36); }
.orbit svg {
  grid-row:1 / span 2; width:36px; height:36px; padding:8px; border-radius:10px;
  background:color-mix(in srgb, var(--accent) 11%, #fff);
  fill:none; stroke:var(--accent); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;
}
.orbit b { font-family:Outfit, sans-serif; font-size:14px; font-weight:700; color:var(--dark); line-height:1.2; }
.orbit small { color:var(--muted); font-size:11px; line-height:1.3; }
.integration-pills { margin-top:45px; display:flex; flex-wrap:wrap; justify-content:center; gap:9px; }
.integration-pills span { border:1px solid var(--line); border-radius:999px; padding:9px 14px; font-size:11px; color:#5f667c; background:#fbfcff; }

.soft-section { background:#f7f8fc; }
.industry-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:17px; }
.industry-card { background:white; border:1px solid #e5e8f0; border-radius:20px; padding:30px; min-height:390px; display:flex; flex-direction:column; }
.industry-card.featured { border-color:#cbd3ff; box-shadow:0 22px 55px rgba(48,70,160,.09); }
.industry-top { display:flex; align-items:center; justify-content:space-between; }
.industry-label { background:#f1f3f9; border-radius:999px; padding:6px 10px; font-size:9px; text-transform:uppercase; font-weight:800; letter-spacing:.08em; color:#636b82; }
.industry-top svg { width:28px; height:28px; fill:none; stroke:var(--blue); stroke-width:1.45; stroke-linecap:round; stroke-linejoin:round; }
.industry-card h3 { font-size:25px; letter-spacing:-.035em; margin:35px 0 12px; }
.industry-card p { color:var(--muted); font-size:14px; }
.industry-card ul { list-style:none; padding:18px 0 0; margin:auto 0 0; border-top:1px solid #edf0f5; display:grid; gap:9px; }
.industry-card li { font-size:12px; color:#4f566d; padding-left:18px; position:relative; }
.industry-card li:before { content:""; width:6px; height:6px; border-radius:50%; background:var(--blue); position:absolute; left:0; top:7px; }

.outcomes { padding-top:40px; }
.outcomes-card { background:var(--dark); color:white; border-radius:28px; padding:55px; overflow:hidden; position:relative; }
.outcomes-card:after { content:""; position:absolute; width:400px; height:400px; border-radius:50%; right:-180px; top:-180px; background:radial-gradient(circle,rgba(80,110,255,.24),transparent 68%); }
.outcomes-card > div:first-child { max-width:650px; }
.outcomes-card h2 { font-size:clamp(34px,4vw,52px); line-height:1.04; letter-spacing:-.05em; margin:14px 0 45px; }
.outcomes-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #2a324a; }
.outcomes-grid div { padding:25px 22px 0 0; position:relative; z-index:1; }
.outcomes-grid strong { display:block; color:#7783a6; font-size:10px; margin-bottom:18px; }
.outcomes-grid span { display:block; font-size:16px; font-weight:750; margin-bottom:7px; }
.outcomes-grid p { color:#9da7c2; font-size:12px; margin:0; max-width:210px; }

.cta-section { padding-top:40px; }
.cta-card { border-radius:28px; padding:55px; background:linear-gradient(130deg,#365cff,#2445da); color:white; display:grid; grid-template-columns:1fr auto; align-items:end; gap:45px; position:relative; overflow:hidden; }
.cta-card:after { content:""; position:absolute; width:500px; height:500px; border-radius:50%; right:-150px; bottom:-350px; background:rgba(255,255,255,.08); }
.cta-card .eyebrow { color:#cbd5ff; }
.cta-card h2 { font-size:clamp(36px,4vw,56px); letter-spacing:-.05em; line-height:1; margin:14px 0; }
.cta-card p { color:#dce2ff; max-width:650px; font-size:15px; }
.contact-links { display:flex; gap:25px; flex-wrap:wrap; margin-top:25px; font-size:13px; font-weight:700; }
.cta-actions { position:relative; z-index:2; display:grid; gap:13px; justify-items:center; }
.btn-white { background:white; color:#1f3fc6; min-width:190px; }
.platform-link { display:inline-flex; align-items:center; gap:7px; font-size:11px; color:#dce3ff; }

footer { padding:70px 0 25px; background:#fff; }
.footer-grid { display:grid; grid-template-columns:1fr auto auto; gap:90px; }
.footer-brand { margin-bottom:15px; }
.footer-grid p { color:#858ca0; font-size:12px; }
.footer-links { display:grid; gap:10px; align-content:start; font-size:12px; color:#5d647a; }
.footer-links a:hover { color:var(--blue); }
.footer-bottom { border-top:1px solid #eceef4; margin-top:50px; padding-top:20px; display:flex; justify-content:space-between; gap:20px; color:#9aa0b0; font-size:10px; }

.js :is([data-anim], .reveal):not(.anim-in) { opacity:0; }
.js .anim-in { animation:avia-btt .8s cubic-bezier(.165,.84,.44,1) var(--anim-delay,0s) both; }
.js .anim-in[data-anim="fade"] { animation-name:avia-fadein; animation-duration:1.4s; animation-timing-function:ease-out; }
.js .anim-in[data-anim="left"] { animation-name:avia-ltr; animation-timing-function:cubic-bezier(.175,.885,.32,1.275); }
.js .anim-in[data-anim="right"] { animation-name:avia-rtl; animation-timing-function:cubic-bezier(.175,.885,.32,1.275); }
.js .anim-in[data-anim="pop"] { animation-name:avia-pop; animation-duration:.6s; animation-timing-function:cubic-bezier(.175,.885,.32,1.275); }
@keyframes avia-fadein { from { opacity:0; } to { opacity:1; } }
@keyframes avia-btt { from { opacity:0; translate:0 48px; } to { opacity:1; translate:0 0; } }
@keyframes avia-ltr { from { opacity:0; translate:-10% 0; } to { opacity:1; translate:0 0; } }
@keyframes avia-rtl { from { opacity:0; translate:10% 0; } to { opacity:1; translate:0 0; } }
@keyframes avia-pop { from { opacity:0; scale:.6; } to { opacity:1; scale:1; } }
.product-shot { animation: float-y 7s ease-in-out infinite alternate; }
.app-phone { animation: float-y 6.5s ease-in-out infinite alternate; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .js :is([data-anim], .reveal) { opacity:1; }
  .js .anim-in, .product-shot, .app-phone, .status-dot { animation:none; }
  .connections .pulses, .hub::before, .hub::after { display:none; }
  .btn { transition:none; }
  .px > img { transform:none !important; }
}
@media (max-width: 980px) {
  .hero-layout { grid-template-columns:1fr; }
  .hero-copy { text-align:center; }
  .hero-lead { margin-inline:auto; }
  .hero-actions, .hero-proof { justify-content:center; }
  .hero-visual { min-height:520px; }
  .feature-card.large { grid-template-columns:1fr; }
  .rule-builder { margin:0 auto 45px; }
  .solution-grid { grid-template-columns:repeat(2,1fr); }
  .integrations-layout { grid-template-columns:1fr; gap:40px; }
  .section-heading.align-left { text-align:center; margin:auto; }
  .section-heading.align-left p { margin:auto; }
  .integration-map { max-width:650px; width:100%; margin:auto; }
  .industry-grid { grid-template-columns:1fr; }
  .industry-card { min-height:auto; }
  .outcomes-grid { grid-template-columns:repeat(2,1fr); gap:25px; }
  .cta-card { grid-template-columns:1fr; }
  .cta-actions { justify-items:start; }
}
@media (max-width: 760px) {
  .container { width:min(calc(100% - 28px),var(--container)); }
  .nav-toggle { display:block; z-index:102; }
  .nav {
    display:none; position:absolute; top:100%; left:14px; right:14px; padding:18px;
    background:rgba(255,255,255,.97); border:1px solid var(--line); border-radius:16px;
    box-shadow:0 18px 45px rgba(20,30,70,.12); flex-direction:column; align-items:stretch; gap:8px;
  }
  .nav.open { display:flex; }
  .nav a { padding:10px 8px; }
  .nav-cta { text-align:center; background:var(--blue); color:white !important; }
  .hero { padding-top:125px; }
  h1 { font-size:48px; }
  .hero-proof { gap:20px; flex-wrap:wrap; }
  .hero-visual { min-height:430px; }
  .dashboard-card { transform:none; }
  .floating-card { display:none; }
  .dash-metrics { grid-template-columns:1fr 1fr; }
  .dash-metrics .metric:last-child { grid-column:1/-1; }
  .logo-strip .container { flex-direction:column; text-align:center; }
  .capability-row { justify-content:center; }
  .section { padding:78px 0; }
  .section-heading { margin-bottom:38px; }
  .platform-grid { grid-template-columns:1fr; }
  .feature-card.large { grid-column:auto; }
  .feature-copy { padding:30px; }
  .solution-grid { grid-template-columns:1fr; }
  .solution-card { min-height:auto; }
  .integration-map { height:auto; padding:28px 16px 18px; display:grid; gap:26px; border-radius:22px; }
  .connections { display:none; }
  .hub { position:relative; left:auto; top:auto; translate:none; width:120px; height:120px; margin:12px auto 0; border-radius:32px; }
  .orbit-list { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; }
  .orbit { position:static; translate:none; width:auto; grid-template-columns:32px 1fr; padding:10px; }
  .orbit svg { width:32px; height:32px; padding:7px; }
  .outcomes-card, .cta-card { padding:32px 24px; border-radius:22px; }
  .outcomes-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:35px; }
  .footer-grid > div:first-child { grid-column:1/-1; }
  .footer-bottom { flex-direction:column; }
  .project-grid { grid-template-columns:1fr 1fr; }
  .client-logos img { flex-basis:calc((100% - 14px) / 2); height:108px; padding:18px 22px; }
  .app-layout { grid-template-columns:1fr; }
}
@media (max-width: 480px) {
  h1 { font-size:42px; }
  .hero-lead { font-size:16px; }
  .hero-actions { flex-direction:column; }
  .btn { width:100%; }
  .hero-visual { min-height:390px; margin-top:15px; }
  .dash-body { padding:14px; }
  .event b { display:none; }
  .orbit { grid-template-columns:1fr; justify-items:center; text-align:center; row-gap:6px; }
  .orbit svg { grid-row:auto; }
  .contact-links { flex-direction:column; gap:8px; }
  .project-grid, .app-shots { grid-template-columns:1fr; }
}
.site-header .brand img { height:76px; width:auto; }
.footer-brand img { height:46px; width:auto; }
.product-shot { width:min(100%,680px); position:relative; z-index:2; filter:drop-shadow(0 28px 48px rgba(20,40,90,.16)); }
.hero { padding-top:168px; }
.feature-card, .industry-card, .outcomes-card, .cta-card { border-radius:18px; }
.project-grid img { border-radius:14px; box-shadow:0 10px 28px rgba(16,32,70,.08); }
.photo-band { height:min(340px,42vw); }
.photo-band img { width:100%; height:min(320px,42vw); object-fit:cover; display:block; }
.solution-icon img { width:28px; height:28px; object-fit:contain; }
.project-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.project-grid figure { margin:0; }
.project-grid img { width:100%; height:240px; object-fit:cover; border-radius:16px; }
.project-grid figcaption { margin-top:8px; font-size:13px; color:var(--muted); }
.client-logos { margin-top:28px; display:flex; flex-wrap:wrap; justify-content:center; gap:14px; }
.client-logos img { flex:0 1 calc((100% - 42px) / 4); min-width:0; height:128px; object-fit:contain; background:#fff; border:1px solid var(--line); border-radius:14px; padding:22px 30px; }
.app-layout {
  display:grid; grid-template-columns:260px 1fr; gap:28px; align-items:center;
  padding:28px; border:1px solid var(--line); border-radius:24px;
  background:radial-gradient(circle at 14% 48%, rgba(54,92,255,.14), transparent 34%), #fff;
}
.app-layout h2 { margin:12px 0 16px; font-size:clamp(34px,4vw,52px); letter-spacing:-.05em; line-height:1.05; }
.app-layout p { color:var(--muted); }
.app-phone { width:min(100%,240px); margin-inline:auto; display:block; filter:drop-shadow(0 22px 28px rgba(16,32,70,.16)); }
.app-shots { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:22px; }
.app-shots img { width:100%; border-radius:16px; border:1px solid var(--line); background:#fff; }
.social-row { display:flex; gap:16px; margin-top:16px; font-size:13px; font-weight:700; }
.social-row a:hover { color:var(--blue); }
.residential-shot { margin:22px 0 0; }
.residential-shot img { width:100%; max-height:380px; object-fit:cover; border-radius:16px; display:block; }
.px { position:relative; overflow:hidden; border-radius:16px; }
.photo-band.px { border-radius:0; }
.photo-band.px > img, .project-grid .px > img, .residential-shot .px > img {
  position:absolute; left:0; top:-18%; width:100%; height:140%; max-width:none; max-height:none;
  object-fit:cover; border-radius:0; will-change:transform;
}
.project-grid .px { height:240px; box-shadow:0 10px 28px rgba(16,32,70,.08); }
.residential-shot .px { height:min(380px,52vw); }
.industry-card { transition:transform .25s ease, box-shadow .25s ease; }
.industry-card:hover { transform:translateY(-4px); box-shadow:var(--shadow); }
.client-logos img { transition:transform .25s ease, border-color .25s ease; }
.client-logos img:hover { transform:translateY(-3px); border-color:#c9d4ff; }
.app-shots img { transition:transform .3s ease, box-shadow .3s ease; }
.app-shots img:hover { transform:translateY(-4px); box-shadow:0 16px 32px rgba(20,40,90,.1); }
.nav a { position:relative; }
.nav a:not(.nav-cta)::after {
  content:""; position:absolute; left:0; bottom:-6px; width:100%; height:2px; background:var(--blue);
  transform:scaleX(0); transform-origin:left center; transition:transform .25s ease; opacity:0;
}
.nav a:not(.nav-cta):hover::after { transform:scaleX(1); opacity:1; }
@keyframes rise-in { from { transform:translateY(16px); } to { transform:none; } }
@keyframes float-y { from { transform:translateY(0); } to { transform:translateY(-12px); } }
@keyframes grid-drift { from { background-position:0 0; } to { background-position:42px 42px; } }
@keyframes live-pulse {
  0% { box-shadow:0 0 0 0 rgba(45,204,130,.45); }
  70% { box-shadow:0 0 0 9px rgba(45,204,130,0); }
  100% { box-shadow:0 0 0 0 rgba(45,204,130,0); }
}
@media (max-width: 760px) {
  .nav-wrap { height:82px; }
  .site-header .brand img { height:58px; }
  .hero { padding-top:132px; }
  .project-grid .px { height:220px; }
}
.residential-shot figcaption { margin-top:8px; font-size:13px; color:var(--muted); }
.app-stage {
  align-self:stretch; display:grid; place-items:center; position:static;
  padding:20px 12px; border-radius:18px;
  background:linear-gradient(180deg, #eef1ff, #f7f8fc);
}
.app-actions { list-style:none; margin:18px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.app-actions li { display:grid; gap:2px; padding:14px 16px; background:#f7f8fc; border:1px solid var(--line); border-radius:14px; }
.app-actions b { font-family:Outfit, "Segoe UI", sans-serif; letter-spacing:-.03em; font-size:16px; }
.app-actions span { color:var(--muted); font-size:14px; }
.place-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.place-row span { padding:6px 12px; border-radius:999px; background:#fff; border:1px solid var(--line); font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#3d4664; }
.store-row { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:18px; }
.store-badge { display:inline-flex; height:52px; border-radius:8px; line-height:0; transition:translate .2s ease; }
.store-badge img { height:52px; width:auto; display:block; }
.store-badge:hover { translate:0 -2px; }
.app-note { margin-top:14px; color:var(--muted); font-size:14px; }
.app-shots { margin-top:28px; }
@media (max-width: 980px) {
  .app-layout, .app-actions { grid-template-columns:1fr; }
  .app-stage { position:static; }
}
.audience-section { background:#f7f8fc; }
.audience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.audience-grid article { background:#fff; border:1px solid var(--line); border-radius:18px; padding:26px; min-height:220px; }
.audience-grid span { font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--blue); }
.audience-grid h3 { margin:12px 0 8px; font-size:28px; letter-spacing:-.04em; }
.audience-grid p { margin:0; color:var(--muted); }
@media (max-width: 760px) {
  .audience-grid, .faq { grid-template-columns:1fr; }
  .name-strip .container { flex-direction:column; align-items:flex-start; }
}
.name-strip { border-bottom:1px solid var(--line); background:#fff; padding:18px 0; }
.name-strip .container { display:flex; align-items:center; gap:22px; }
.name-strip p { margin:0; flex:0 0 auto; color:var(--muted); font-size:13px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.name-strip div { display:flex; flex-wrap:wrap; gap:8px 18px; }
.name-strip a { font-weight:750; letter-spacing:-.03em; }
.name-strip a:hover { color:var(--blue); }
.faq { display:grid; gap:10px; max-width:860px; margin:0 auto; }
.faq details { background:#fff; border:1px solid var(--line); border-radius:16px; padding:0 18px; }
.faq summary { cursor:pointer; font-family:Outfit, "Segoe UI", sans-serif; font-weight:700; letter-spacing:-.03em; font-size:18px; padding:16px 0; list-style:none; }
.faq summary::-webkit-details-marker { display:none; }
.faq details p { margin:0 0 16px; color:var(--muted); }
.faq a { color:var(--blue); font-weight:700; }
html { scroll-padding-top: 120px; }
.site-header, .site-header.scrolled { background:#fff; backdrop-filter:none; -webkit-backdrop-filter:none; }
.scroll-progress { position:fixed; inset:0 0 auto; height:3px; z-index:140; pointer-events:none; }
.scroll-progress span { display:block; height:100%; background:var(--blue); transform:scaleX(0); transform-origin:left center; }
.nav a.is-current:not(.nav-cta) { color:var(--blue); }
.nav a.is-current:not(.nav-cta)::after { transform:scaleX(1); opacity:1; }
#soluciones { background:#080d1c; }
#soluciones .section-heading h2 { color:#fff; }
#soluciones .section-heading p,
#soluciones .section-heading.light p { color:#c5cce0; }
#soluciones .eyebrow { color:#9eb0ff; }
.story-bar { height:2px; margin:0 auto 22px; background:#e1e5f0; border-radius:99px; overflow:hidden; }
.story-bar span { display:block; height:100%; background:var(--blue); transform:scaleX(0); transform-origin:left center; }
.js [data-story-item] { opacity:.48; transition:opacity .4s ease, border-color .4s ease, translate .4s ease; }
.js [data-story-item].is-on { opacity:1; border-color:#c9d4ff; }
@media (prefers-reduced-motion: reduce) {
  .js [data-story-item] { opacity:1; translate:0; }
}

html, body { overflow-x:clip; }
h1, h2, h3 { font-weight:600; }
.section-heading h2 { letter-spacing:-.035em; }
.btn { border-radius:4px; }
.accent-people { --accent:#365cff; }
.accent-vehicles { --accent:#12a37f; }
.accent-systems { --accent:#f0841f; }
.btn-outline { min-height:46px; padding:0 26px; border:1px solid var(--accent,var(--blue)); color:var(--accent,var(--blue)); background:transparent; }
.btn-outline:hover { background:var(--accent,var(--blue)); color:#fff; }

.topbar { background:var(--dark); color:#a9b3cf; font-size:12.5px; }
.topbar-row { height:38px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.topbar nav { display:flex; }
.topbar nav a { padding:0 14px; border-left:1px solid rgba(255,255,255,.18); color:#e4e8f6; font-weight:600; }
.topbar nav a:first-child { border-left:0; }
.topbar nav a:last-child { padding-right:0; }
.topbar nav a:hover { color:#fff; }

.site-header { position:sticky; top:0; }
.nav .nav-cta { background:var(--blue); border-color:var(--blue); color:#fff; border-radius:4px; padding:12px 18px; }
.nav .nav-cta:hover { background:#2445da; color:#fff; }

.hero { position:relative; isolation:isolate; overflow:hidden; padding:120px 0 170px; background:var(--dark); color:#fff; }
.hero-media.px { position:absolute; inset:0; z-index:-2; border-radius:0; }
.hero::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg, rgba(8,13,28,.95) 0%, rgba(14,24,64,.86) 48%, rgba(54,92,255,.42) 100%);
}
.hero-media.px > img, .row-media .px > img {
  position:absolute; left:0; top:-18%; width:100%; height:140%; max-width:none; object-fit:cover; will-change:transform;
}
.hero-media.px > img { top:-8%; height:116%; }
.hero .eyebrow { color:#a9b8ff; }
.hero h1 { color:#fff; font-size:clamp(44px,5vw,68px); letter-spacing:-.04em; line-height:1.02; }
.hero h1 span { color:#8ea2ff; }
.hero-lead { color:#c9d1ea; }
.hero-actions { margin-bottom:0; }
.hero .btn-ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.5); }
.hero .btn-ghost:hover { background:#fff; color:var(--dark); }
.hero-visual { min-height:0; }

.intro-band { background:#f4f2ee; padding-bottom:92px; }
.product-tabs { position:relative; z-index:3; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:960px; margin-top:-46px; }
.tab {
  display:flex; align-items:center; justify-content:center; gap:14px; height:92px; background:#fff; color:var(--accent);
  border-bottom:3px solid transparent; box-shadow:0 14px 34px rgba(20,32,84,.12);
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.tab:hover { transform:translateY(-4px); border-bottom-color:var(--accent); box-shadow:0 22px 40px rgba(20,32,84,.16); }
.tab svg { width:40px; height:40px; padding:7px; border:1.6px solid currentColor; border-radius:50%; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.tab span { display:grid; font-family:Outfit, "Segoe UI", sans-serif; font-size:19px; font-weight:600; line-height:1.15; }
.tab small { color:var(--muted); font-family:"Source Sans 3", sans-serif; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; padding-top:76px; }
.intro-grid h2 { margin:0; color:#13204a; font-size:clamp(30px,3.2vw,40px); letter-spacing:-.03em; line-height:1.15; }
.intro-grid p { margin:0; color:#4b5470; font-size:17px; }

.logo-marquee { background:#fff; padding:84px 0 68px; border-bottom:1px solid var(--line); text-align:center; }
.logo-marquee h2 { margin:0 0 44px; color:#13204a; font-size:clamp(26px,2.6vw,34px); letter-spacing:-.03em; line-height:1.2; }
.marquee { overflow:hidden; mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.marquee-track { display:flex; align-items:center; width:max-content; }
.js .marquee-track { animation:marquee 60s linear infinite; }
.marquee:hover .marquee-track { animation-play-state:paused; }
html:not(.js) .marquee-track { width:auto; flex-wrap:wrap; justify-content:center; }
.marquee-track img { height:76px; width:auto; margin-right:72px; filter:grayscale(1); opacity:.8; transition:filter .3s ease, opacity .3s ease; }
.marquee-track img:hover { filter:none; opacity:1; }
.marquee-track span { margin-right:72px; color:#59617a; font-family:Outfit, "Segoe UI", sans-serif; font-size:25px; font-weight:600; letter-spacing:-.02em; white-space:nowrap; }
@keyframes marquee { to { translate:-50% 0; } }

.rows .rows-title { max-width:780px; margin:0 auto 80px; color:#13204a; font-size:clamp(32px,3.6vw,46px); letter-spacing:-.035em; line-height:1.1; text-align:center; }
.row-item { display:grid; grid-template-columns:1fr 1.05fr; gap:72px; align-items:center; }
.row-item + .row-item { margin-top:120px; }
.row-item.reverse .row-copy { order:2; }
.row-icon { display:block; width:42px; height:42px; margin-bottom:18px; fill:none; stroke:var(--accent); stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.row-label { display:block; color:var(--accent); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.row-copy h3 { margin:10px 0 14px; color:#13204a; font-size:clamp(28px,2.8vw,38px); letter-spacing:-.035em; line-height:1.1; }
.row-copy p { max-width:480px; margin:0 0 28px; color:var(--muted); font-size:17px; }
.row-media { position:relative; isolation:isolate; margin:0; }
.row-media::before { content:""; position:absolute; z-index:-1; left:-18px; bottom:-18px; width:34%; height:46%; background:var(--accent); }
.row-item.reverse .row-media::before { left:auto; right:-18px; top:-18px; bottom:auto; }
.row-item.accent-systems .row-media::before { left:auto; right:-18px; top:-18px; bottom:auto; width:42%; height:22%; }
.row-media .px { height:420px; border-radius:0; }

.difference { background:#fff; padding:100px 0 30px; text-align:center; }
.difference-inner { max-width:880px; }
.difference h2 { margin:0 0 18px; color:#13204a; font-size:clamp(34px,3.8vw,48px); letter-spacing:-.035em; }
.difference p { max-width:680px; margin:0 auto; color:var(--muted); font-size:18px; }
.difference-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:52px auto 0; max-width:720px; }
.difference-stats strong { display:block; color:var(--blue); font-family:Outfit, "Segoe UI", sans-serif; font-size:clamp(40px,4.4vw,56px); font-weight:600; letter-spacing:-.04em; line-height:1.05; }
.difference-stats span { color:var(--muted); font-size:15px; font-weight:600; }

.cta-split-section { padding:96px 0; background:var(--bg); }
.cta-split { display:grid; grid-template-columns:1.2fr .8fr; min-height:360px; overflow:hidden; background:var(--dark-2); color:#fff; }
.cta-split-copy { align-self:center; padding:56px 60px; }
.cta-split .eyebrow { color:#a9b8ff; }
.cta-split h2 { margin:14px 0; color:#fff; font-size:clamp(30px,3vw,42px); letter-spacing:-.035em; line-height:1.1; }
.cta-split p { margin:0 0 28px; color:#c9d1ea; max-width:560px; }
.cta-split-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; }
.cta-split-media { display:grid; place-items:center; padding:24px; background:#fff; }
.cta-split-media img { width:min(100%,320px); }

.contact-bar { background:var(--blue); color:#fff; }
.contact-bar-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px 32px; min-height:78px; padding:14px 0; }
.contact-bar a { display:inline-flex; align-items:center; gap:12px; font-size:15px; font-weight:700; }
.contact-bar a span { display:inline-block; transition:translate .2s ease; }
.contact-bar a:hover span { translate:4px 0; }
.contact-bar svg { flex:0 0 auto; width:38px; height:38px; padding:8px; border-radius:50%; background:rgba(255,255,255,.16); fill:none; stroke:#fff; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

footer { background:#0b1230; color:#aab3cf; }
footer .footer-brand img { filter:brightness(0) invert(1); }
.footer-grid p { color:#aab3cf; font-size:14px; }
.footer-links { color:#c9d0e6; font-size:14px; }
.footer-links b { color:#fff; font-family:Outfit, "Segoe UI", sans-serif; font-size:15px; }
.footer-links a:hover, .social-row a:hover { color:#fff; }
.social-row a { color:#e4e8f6; }
.footer-bottom { border-color:rgba(255,255,255,.1); color:#8890ab; font-size:12px; }

@media (max-width: 980px) {
  .hero-layout { text-align:left; }
  .hero-copy { text-align:left; }
  .hero-lead { margin-inline:0; }
  .hero-actions { justify-content:flex-start; }
  .hero-visual { margin-top:24px; }
  .row-item, .row-item.reverse { grid-template-columns:1fr; gap:40px; }
  .row-item .row-media { order:-1; }
  .row-item.reverse .row-copy { order:0; }
  .row-media .px { height:320px; }
  .row-item + .row-item { margin-top:84px; }
  .intro-grid { grid-template-columns:1fr; gap:18px; }
  .cta-split { grid-template-columns:1fr; }
}
@media (max-width: 760px) {
  .topbar-row { justify-content:center; }
  .topbar-row > span, .topbar nav a:last-child { display:none; }
  .topbar nav a:nth-child(2) { padding-right:0; }
  .hero { padding:72px 0 120px; }
  .hero h1 { font-size:42px; }
  .product-tabs { grid-template-columns:1fr; gap:10px; margin-top:-40px; }
  .tab { height:70px; justify-content:flex-start; padding:0 20px; }
  .intro-band { padding-bottom:64px; }
  .intro-grid { padding-top:48px; }
  .logo-marquee { padding:60px 0 48px; }
  .marquee-track img { height:58px; margin-right:44px; }
  .marquee-track span { margin-right:44px; font-size:19px; }
  .rows .rows-title { margin-bottom:52px; }
  .row-media .px { height:260px; }
  .row-media::before { left:-10px; bottom:-10px; }
  .row-item.reverse .row-media::before, .row-item.accent-systems .row-media::before { right:-10px; top:-10px; }
  .difference { padding-top:72px; }
  .difference-stats { gap:12px; }
  .cta-split-section { padding:64px 0; }
  .cta-split-copy { padding:36px 26px; }
  .cta-split-media { padding:28px; }
  .contact-bar-row { flex-direction:column; align-items:flex-start; padding:22px 0; }
}
@media (prefers-reduced-motion: reduce) {
  .js .marquee-track { animation:none; width:auto; flex-wrap:wrap; justify-content:center; }
}
