
/* QTI Labs V3 motion and interaction system */
:root{--v3-teal:#15c7bd;--v3-cyan:#45c7f3;--v3-navy:#061827;--v3-blue:#0c3f78;--v3-soft:#eef8fb;--v3-shadow:0 18px 48px rgba(8,42,85,.14)}
.brand-logo-horizontal{height:54px;max-width:220px}.brand-logo-footer{height:76px;max-width:280px}.site-header .brand{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.v3-dynamic-line{max-width:880px;margin:16px 0 0;color:var(--v3-cyan);font-size:clamp(1.05rem,2.1vw,1.65rem);font-weight:780;line-height:1.25;min-height:1.4em;transition:opacity .26s ease,transform .26s ease}.v3-dynamic-line.is-changing{opacity:0;transform:translateY(9px)}
.v3-pulse{overflow:hidden;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(7,35,65,.09);background:linear-gradient(90deg,#061827,#0a315a 52%,#061827);color:white}.v3-pulse-track{display:flex;width:max-content;animation:v3-marquee 34s linear infinite}.v3-pulse:hover .v3-pulse-track{animation-play-state:paused}.v3-pulse-item{display:flex;align-items:center;gap:10px;min-width:270px;padding:19px 28px;border-right:1px solid rgba(255,255,255,.1);font-size:.82rem;font-weight:760;letter-spacing:.035em}.v3-pulse-item:before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--v3-teal),var(--v3-cyan));box-shadow:0 0 18px rgba(69,199,243,.8)}
@keyframes v3-marquee{to{transform:translateX(-50%)}}
.v3-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}.v3-reveal.is-visible{opacity:1;transform:none}.v3-reveal[data-v3-delay="1"]{transition-delay:.08s}.v3-reveal[data-v3-delay="2"]{transition-delay:.16s}.v3-reveal[data-v3-delay="3"]{transition-delay:.24s}.v3-reveal[data-v3-delay="4"]{transition-delay:.32s}
.v2-card,.company-card,.portfolio-card,.process-step,.contact-mini-card,.phone-frame{transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}.v2-card:hover,.company-card:hover,.portfolio-card:hover,.process-step:hover,.contact-mini-card:hover{transform:translateY(-7px);box-shadow:var(--v3-shadow);border-color:rgba(21,199,189,.5)}
.v3-rail{position:relative;overflow:hidden;padding:10px 0 26px}.v3-rail-track{display:flex;gap:18px;width:max-content;animation:v3-cardrail 42s linear infinite}.v3-rail:hover .v3-rail-track{animation-play-state:paused}.v3-rail-card{width:min(330px,82vw);padding:22px;border:1px solid #d9e7f1;border-radius:20px;background:white;box-shadow:0 12px 34px rgba(8,42,85,.08)}.v3-rail-card small{display:block;margin-bottom:8px;color:#0b8e98;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.v3-rail-card strong{display:block;color:#122943;font-size:1.12rem;line-height:1.25}.v3-rail-card span{display:block;margin-top:8px;color:#66798e;font-size:.9rem;line-height:1.5}@keyframes v3-cardrail{to{transform:translateX(-50%)}}
.v3-floating-orb{position:absolute;pointer-events:none;border-radius:50%;filter:blur(2px);opacity:.55;animation:v3-float 8s ease-in-out infinite}.v3-floating-orb.one{width:120px;height:120px;right:10%;top:18%;background:radial-gradient(circle,#19d4c5,transparent 70%)}.v3-floating-orb.two{width:170px;height:170px;right:30%;bottom:3%;background:radial-gradient(circle,#2673d9,transparent 70%);animation-delay:-3s}@keyframes v3-float{50%{transform:translate3d(0,-18px,0) scale(1.04)}}
.v3-counter{font-variant-numeric:tabular-nums}.phone-frame:nth-child(1){animation:v3-phone-a 6s ease-in-out infinite}.phone-frame:nth-child(2){animation:v3-phone-b 6s ease-in-out infinite}@keyframes v3-phone-a{50%{transform:translateY(-10px) rotate(-1deg)}}@keyframes v3-phone-b{50%{transform:translateY(10px) rotate(1deg)}}
.er-feature-nav{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0}.er-feature-nav a{padding:10px 14px;border:1px solid #cfe0eb;border-radius:999px;background:#fff;color:#123254;font-weight:750;text-decoration:none}.er-feature-nav a:hover{border-color:var(--v3-teal);color:#087f85}
.er-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.er-detail-card{position:relative;overflow:hidden;padding:28px;border:1px solid #d9e6ef;border-radius:22px;background:#fff;box-shadow:0 12px 34px rgba(8,42,85,.07)}.er-detail-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--v3-teal),var(--v3-cyan))}.er-detail-card h3{margin-bottom:10px}.er-detail-card ul{padding-left:18px}.er-detail-card li{margin:8px 0;color:#62758b}.er-screenshot-stage{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center}.er-screenshot-copy h2{font-size:clamp(2.4rem,5vw,4.5rem)}.er-phone-showcase{display:flex;justify-content:center;gap:24px;perspective:1000px}.er-phone-showcase .phone-frame{width:min(280px,41vw);box-shadow:0 30px 70px rgba(91,72,27,.2)}
.er-play-cta{display:inline-flex;align-items:center;gap:12px;padding:14px 21px;border-radius:14px;background:#111;color:#fff!important;font-weight:800;text-decoration:none;box-shadow:0 14px 34px rgba(0,0,0,.2)}.er-play-cta:before{content:"▶";display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#31d36d,#27a8ff);font-size:.72rem}.er-play-cta:hover{transform:translateY(-2px)}
.er-support-banner{padding:34px;border-radius:25px;background:linear-gradient(135deg,#fff3dd,#fffaf2);border:1px solid #efd9b8}.er-support-banner h2{color:#8a4b08}.er-privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.er-privacy-grid article{padding:23px;border-radius:18px;background:#f5fafc;border:1px solid #dbe8ef}
@media(max-width:900px){.er-detail-grid{grid-template-columns:1fr 1fr}.er-screenshot-stage{grid-template-columns:1fr}.v3-pulse-item{min-width:240px}.brand-logo-horizontal{height:46px}}
@media(max-width:650px){.er-detail-grid,.er-privacy-grid{grid-template-columns:1fr}.er-phone-showcase{gap:12px}.v3-pulse-track{animation-duration:28s}.v3-rail-track{animation-duration:34s}.v3-dynamic-line{min-height:3em}.brand-logo-horizontal{height:42px;max-width:175px}}
@media(prefers-reduced-motion:reduce){.v3-pulse-track,.v3-rail-track,.phone-frame,.v3-floating-orb{animation:none!important}.v3-reveal{opacity:1;transform:none}.v3-dynamic-line{transition:none}}
