/* Scroll reveals and a short, decorative guide to the real demo links. */
.service-topic{opacity:1;translate:0 0;scale:1}
.home-motion-ready .service-topic:not(.topic-shown){opacity:0;translate:0 42px;scale:.965}
.home-motion-ready .service-topic.topic-shown:not(.topic-arrived){animation:topic-pop .82s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--topic-delay,0ms)}
@keyframes topic-pop{0%{opacity:0;translate:0 42px;scale:.965}60%{opacity:1;translate:0 -5px;scale:1.012}80%{translate:0 2px;scale:.998}100%{opacity:1;translate:0 0;scale:1}}
.service-choice .choice-bottom.demo-entry{display:block;border:0;min-height:0;padding-top:10px}
.demo-hint{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:11px;font-weight:500;line-height:1.6;color:#53715f;letter-spacing:.02em}
.demo-hint:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%;flex-shrink:0}
.choice-image .demo-hint{color:#7d674c}
.demo-button{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:55px;padding:15px 18px;border:1px solid transparent;border-radius:5px;background:#285d4c;color:#fff;line-height:1.65;isolation:isolate;transition:background .2s,box-shadow .2s}
.choice-image .demo-button{background:#6b573d}
.service-choice:hover .demo-button,.service-choice:focus-visible .demo-button{background:#1f493b;box-shadow:0 4px 15px #234f3c18}
.service-choice.choice-image:hover .demo-button,.service-choice.choice-image:focus-visible .demo-button{background:#57452f}
.demo-link-label{font-size:13px;font-weight:500;letter-spacing:.015em}
.choice-bottom.demo-entry .demo-arrow{width:19px;height:19px;color:inherit}
.demo-cursor{position:absolute;left:69%;top:28%;width:25px;height:30px;z-index:3;opacity:0;pointer-events:none;transform-origin:3px 3px;filter:drop-shadow(0 2px 2px #10251d30)}
.choice-bottom.demo-entry .demo-cursor svg{width:25px;height:30px;transform:none!important;color:inherit}
.demo-ripple{position:absolute;left:calc(69% - 11px);top:calc(28% - 11px);width:28px;height:28px;border:1.5px solid #fff;border-radius:50%;opacity:0;pointer-events:none;z-index:2;transform:scale(.35)}
.demo-entry.is-guiding .demo-button{animation:demo-button-press 2.8s ease-in-out 3}
.demo-entry.is-guiding .demo-cursor{animation:demo-cursor-tap 2.8s ease-in-out 3}
.demo-entry.is-guiding .demo-ripple{animation:demo-tap-ring 2.8s ease-out 3}
.demo-entry.is-guiding .demo-hint:before{animation:demo-hint-dot 2.8s ease-in-out 3}
@keyframes demo-button-press{0%,33%,49%,100%{transform:scale(1);box-shadow:0 0 0 0 #397b5800}40%{transform:scale(.982);box-shadow:0 0 0 5px #397b5816}57%{box-shadow:0 0 0 8px #397b5800}}
@keyframes demo-cursor-tap{0%,8%{opacity:0;translate:12px -17px;scale:1}20%{opacity:1;translate:3px -5px;scale:1}33%{opacity:1;translate:0 0;scale:1}40%{opacity:1;translate:0 2px;scale:.86}49%,65%{opacity:1;translate:0 0;scale:1}82%,100%{opacity:0;translate:8px -12px;scale:1}}
@keyframes demo-tap-ring{0%,36%{opacity:0;transform:scale(.35)}40%{opacity:.8;transform:scale(.45)}63%,100%{opacity:0;transform:scale(1.75)}}
@keyframes demo-hint-dot{0%,28%,62%,100%{transform:scale(1)}40%{transform:scale(1.7)}}
.service-choice:focus-visible{outline:3px solid #337c63;outline-offset:5px}
body[data-motion="off"] .service-topic{opacity:1!important;translate:0 0!important;scale:1!important;animation:none!important}
body[data-motion="off"] .demo-cursor,body[data-motion="off"] .demo-ripple{display:none!important}
@media(prefers-reduced-motion:reduce){body:not([data-motion="on"]) .service-topic{opacity:1!important;translate:0 0!important;scale:1!important;animation:none!important}body:not([data-motion="on"]) .demo-cursor,body:not([data-motion="on"]) .demo-ripple{display:none!important}}
@media(pointer:coarse){.demo-cursor{display:none}.demo-ripple{left:calc(74% - 11px);top:calc(50% - 11px)}}
@media(max-width:1100px) and (min-width:801px){html[data-home-layout="stacked"] .demo-link-label{font-size:12px}.demo-button{padding-inline:15px}}
@media(max-width:700px){.demo-hint{font-size:10px}.demo-link-label{font-size:11px}.demo-button{gap:9px;padding:13px 14px;min-height:52px}.choice-bottom.demo-entry .demo-arrow{width:17px;height:17px}}
@media(max-width:800px) and (min-width:521px){html[data-home-layout="stacked"] .demo-link-label{font-size:11px}html[data-home-layout="stacked"] .demo-button{padding-inline:12px}}
@media(max-width:520px){.demo-link-label{font-size:12px}.demo-button{padding-inline:15px;min-height:54px}.demo-hint{font-size:11px}}
@media(max-width:360px){.demo-link-label{font-size:11px}.demo-button{padding-inline:12px;gap:8px}}
