/* Owner-selected research page; shared navigation and footer live outside this scope. */
.research-a{--green:#284d3b;--sage:#dbe8d8;--cream:#f5f3e8;color:#243c30;background:var(--cream)}
.research-a .wrap{width:min(1280px,calc(100% - 112px))}.research-a h2{font-size:clamp(34px,3.8vw,55px);font-weight:550;line-height:1.12;letter-spacing:-.05em}.research-a h3{font-size:30px;font-weight:550;line-height:1.2;letter-spacing:-.035em}.research-a .eyebrow{color:#405746;margin-bottom:18px}.research-a p{line-height:1.75}.research-a .under-link{display:inline-block;border-bottom:1px solid currentColor;font-size:14px;font-weight:700;padding:7px 0;margin-top:22px}.research-a .under-link:hover{color:#467452}.research-a .small-label{color:inherit;font-size:11px;letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:22px;font-weight:750}.research-a .opening{background:radial-gradient(ellipse at 84% 25%,#c5dec5 0,transparent 49%),var(--cream)}
.opening-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:50px;align-items:center;padding:72px 0 52px}.opening-copy h1{font-size:clamp(52px,5.5vw,80px);max-width:650px;line-height:1.045;font-weight:550;letter-spacing:-.06em}.opening-copy h1 span{color:#5e7c4d}.opening-copy .lead{font-size:22px;line-height:1.55;margin:27px 0 17px;max-width:510px}.opening-copy .offer{font-size:16px;max-width:490px;color:#506353}.actions{display:flex;align-items:center;gap:25px;margin-top:32px}.actions .under-link{margin:0}.opening-art{position:relative;min-height:560px}.opening-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#7da584;stroke-width:1.5}.opening-lines circle{fill:#779679}.program-paper{position:absolute;top:10px;left:0;width:190px;background:#fffdf3;border:1px solid #c5cfb8;box-shadow:0 16px 35px #45563b13;padding:24px 20px;transform:rotate(-7deg)}.paper-tab{font-size:10px;letter-spacing:.025em;font-weight:750}.program-paper svg{margin-top:18px;width:100%}.program-paper p{font-size:17px;line-height:1.5;font-weight:650}.qlarity-phones{position:absolute;top:72px;right:-10px;width:83%;transform:rotate(6deg);filter:drop-shadow(0 22px 16px #273d3015)}.qlarity-phones img{width:100%;height:430px;object-fit:contain}.art-credit{position:absolute;bottom:0;left:20px;border-top:1px solid #93ad92;padding-top:16px;width:calc(100% - 20px);display:flex;gap:20px;align-items:center;font-size:12px}.art-credit strong{font-size:17px}.art-credit span{max-width:250px;line-height:1.5}.audience-line{border-top:1px solid #b7c5af;padding:20px 0 22px;display:flex;justify-content:space-between;gap:30px;font-size:11px;color:#577054}
.translation{padding:83px 0 68px;background:#e2ebdc}.section-top{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:end;margin-bottom:44px}.section-top>p,.section-top>div>p:not(.eyebrow){font-size:16px;max-width:480px}.translation-sequence{display:grid;grid-template-columns:repeat(3,1fr);position:relative;gap:50px;padding-top:10px}.translation-sequence:before{content:"";position:absolute;top:101px;left:16%;right:16%;height:1px;background:#8faa8e}.sequence-item{position:relative}.sequence-number{font-size:12px;font-weight:750;display:block;color:#405746}.sequence-item svg{width:180px;height:100px;margin:18px 0 23px;position:relative;background:#e2ebdc}.sequence-item h3{font-size:23px;margin-bottom:13px}.sequence-item p{font-size:14px;max-width:285px;color:#4e6651}.sequence-foot{display:flex;justify-content:space-between;gap:20px;margin-top:38px;padding-top:22px;border-top:1px solid #b2c7ad;align-items:center}.sequence-foot p{font-size:13px}
.qlarity-story{padding:90px 0;background:#f7f6ee}.qlarity-stage{display:grid;grid-template-columns: .55fr 1fr;align-items:center;gap:20px;background:#d5e6d8;border-radius:5px;padding:40px 20px 20px 40px}.stage-note h3{font-size:29px;margin-bottom:20px}.stage-note p{font-size:14px;max-width:280px}.stage-note svg{max-width:235px;width:100%;margin-top:15px}.qlarity-stage>img{width:100%;max-height:510px;object-fit:contain}.contribution{display:flex;justify-content:space-between;gap:30px;margin-top:28px;font-size:11px;line-height:1.8}.contribution strong{display:block;font-size:13px;font-weight:650}
.motif-story{background:#dbe9e7;padding:80px 0}.motif-grid{display:grid;grid-template-columns:.85fr 1.1fr;gap:60px;align-items:center}.motif-copy>p:not(.eyebrow){font-size:15px;margin-top:22px;max-width:450px}.motif-copy .eyebrow{color:#41666a}.motif-copy h2{color:#264e50}.motif-art{position:relative}.motif-art img{width:100%;position:relative;padding:0 5px}.rhythm-line{position:absolute;inset:0;width:100%;height:100%}.rhythm-key{display:flex;align-items:center;gap:18px;margin-top:35px;font-size:11px;color:#386266}.rhythm-key span{display:flex;gap:8px;align-items:center}.rhythm-key i{height:12px;width:26px;border-radius:10px;background:#75a9ae}.rhythm-key span:nth-child(2) i{height:2px;background:#608e92;width:16px}.rhythm-key span:nth-child(3) i{background:#cdbb67;width:20px}.motif-copy>p.motif-scope{border-top:1px solid #abc5c3;padding-top:22px;font-size:12px;color:#416468}
.team-tools{background:#1e342a;color:#edf2e7;padding:90px 0 75px}.team-tools .eyebrow{color:#b9ccb6}.team-tools .section-top>p{color:#c2d0c0}.team-tools .under-link:hover{color:#d1e4a8}.tool-row{display:grid;grid-template-columns:.7fr 1.1fr;gap:75px;align-items:center;border-top:1px solid #58705d;padding:48px 0}.tool-copy h3{font-size:36px;margin-bottom:22px}.tool-copy>p:not(.eyebrow){font-size:14px;color:#c2d0c0;max-width:410px}.peer-art{background:#d2dcca;padding:25px;border-radius:5px}.peer-art img{width:100%}.evidence-map{display:grid;grid-template-columns:1fr 60px .8fr 30px 1.25fr;align-items:center;gap:0;padding:30px 0;min-width:0}.entrant-apps{display:grid;gap:16px}.entrant-apps span{border:1px solid #8faa8e;background:#2f4c3b;padding:15px 10px;border-radius:5px;text-align:center;font-size:11px}.evidence-map>svg{width:60px;height:190px}.sdk-node{font-size:11px;line-height:1.8;text-align:center;padding:28px 10px;border:1px solid #afc09c;border-radius:50%;background:#d8e4c5;color:#294b36}.sdk-node strong{font-size:20px}.map-connector{height:1px;background:#aac7b5}.platform-node{padding:30px 16px;background:#456148;border:1px solid #9db392;border-radius:5px}.platform-node>span{font-size:10px}.platform-node strong{font-size:17px;font-weight:650;display:block;margin-top:12px;line-height:1.5}.platform-node i{display:block;height:20px;border-bottom:2px solid #c4dbb1;transform:skewY(-10deg);margin-top:15px}.map-caption{grid-column:1/-1;margin-top:23px;text-align:center;font-size:11px;color:#c2d0c0}
.collaboration{padding:90px 0;background:#f1eddd}.working-map{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:0;border:1px solid #a9b79d;border-radius:4px;background:#f8f5e9}.working-map>div{padding:35px 30px}.working-map .shared-decisions{background:#d7e4cb;border-inline:1px solid #a9b79d}.working-map h3{font-size:25px;margin-bottom:20px}.working-map p{font-size:13px;max-width:290px}.working-links{display:flex;gap:40px;flex-wrap:wrap}.invitation{background:#c6d6ba;padding:80px 0}.invitation-grid{display:grid;grid-template-columns:1.6fr .7fr;gap:50px;align-items:center}.invitation p:not(.eyebrow){font-size:16px;max-width:510px;margin-top:24px}.invitation .button{margin-top:30px}.invitation svg{width:100%}
@media(max-width:1100px){.research-a .wrap{width:calc(100% - 72px)}.opening-grid{gap:25px}.opening-art{min-height:520px}.qlarity-phones{top:100px;width:90%;right:-5px}.qlarity-phones img{height:350px}.section-top{gap:45px}.motif-grid{gap:25px}.tool-row{gap:40px}.evidence-map{grid-template-columns:1fr 35px .8fr 20px 1.1fr}.evidence-map>svg{width:35px}.platform-node{padding:25px 10px}.platform-node strong{font-size:15px}.working-map>div{padding:28px 23px}}
@media(max-width:760px){.research-a .wrap{width:calc(100% - 40px)}.opening-grid{grid-template-columns:1fr;padding:45px 0 35px;gap:20px}.opening-copy h1{font-size:clamp(43px,8.8vw,64px);max-width:580px}.opening-copy .lead{font-size:20px;margin-top:23px}.opening-copy .offer{font-size:15px}.opening-art{min-height:480px;max-width:520px;width:100%;margin:auto}.program-paper{top:15px;left:5px;width:165px;padding:20px}.program-paper p{font-size:15px}.qlarity-phones{top:67px;width:78%;right:0}.qlarity-phones img{height:350px}.art-credit{left:0;width:100%}.audience-line{flex-direction:column;gap:8px}.section-top{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.section-top>p,.section-top>div>p:not(.eyebrow){font-size:15px}.translation,.qlarity-story,.motif-story,.team-tools,.collaboration,.invitation{padding:55px 0}.translation-sequence{gap:25px}.sequence-item h3{font-size:19px}.sequence-item svg{width:100%;height:80px}.sequence-item p{font-size:12px}.translation-sequence:before{top:91px}.sequence-foot{align-items:start}.qlarity-stage{grid-template-columns:1fr;padding:28px 20px 16px;gap:15px}.stage-note svg{display:none}.stage-note p{max-width:100%}.stage-note h3 br{display:none}.qlarity-stage>img{max-height:none}.contribution{flex-direction:column;gap:17px}.motif-grid{grid-template-columns:1fr;gap:30px}.motif-art{max-width:600px;margin:auto}.tool-row{grid-template-columns:1fr;gap:30px;padding:34px 0}.tool-copy h3{font-size:32px}.peer-art{padding:15px}.evidence-map{max-width:560px;width:100%;margin:auto;grid-template-columns:1fr 40px .8fr 25px 1.2fr;padding:15px 0}.evidence-map>svg{width:40px}.working-map{grid-template-columns:1fr}.working-map .shared-decisions{border-inline:0;border-block:1px solid #a9b79d}.working-map p{max-width:100%}.working-links{gap:4px;flex-direction:column}.invitation-grid{grid-template-columns:1fr}.invitation svg{display:none}}
@media(max-width:450px){.actions{gap:19px;flex-wrap:wrap}.actions .button{padding:16px 21px;font-size:13px}.opening-art{min-height:425px}.qlarity-phones img{height:285px}.qlarity-phones{top:87px;width:80%}.program-paper{width:145px;padding:17px;top:12px}.program-paper svg{height:50px}.program-paper p{font-size:13px}.art-credit{gap:13px}.art-credit span{font-size:11px}.translation-sequence{grid-template-columns:1fr;gap:28px}.translation-sequence:before{left:48px;right:auto;top:25px;bottom:45px;width:1px;height:auto}.sequence-item{display:grid;grid-template-columns:85px 1fr;column-gap:22px;row-gap:10px;padding-top:10px}.sequence-number{position:absolute;top:-2px;left:0;z-index:1}.sequence-item svg{grid-column:1;grid-row:1/3;width:85px;height:85px;margin:10px 0 0}.sequence-item h3{grid-column:2;grid-row:1;align-self:end;margin:0;font-size:22px}.sequence-item p{grid-column:2;grid-row:2;font-size:13px}.sequence-foot{flex-direction:column}.qlarity-story .section-top .under-link{margin-top:16px}.motif-copy>p:not(.eyebrow){font-size:14px}.rhythm-key{gap:15px}.evidence-map{grid-template-columns:1fr 28px .85fr 15px 1.1fr}.evidence-map>svg{width:28px;height:158px}.entrant-apps span{font-size:9px;padding:12px 6px}.sdk-node{padding:19px 5px;font-size:10px}.sdk-node strong{font-size:18px}.platform-node{padding:22px 8px}.platform-node strong{font-size:12px}.platform-node>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.research-a *{animation:none!important;transition:none!important}.research-a html{scroll-behavior:auto}}

/* A finite research-to-product introduction; the selected composition is its final pose. */

.opening-art.is-playing .program-paper{animation:paper-settle .85s cubic-bezier(.2,.65,.3,1) both}
.opening-art.is-playing .opening-lines path{stroke-dasharray:1;animation:research-path 1.65s .35s cubic-bezier(.3,.1,.3,1) both}
.opening-art.is-playing .opening-lines path:nth-of-type(2){animation-delay:.5s}
.opening-art.is-playing .opening-lines path:nth-of-type(3){animation-delay:.65s}
.opening-art.is-playing .opening-lines circle{animation:connection-end .25s 2s both}
@keyframes connection-end{from{opacity:0}to{opacity:1}}
.opening-art.is-playing .qlarity-phones{animation:product-settle 1.45s .9s cubic-bezier(.2,.65,.3,1) both}
@keyframes paper-settle{from{transform:translate(0,12px) rotate(-11deg)}to{transform:translate(0,0) rotate(-7deg)}}
@keyframes research-path{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes product-settle{from{transform:translate(0,20px) rotate(2deg);opacity:.35}to{transform:translate(0,0) rotate(6deg);opacity:1}}
/* The line carries the sequence; labels and illustrations stay still. */
.translation-sequence::after{content:"";position:absolute;top:101px;left:16%;right:16%;height:2px;background:#476e52;transform-origin:left;opacity:0;pointer-events:none}
.translation-sequence.is-playing::after{animation:connect-steps 2.4s cubic-bezier(.4,.1,.4,1) both}
.sequence-item{z-index:1}
@keyframes connect-steps{0%{transform:scaleX(0);opacity:1}85%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
/* Original footage sits in front of the static centre screen. No speed change or loop. */
.motif-demo{position:absolute;left:35.5%;top:10%;width:29%;height:auto;aspect-ratio:346/710;clip-path:inset(0 1% round 8%);filter:drop-shadow(0 10px 12px #24494b20)}
.conversation-controls{min-height:48px;margin-top:5px;text-align:center;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}

.demo-status{font-size:12px;line-height:1.5;color:#416468;max-width:350px}
@media(max-width:760px){.translation-sequence::after{top:91px}}
@media(max-width:450px){.translation-sequence::after{left:48px;right:auto;top:25px;bottom:45px;width:2px;height:auto;transform-origin:top}.translation-sequence.is-playing::after{animation-name:connect-steps-vertical}}
@keyframes connect-steps-vertical{0%{transform:scaleY(0);opacity:1}85%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}

/* One pass through collection and reporting. Signals illustrate connections, not live data. */
.evidence-motion{min-width:0;width:100%}
.entry-flow{opacity:0;stroke-linecap:round}
.evidence-motion.is-playing .entry-flow{opacity:1}
.evidence-motion.is-playing .entry-flow path{stroke-dasharray:.12 .88;animation:entry-signal 1.1s ease-in-out both}
.evidence-motion.is-playing .entry-flow path:nth-child(2){animation-delay:.16s}
.evidence-motion.is-playing .entry-flow path:nth-child(3){animation-delay:.32s}
@keyframes entry-signal{0%{stroke-dashoffset:.12;opacity:0}15%{opacity:1}85%{opacity:1}100%{stroke-dashoffset:-1;opacity:0}}
.evidence-motion.is-playing .sdk-node{animation:sdk-receive .65s 1.05s ease-out both}
@keyframes sdk-receive{0%,100%{box-shadow:0 0 0 0 #f6cf5500}35%{box-shadow:0 0 0 7px #f6cf5538}}
.map-connector{position:relative}
.map-connector::after{content:"";position:absolute;inset:-1px 0;background:#f6cf55;opacity:0;transform-origin:left}
.evidence-motion.is-playing .map-connector::after{animation:report-connect .65s 1.3s ease-out both}
@keyframes report-connect{0%{transform:scaleX(0);opacity:1}80%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
.platform-node i{position:relative}
.platform-node i::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:#f6cf55;opacity:0;transform-origin:left}
.evidence-motion.is-playing .platform-node i::after{animation:report-connect .95s 1.7s ease-out both}
.evidence-controls{min-height:44px;text-align:right}

/* The invitation completes the path with a small, settled milestone symbol. */
.closing-art{width:100%;min-width:0;max-width:360px;justify-self:center}
.closing-art .milestone-symbol{transform-box:fill-box;transform-origin:center}
.closing-art.is-playing .milestone-path{stroke-dasharray:1;animation:milestone-draw 1.85s ease-in-out both}
.closing-art.is-playing .milestone-path:nth-child(2){animation-delay:.2s}
.closing-art.is-playing .milestone-symbol{animation:milestone-settle .75s .8s cubic-bezier(.2,.65,.3,1) both}
.closing-art.is-playing .milestone-plus{stroke-dasharray:1;animation:milestone-draw .65s 1.05s ease-out both}
@keyframes milestone-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes milestone-settle{from{transform:scale(.86)}to{transform:scale(1)}}
@media(max-width:760px){.closing-art{max-width:260px}.invitation .closing-art svg{display:block}.invitation-grid{gap:25px}}
