/* Wow layer: depth, motion and a product intro, on top of the light navy identity.
   Every motion rule is gated by html.wow (set by wow.js when reduced motion is off). */
:root { --wow-ease: cubic-bezier(.2, .65, .25, 1); --scroll: 0; }

/* ---------- global chrome: progress bar, sticky glass header, grain, to-top ---------- */
.scroll-progress { position: fixed; top: 0; left: 0; z-index: 120; height: 3px; width: 100%; background: linear-gradient(90deg, var(--cobalt), var(--orange)); transform: scaleX(var(--scroll)); transform-origin: left; pointer-events: none; }
.site-header { position: sticky; top: 0; z-index: 90; transition: height .4s var(--wow-ease), background .4s, box-shadow .4s, padding .4s var(--wow-ease); }
.site-header.is-scrolled { height: 74px; background: #f9f9f9d9; -webkit-backdrop-filter: blur(16px) saturate(1.5); backdrop-filter: blur(16px) saturate(1.5); box-shadow: 0 1px 0 #ffffff99 inset, 0 10px 30px -22px #112b6650; max-width: none; padding-inline: max(4.7%, calc((100% - 1800px) / 2 + 84px)); }
.brand { transition: font-size .4s var(--wow-ease); }
.site-header.is-scrolled .brand { font-size: 31px; }
.header-cta { position: relative; overflow: hidden; transition: background .25s, transform .3s var(--wow-ease), border-color .25s; }
.header-cta:hover { border-color: var(--cobalt); }
.grain { position: fixed; inset: 0; z-index: 200; pointer-events: none; opacity: .045; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size: 260px 260px; }
.to-top { position: fixed; right: 22px; bottom: 22px; z-index: 110; width: 52px; height: 52px; border-radius: 50%; border: 0; padding: 0; background: conic-gradient(var(--cobalt) calc(var(--scroll) * 360deg), #d9e0ed 0); color: var(--navy); opacity: 0; transform: translateY(14px) scale(.9); pointer-events: none; transition: opacity .35s, transform .35s var(--wow-ease); box-shadow: 0 14px 30px -14px #112b6666; }
.to-top::before { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: #fff; }
.to-top > span { position: relative; font-size: 18px; line-height: 52px; display: block; transition: transform .3s; }
.to-top:hover > span { transform: translateY(-3px); }
.to-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.site-footer > a:last-child { margin-right: 70px; }

/* ---------- buttons: shine sweep, magnetic ---------- */
.button, .demo-run, .contact-arrow { position: relative; overflow: hidden; }
.button::after, .demo-run::after { content: ""; position: absolute; top: -20%; bottom: -20%; left: -70%; width: 45%; background: linear-gradient(100deg, transparent, #ffffff55, transparent); transform: skewX(-22deg); transition: left .7s var(--wow-ease); pointer-events: none; }
.button:hover::after, .demo-run:hover::after { left: 130%; }
[data-magnetic] { transition: transform .35s var(--wow-ease), background .25s, color .25s, border-color .25s; will-change: transform; }
.contact-arrow { overflow: visible; }
.contact-arrow::after { content: ""; position: absolute; inset: -1px; border-radius: 50%; border: 1px solid var(--cobalt); opacity: 0; }
.wow .contact-arrow::after { animation: ring 2.8s ease-out infinite; }
@keyframes ring { 0% { transform: scale(1); opacity: .55; } 70% { transform: scale(1.5); opacity: 0; } 100% { transform: scale(1.5); opacity: 0; } }

/* ---------- hero: aurora, dot grid, word reveal, spotlight card ---------- */
.hero-interactive { overflow: hidden; }
.hero-aurora { position: absolute; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.hero-aurora i { position: absolute; border-radius: 50%; filter: blur(64px); opacity: .7; will-change: transform; }
.hero-aurora i:nth-child(1) { width: 46vw; height: 46vw; left: -12%; top: -34%; background: radial-gradient(circle, #c7d5ff 0%, transparent 64%); }
.hero-aurora i:nth-child(2) { width: 34vw; height: 34vw; right: -6%; top: -14%; background: radial-gradient(circle, #ffd8c0 0%, transparent 64%); }
.hero-aurora i:nth-child(3) { width: 38vw; height: 38vw; left: 32%; bottom: -36%; background: radial-gradient(circle, #d8e3ff 0%, transparent 64%); }
.wow .hero-aurora i { animation: aurora 20s ease-in-out infinite alternate; }
.wow .hero-aurora i:nth-child(2) { animation-duration: 24s; animation-delay: -8s; }
.wow .hero-aurora i:nth-child(3) { animation-duration: 28s; animation-delay: -14s; }
@keyframes aurora { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(7%, 9%, 0) scale(1.14); } }
.hero-grid { position: absolute; inset: 0; z-index: -1; pointer-events: none; background-image: radial-gradient(#112b6624 1px, transparent 1.2px); background-size: 28px 28px; -webkit-mask-image: radial-gradient(ellipse 60% 70% at 28% 45%, #000 10%, transparent 75%); mask-image: radial-gradient(ellipse 60% 70% at 28% 45%, #000 10%, transparent 75%); }
.hero-interactive .hero-image { z-index: -1; }
.w { display: inline-block; overflow: hidden; vertical-align: bottom; padding: .14em .04em .12em; margin: -.14em -.04em -.12em; }
.w > span { display: inline-block; }
.has-words .w, .has-words .w > span, .has-words > .rw { color: inherit; }
.wow .hero h1.has-words { animation: none; }
.wow .hero h1.has-words .w > span { transform: translateY(112%); animation: word-up .95s var(--wow-ease) forwards; animation-delay: calc(var(--i) * 70ms + 120ms); }
@keyframes word-up { to { transform: translateY(0); } }
.wow [data-words]:not(.words-in) .w > span { transform: translateY(112%); }
.wow [data-words].words-in .w > span { animation: word-up .85s var(--wow-ease) both; animation-delay: calc(var(--i) * 55ms); }
.agent-demo { transform-style: preserve-3d; transition: transform .5s var(--wow-ease), box-shadow .5s; --mx: 50%; --my: 50%; }
.agent-demo:hover { box-shadow: 0 30px 80px -30px #173b9955, 0 3px 8px #173b9910; }
.agent-demo::before { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 1px; background: radial-gradient(360px circle at var(--mx) var(--my), #2455e7cc, transparent 62%); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude; opacity: 0; transition: opacity .45s; pointer-events: none; }
.agent-demo::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(460px circle at var(--mx) var(--my), #2455e70d, transparent 62%); opacity: 0; transition: opacity .45s; pointer-events: none; }
.agent-demo:hover::before, .agent-demo:hover::after { opacity: 1; }
.hero-demo-link { position: relative; }
.hero-demo-link::after { content: ""; position: absolute; left: 0; bottom: -2px; height: 1px; width: calc(100% - 26px); background: var(--orange); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--wow-ease); }
.hero-demo-link:hover::after { transform: scaleX(1); }
.wow .status-dot { animation: pulse-dot 2.4s ease-in-out infinite; }
@keyframes pulse-dot { 0%, 100% { box-shadow: 0 0 0 0 #f4773566; } 60% { box-shadow: 0 0 0 7px #f4773500; } }
.wow .scroll-arrow { animation: bob 2.2s ease-in-out infinite; }
@keyframes bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(4px); } }

/* ---------- principles marquee ---------- */
.principles-strip.marquee { display: block; padding: 0; max-width: none; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.marquee-track { display: flex; align-items: center; gap: 44px; width: max-content; padding: 34px 0; font-size: 14px; font-weight: 500; white-space: nowrap; }
.wow .marquee-track { animation: marquee 34s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }
.marquee-track i { font-style: normal; font-size: 22px; color: #b76136; display: inline-block; }
.wow .marquee-track i { animation: spin 9s linear infinite; }
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes spin { to { transform: rotate(360deg); } }
html:not(.wow) .marquee-track { width: auto; flex-wrap: wrap; justify-content: center; padding-inline: 24px; }
html:not(.wow) .marquee-track [aria-hidden] { display: none; }

/* ---------- product intro (Remotion) ---------- */
.product-intro { padding: 96px 5% 36px; max-width: 1600px; margin: auto; }
.product-intro .section-kicker { padding-top: 0; }
.product-intro-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin: 34px 0 46px; }
.product-intro h2 { font-size: clamp(34px, 4vw, 62px); line-height: 1.25; letter-spacing: -.045em; font-weight: 500; margin: 0; color: var(--navy); }
.product-intro h2 span { color: var(--cobalt); }
.product-intro-heading > p { font-size: 16px; line-height: 1.9; color: #647085; margin: 0 0 6px; max-width: 420px; }
.intro-stage { perspective: 1500px; }
.intro-card { position: relative; border-radius: 24px; background: #112b66; padding: 10px; box-shadow: 0 70px 140px -60px #112b6699, 0 20px 40px -30px #112b6666; transform-origin: 50% 0; will-change: transform; }
.intro-card::before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(120deg, #2455e7, #112b66 45%, #f47735); z-index: -1; filter: blur(30px); opacity: .35; transform: translateY(14px) scale(.98); }
.intro-card video { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 16px; background: #eef2f9; }
.intro-toggle { position: absolute; right: 28px; bottom: 28px; width: 48px; height: 48px; border-radius: 50%; border: 1px solid #ffffff40; background: #0b1f4dc4; color: #fff; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); display: grid; place-items: center; transition: transform .3s var(--wow-ease), background .3s; }
.intro-toggle:hover { transform: scale(1.08); background: #153b99e6; }
.intro-toggle svg { width: 16px; height: 16px; fill: currentColor; }
.intro-toggle .ic-pause { display: none; }
.intro-toggle.is-playing .ic-pause { display: block; }
.intro-toggle.is-playing .ic-play { display: none; }
.intro-chapters { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.intro-chapters button { width: 100%; text-align: left; background: #fff; border: 1px solid #dfe5f0; border-radius: 14px; padding: 18px 18px 22px; display: grid; grid-template-columns: auto 1fr; gap: 5px 14px; align-items: start; color: #3d5484; position: relative; overflow: hidden; transition: border-color .3s, transform .3s var(--wow-ease), box-shadow .3s; }
.intro-chapters button > span { font-size: 11px; color: #8a97ac; letter-spacing: 1px; grid-row: 1 / 3; padding-top: 4px; }
.intro-chapters button b { font-weight: 600; font-size: 15px; color: var(--navy); }
.intro-chapters button small { font-size: 13px; color: #6e7b8f; line-height: 1.65; display: block; }
.intro-chapters button i { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: #e6ebf4; }
.intro-chapters button i::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--cobalt), var(--orange)); transform: scaleX(var(--p, 0)); transform-origin: left; }
.intro-chapters button.is-active { border-color: #b8caf6; box-shadow: 0 16px 34px -22px #2455e788; }
.intro-chapters button.is-active > span { color: var(--orange); }
.intro-chapters button:hover { transform: translateY(-3px); border-color: #b8caf6; }
.intro-caption { font-size: 12px; color: #7c889b; text-align: center; margin: 22px 0 0; line-height: 1.7; }

/* ---------- approach: scroll-filled headline + integration diagram ---------- */
.rw { display: inline-block; transition: opacity .2s linear; }
.approach-visual { grid-column: 1 / -1; margin-top: 64px; padding-top: 44px; border-top: 1px solid var(--line); }
.av-grid { display: grid; grid-template-columns: minmax(0, 1fr) 120px auto 120px minmax(0, 1fr); align-items: center; gap: 0; }
.av-col { display: flex; flex-direction: column; justify-content: space-between; height: 340px; gap: 12px; }
.av-chip { display: flex; flex-direction: column; gap: 3px; padding: 13px 16px; border: 1px solid #dde3ee; border-radius: 12px; background: #fff; font-size: 12px; color: #6e7b8f; box-shadow: 0 10px 24px -20px #112b6650; transition: transform .35s var(--wow-ease), border-color .35s; }
.av-chip b { font-size: 14px; font-weight: 600; color: #1f3a70; letter-spacing: -.2px; }
.av-chip:hover { transform: translateX(4px); border-color: #b8caf6; }
.av-agent { background: #eef3ff; border-color: #cfdbfa; }
.av-agent b { color: var(--cobalt); }
.av-agent:hover { transform: translateX(-4px); }
.av-lines { width: 120px; height: 340px; display: block; overflow: visible; }
.av-lines path { fill: none; stroke: #c3cee3; stroke-width: 1.5; }
.av-lines path.flow { stroke: var(--cobalt); stroke-width: 1.5; stroke-dasharray: 6 10; opacity: .8; }
.wow .av-lines path.flow { animation: dashflow 1.1s linear infinite; }
@keyframes dashflow { to { stroke-dashoffset: -16; } }
.av-core { position: relative; width: 168px; height: 168px; border-radius: 50%; display: grid; place-content: center; text-align: center; background: var(--navy); color: #fff; box-shadow: 0 30px 60px -30px #112b66aa; }
.av-core .av-mark { font-size: 30px; font-weight: 800; letter-spacing: -2px; display: flex; align-items: baseline; justify-content: center; }
.av-core .av-mark i { width: 7px; height: 7px; border-radius: 50%; background: var(--orange); margin-left: 5px; }
.av-core small { display: block; font-size: 11px; color: #b6c5e6; margin-top: 6px; letter-spacing: .3px; }
.av-core::before, .av-core::after { content: ""; position: absolute; inset: -14px; border-radius: 50%; border: 1px solid #2455e755; }
.av-core::after { inset: -30px; border-color: #2455e72a; }
.wow .av-core::before { animation: core-ring 3.6s ease-out infinite; }
.wow .av-core::after { animation: core-ring 3.6s 1.2s ease-out infinite; }
@keyframes core-ring { 0% { transform: scale(.9); opacity: .9; } 100% { transform: scale(1.18); opacity: 0; } }
.av-note { font-size: 12px; color: #7c889b; line-height: 1.75; margin: 34px 0 0; max-width: 640px; }
.av-mobile-arrow { display: none; }

/* ---------- film ---------- */
.film-player { box-shadow: 0 50px 110px -50px #112b6688; }
.film-player[data-reveal] { transition: opacity .9s ease, transform 1s var(--wow-ease); }
.film-player.reveal-pending { transform: translateY(30px) scale(.975); }
.film-play { transition: background .3s, transform .3s var(--wow-ease); }
.film-play:hover { transform: translateY(-2px); }
.wow .film-play-icon { animation: pulse-play 2.6s ease-in-out infinite; }
@keyframes pulse-play { 0%, 100% { box-shadow: 0 0 0 0 #ffffff55; } 60% { box-shadow: 0 0 0 10px #ffffff00; } }

/* ---------- solutions ---------- */
.service summary h3 { transition: transform .35s var(--wow-ease); }
.service summary:hover h3 { transform: translateX(6px); }
.wow .service[open] .service-content { animation: content-in .5s var(--wow-ease); }
@keyframes content-in { from { opacity: 0; transform: translateY(-8px); } }
.service-list { position: relative; }
.service .expand-icon { transition: background .3s, color .3s, border-color .3s, transform .3s var(--wow-ease); }
.service summary:hover .expand-icon { transform: rotate(90deg); border-color: var(--cobalt); color: var(--cobalt); }
.service[open] summary:hover .expand-icon { transform: rotate(0); }
.deliverables li { transition: transform .3s var(--wow-ease); }
.deliverables li:hover { transform: translateX(4px); }

/* ---------- applications: glow, grid, screen choreography ---------- */
.applications { position: relative; background: radial-gradient(1100px 620px at 88% -12%, #234fb5 0%, transparent 58%), radial-gradient(700px 500px at -10% 110%, #1a3f96 0%, transparent 60%), #112b66; }
.applications::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(#ffffff14 1px, transparent 1.2px); background-size: 26px 26px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 60%); mask-image: linear-gradient(180deg, #000, transparent 60%); pointer-events: none; }
.applications-inner { position: relative; }
.example-window { transition: transform .5s var(--wow-ease), box-shadow .5s; transform-style: preserve-3d; }
.example-window:hover { box-shadow: 0 34px 70px -28px #03132bcc; }
.use-tabs button { transition: color .25s, transform .25s var(--wow-ease); }
.use-tabs button:hover { transform: translateY(-2px); }
.wow .applications.is-inview .operations-screen:not([hidden]) .sample-order { animation: msg-in .5s var(--wow-ease) both; }
.wow .applications.is-inview .operations-screen:not([hidden]) .sample-order:nth-child(2) { animation-delay: .08s; }
.wow .applications.is-inview .operations-screen:not([hidden]) .sample-order:nth-child(3) { animation-delay: .16s; }
.wow .applications.is-inview .operations-screen:not([hidden]) .sample-order:nth-child(4) { animation-delay: .24s; }
.wow .applications.is-inview .operations-screen:not([hidden]) .screen-ai-card { animation: msg-in .6s .5s var(--wow-ease) both; }
.wow .applications.is-inview .operations-screen:not([hidden]) .order-overview > div { animation: msg-in .5s var(--wow-ease) both; }
.wow .applications.is-inview .operations-screen:not([hidden]) .order-overview > div:nth-child(2) { animation-delay: .1s; }
.wow .applications.is-inview .sales-screen:not([hidden]) .customer-bubble { animation: msg-in .5s .1s var(--wow-ease) both; }
.wow .applications.is-inview .sales-screen:not([hidden]) .chat-context { animation: msg-in .5s .55s var(--wow-ease) both; }
.wow .applications.is-inview .sales-screen:not([hidden]) .chat-context > div > span { animation: chip-light .5s 1s both; }
.wow .applications.is-inview .sales-screen:not([hidden]) .chat-context > div > span:nth-child(2) { animation-delay: 1.2s; }
.wow .applications.is-inview .sales-screen:not([hidden]) .agent-bubble { animation: msg-in .55s 1.45s var(--wow-ease) both; }
.wow .applications.is-inview .sales-screen:not([hidden]) .sales-drilldown, .wow .applications.is-inview .sales-screen:not([hidden]) .draft-note { animation: msg-in .5s 1.9s var(--wow-ease) both; }
.wow .applications.is-inview .insights-screen:not([hidden]) .insight-metrics > div { animation: msg-in .5s var(--wow-ease) both; }
.wow .applications.is-inview .insights-screen:not([hidden]) .insight-metrics > div:nth-child(2) { animation-delay: .1s; }
.wow .applications.is-inview .insights-screen:not([hidden]) .insight-metrics > div:nth-child(3) { animation-delay: .2s; }
.wow .applications.is-inview .insights-screen:not([hidden]) .chart-bar { animation: bar-grow 1s .35s var(--wow-ease) both; }
.wow .applications.is-inview .insights-screen:not([hidden]) .chart-bar.profit { animation-delay: .6s; }
.wow .applications.is-inview .insights-screen:not([hidden]) .screen-ai-card { animation: msg-in .6s .9s var(--wow-ease) both; }
@keyframes msg-in { from { opacity: 0; transform: translateY(10px); } }
@keyframes chip-light { from { background: #f4f7fc; border-color: #e1e7f2; } to { background: #fff; border-color: #b8caf6; } }
@keyframes bar-grow { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
.wow .screen-ai-label > span { display: inline-block; animation: demo-turn 3s ease-in-out infinite; }
.status-pill.orange { position: relative; }
.wow .sample-order.flagged .status-pill.orange { animation: pill-pulse 2.4s ease-in-out infinite; }
@keyframes pill-pulse { 0%, 100% { box-shadow: 0 0 0 0 #f4773544; } 50% { box-shadow: 0 0 0 5px #f4773500; } }

/* ---------- process ---------- */
.process-grid { position: relative; }
.process-grid::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, var(--cobalt), var(--orange)); transform: scaleX(0); transform-origin: left; transition: transform 1.5s var(--wow-ease); z-index: 1; }
.process-grid.is-inview::before { transform: scaleX(1); }
.process-grid article { transition: transform .45s var(--wow-ease), border-color .25s; }
.process-grid article:hover { transform: translateY(-6px); }
.process-top > span { transition: color .35s; }
.process-grid article:hover .process-top > span { color: var(--cobalt); }
.process-top svg { transition: transform .35s var(--wow-ease); }
.process-grid article:hover .process-top svg { transform: translate(4px, -4px); }
.process-grid article:nth-child(2)[data-reveal] { transition-delay: .12s; }
.process-grid article:nth-child(3)[data-reveal] { transition-delay: .24s; }

/* ---------- contact ---------- */
.contact::before { content: ""; position: absolute; width: 60vw; height: 60vw; max-width: 900px; max-height: 900px; right: -18%; top: -50%; border-radius: 50%; background: radial-gradient(circle, #c9d7ff 0%, transparent 62%); filter: blur(50px); opacity: .7; pointer-events: none; }
.contact::after { content: ""; position: absolute; width: 40vw; height: 40vw; max-width: 640px; max-height: 640px; left: -14%; bottom: -46%; border-radius: 50%; background: radial-gradient(circle, #ffdcc6 0%, transparent 62%); filter: blur(50px); opacity: .7; pointer-events: none; }
.wow .contact::before { animation: aurora 26s ease-in-out infinite alternate; }
.wow .contact::after { animation: aurora 30s -10s ease-in-out infinite alternate-reverse; }
.contact-top, .contact-main, .contact-bottom { position: relative; }
.contact-email { transition: gap .3s var(--wow-ease); }
.contact-email:hover { gap: 34px; }

/* ---------- section kickers ---------- */
.wow .section-kicker .small-square { animation: square-blink 3.2s ease-in-out infinite; }
@keyframes square-blink { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }

main { overflow-x: clip; }

/* ---------- responsive ---------- */
@media (min-width: 1800px) { .product-intro { max-width: 1600px; } }
@media (max-width: 1100px) {
  .av-grid { grid-template-columns: minmax(0, 1fr) 70px auto 70px minmax(0, 1fr); }
  .av-lines { width: 70px; }
  .av-core { width: 140px; height: 140px; }
  .av-core .av-mark { font-size: 26px; }
  .av-col { height: 320px; }
  .av-chip { padding: 11px 12px; }
  .av-chip b { font-size: 13px; }
}
@media (max-width: 760px) {
  .site-header.is-scrolled { height: 64px; padding-inline: 24px; }
  .site-header.is-scrolled .brand { font-size: 28px; }
  .grain { opacity: .035; }
  .to-top { right: 14px; bottom: 14px; width: 46px; height: 46px; }
  .to-top > span { line-height: 46px; font-size: 16px; }
  .marquee-track { gap: 28px; padding: 26px 0; font-size: 12px; }
  .marquee-track i { font-size: 17px; }
  .product-intro { padding: 64px 24px 24px; }
  .product-intro-heading { display: block; margin: 24px 0 30px; }
  .product-intro h2 { font-size: clamp(30px, 8vw, 40px); letter-spacing: -1.4px; }
  .product-intro-heading > p { font-size: 14px; margin: 18px 0 0; max-width: 100%; }
  .intro-card { border-radius: 16px; padding: 6px; margin-inline: -8px; }
  .intro-card video { border-radius: 11px; }
  .intro-toggle { right: 16px; bottom: 16px; width: 40px; height: 40px; }
  .intro-chapters { grid-template-columns: 1fr; gap: 10px; margin-top: 18px; }
  .intro-chapters button { padding: 14px 14px 18px; }
  .intro-chapters button b { font-size: 14px; }
  .intro-chapters button small { font-size: 12px; }
  .intro-caption { font-size: 11px; text-align: left; }
  .approach-visual { margin-top: 40px; padding-top: 30px; }
  .av-grid { grid-template-columns: 1fr; gap: 18px; justify-items: center; }
  .av-lines { display: none; }
  .av-col { height: auto; width: 100%; gap: 8px; }
  .av-mobile-arrow { display: block; font-size: 22px; color: var(--cobalt); line-height: 1; }
  .av-core { width: 130px; height: 130px; margin: 12px 0; }
  .av-core::after { inset: -22px; }
  .av-note { font-size: 11px; margin-top: 24px; }
  .contact::before, .contact::after { display: none; }
  .agent-demo::before, .agent-demo::after { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-progress, .to-top { transition: none; }
  .intro-card { transform: none !important; }
  .rw { opacity: 1 !important; }
  .w > span, [data-words] .w > span, .hero h1 .w > span { transform: none !important; animation: none !important; }
}
