/* Paper-to-data and report construction share a quiet eight-second loop. */
.product-mosaic{grid-template-columns:1fr 1fr}
.editorial-image.motion-scene{aspect-ratio:3/2;position:relative;isolation:isolate;overflow:hidden}
.editorial-image.motion-scene>img,.report-editorial .editorial-image.motion-scene>img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;transform:none;transition:none}
.motion-layer{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:none;pointer-events:none;overflow:hidden}
.stack-leaf{animation:stack-consume 8s ease-in-out infinite;transform:translate(var(--sheet-x),var(--sheet-y)) rotate(var(--sheet-rotation));transform-origin:280px 170px}
.scribe-white-field{animation:report-light-breathe 4.8s ease-in-out infinite}
.scribe-white-wave{animation:scribe-light-transmit 4.8s linear infinite}
.scribe-white-wave-output{animation-delay:-1.2s}
@keyframes scribe-light-transmit{from{transform:translateX(0)}to{transform:translateX(470px)}}
.tesseract-flare{animation:tesseract-flare 8s ease-in-out infinite;opacity:0}
.abstract-document-line{animation:document-line-write 8s ease-out infinite;animation-delay:var(--write-delay);stroke-dasharray:1;stroke-dashoffset:0}
.writing-light{animation:writing-light 8s linear infinite;opacity:0;filter:drop-shadow(0 1px 6px #70dcff)}
@keyframes stack-consume{0%,5%,100%{transform:translate(var(--sheet-x),var(--sheet-y)) rotate(var(--sheet-rotation));opacity:1}42%,79%{transform:translate(var(--sheet-x),var(--sheet-rest)) rotate(var(--sheet-rotation));opacity:var(--sheet-opacity)}94%{transform:translate(var(--sheet-x),var(--sheet-y)) rotate(var(--sheet-rotation));opacity:1}}
@keyframes tesseract-flare{0%,100%{opacity:.3}25%{opacity:.55}42%,56%{opacity:.9}78%{opacity:.45}}
@keyframes document-line-write{0%,42%{opacity:0;stroke-dashoffset:1}45%{opacity:.8}61%,82%{opacity:1;stroke-dashoffset:0}94%,100%{opacity:0;stroke-dashoffset:0}}
@keyframes writing-light{0%,42%{opacity:0;transform:translateY(-12px)}46%{opacity:.65}74%{opacity:.55;transform:translateY(260px)}80%,100%{opacity:0;transform:translateY(255px)}}

/* Real Report screens on a white phone. A white front only hides what is not generated yet; no UI synthesis.
   The scan and white light loop without pause; strip scroll and build timing live in product-motion.mjs. */
.report-photo-screen{pointer-events:none}
.report-scan-sweep{animation:report-scan-sweep 3.4s linear infinite;transform:translateY(-.2px)}
@keyframes report-scan-sweep{0%{transform:translateY(-.2px);opacity:0}8%{opacity:1}88%{opacity:1}100%{transform:translateY(1.2px);opacity:0}}
.report-white-cone{animation:report-light-breathe 4.8s ease-in-out infinite;opacity:.7}
.report-white-wave{animation:report-light-transmit 2.4s linear infinite}
.report-white-wave-second{animation-delay:-1.2s}
@keyframes report-light-breathe{0%,100%{opacity:.55}50%{opacity:.85}}
@keyframes report-light-transmit{from{transform:translateX(0)}to{transform:translateX(680px)}}
/* Preserve the original face and attached sleeve; animate the wrist and a subtle gaze. */
.ontol-phone-reader{overflow:visible;aspect-ratio:auto}
.mascot-motion-wrap{position:relative;width:min(100%,380px);aspect-ratio:2/3;max-height:none}
.mascot-rig{display:block;width:100%;height:100%;overflow:visible}
/* One 4.8s gesture: look 8–20%, contact 24%, drag 24–58%, release 66%.
   The screen advances 52px per gesture, exactly one 260px tile in five gestures. */
.mascot-finger-arm,.mascot-touch-position{transform-origin:555px 780px;animation:finger-scroll-down 4.8s ease-in-out infinite}
.mascot-head{transform-origin:530px 620px;animation:mascot-head-look 4.8s ease-in-out infinite}
@keyframes mascot-head-look{0%,8%,100%{transform:rotate(-1deg)}20%,64%{transform:translate(2px,4px) rotate(1deg)}86%{transform:rotate(-1deg)}}
.mascot-real-report-scroll{animation:actual-report-scroll 24s ease-in-out infinite}
@keyframes finger-scroll-down{0%,10%,86%,100%{transform:rotate(-6deg) scaleX(.85)}24%{transform:rotate(0) scaleX(1)}58%{transform:rotate(17deg) scaleX(.82)}66%{transform:rotate(17deg) scaleX(.76)}}
@keyframes actual-report-scroll{0%,4.8%{transform:translateY(0)}11.6%,24.8%{transform:translateY(52px)}31.6%,44.8%{transform:translateY(104px)}51.6%,64.8%{transform:translateY(156px)}71.6%,84.8%{transform:translateY(208px)}91.6%,100%{transform:translateY(255px)}}
.motion-scene:not(.motion-active) *{animation-play-state:paused}

/* Reference-led comparison: two entire journeys, a directional arrow and fewer steps. */
.feature-comparison{margin-top:84px}.comparison-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}.comparison-heading h3{font-size:36px;line-height:1.3}.comparison-heading p{font-size:16px;line-height:1.8;color:#53656c}
.journey-comparison{display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);align-items:stretch}
.journey-panel{min-width:0;border:1px solid #d6dde2;background:#fff;display:flex;flex-direction:column}
.journey-panel>header{padding:28px 30px;border-bottom:1px solid #e1e6e9;min-height:96px;display:flex;align-items:center;justify-content:center}
.journey-panel h4{font-size:23px;line-height:1.5;font-weight:500;text-align:center}
.journey-ontol{border-color:#6c95df}.journey-ontol>header{border-bottom-color:#a8c0eb}.journey-ontol h4{color:var(--accent)}
.journey-steps{list-style:none;padding:28px 34px 34px;margin:0;display:flex;flex-direction:column;gap:0}
.journey-steps>li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:26px;align-items:center;position:relative;min-height:130px;padding:15px 0}
.journey-steps>li:not(:last-child)::after{content:"";position:absolute;left:39px;top:calc(50% + 43px);height:34px;border-left:1px dashed #a7b4c1}
.journey-steps>li:not(:last-child)::before{content:"";position:absolute;left:36px;bottom:-3px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid #a7b4c1}
.journey-icon{display:block;width:80px;height:76px;color:#94a1ad}.journey-ontol .journey-icon{color:var(--accent)}
.journey-steps h5{font-size:20px;line-height:1.4;font-weight:500;margin:0 0 9px;word-break:keep-all}.journey-steps p{font-size:14px;line-height:1.7;color:#687680;word-break:keep-all;margin:0}
.journey-direction{align-self:center;justify-self:center;width:42px;height:42px;color:#536a78}.journey-direction svg{display:block;width:100%;height:100%}
.journey-capabilities{margin:auto 34px 34px;padding-top:28px;border-top:1px solid #dce4ed}.journey-product-name{font-size:31px;letter-spacing:-.03em;color:#263f5e;margin:0 0 14px}.journey-summary{font-size:18px;line-height:1.6;margin:0 0 24px;color:#425c79}
.journey-capabilities dl{margin:0}.journey-capabilities dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;padding:11px 0;border-top:1px solid #edf0f4;font-size:13px;line-height:1.6}.journey-capabilities dt{font-weight:500;color:#263f5e}.journey-capabilities dd{margin:0;color:#687680}
@media(max-width:1100px){.journey-comparison{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)}.journey-steps{padding:22px}.journey-steps>li{grid-template-columns:60px minmax(0,1fr);gap:18px}.journey-icon{width:60px}.journey-steps>li:not(:last-child)::after{left:29px}.journey-steps>li:not(:last-child)::before{left:26px}.journey-panel h4{font-size:20px}.journey-capabilities{margin-inline:24px}.journey-steps h5{font-size:18px}.journey-capabilities dl>div{grid-template-columns:90px minmax(0,1fr)}}
@media(max-width:900px){.comparison-heading{display:block}.comparison-heading p{margin-top:16px}.journey-comparison{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr)}.journey-panel>header{padding:22px 16px}.journey-steps{padding:18px}.journey-steps>li{grid-template-columns:44px minmax(0,1fr);gap:14px;min-height:144px}.journey-icon{width:44px}.journey-steps>li:not(:last-child)::after{left:21px}.journey-steps>li:not(:last-child)::before{left:18px}.journey-capabilities dl>div{grid-template-columns:1fr;gap:3px}.journey-direction{width:30px;height:30px}.ontol-phone-reader .mascot-motion-wrap{width:240px}.experience-intro .ontol-phone-reader{display:flex}}
@media(max-width:650px){.product-mosaic{grid-template-columns:1fr}.feature-comparison{margin-top:48px}.comparison-heading h3{font-size:28px}.comparison-heading p{font-size:15px}.journey-comparison{grid-template-columns:1fr;gap:20px}.journey-direction{width:34px;height:34px;transform:rotate(90deg)}.journey-panel>header{min-height:0;padding:22px 18px}.journey-panel h4{font-size:20px}.journey-steps{padding:15px 24px 24px}.journey-steps>li{grid-template-columns:55px minmax(0,1fr);gap:20px;min-height:122px}.journey-icon{width:55px}.journey-steps>li:not(:last-child)::after{left:27px;height:26px;top:calc(50% + 32px)}.journey-steps>li:not(:last-child)::before{left:24px}.journey-steps h5{font-size:18px}.journey-steps p{font-size:13px}.journey-capabilities{margin:12px 24px 28px;padding-top:24px}.journey-capabilities dl>div{grid-template-columns:90px minmax(0,1fr);gap:14px}.journey-product-name{font-size:28px}.journey-summary{font-size:17px}.ontol-phone-reader .mascot-motion-wrap{width:300px}}
@media(prefers-reduced-motion:reduce){.motion-scene *{animation:none!important;transition:none!important}.tesseract-flare,.writing-light,.report-book-transmission,.scribe-white-transmission,.report-book-scan,.report-screen-reset{opacity:0}.abstract-document-line{opacity:1;stroke-dashoffset:0}.report-build-front{display:none}.mascot-finger-arm{transform:none}.mascot-real-report-scroll{transform:translateY(70px)}}
