/* JSOFY R16.3 — purposeful compositor-only motion, no third-party dependencies. */
.page-home{--r163-purple:#686ce8;--r163-violet:#b193ef}
.page-home .hero-stage{transform:translateZ(0)}
.page-home .hero-grid{isolation:isolate}
.page-home .hero-halo{opacity:.82}
.page-home .r161-connect{background:radial-gradient(ellipse 45% 52% at 77% 43%,#d8e4ff80,transparent 90%),linear-gradient(140deg,#fff,#f5f7ff)}
/* Counterflow. Track and its child spin at equal speed in opposite directions;
   the linked cards remain upright while their centers orbit. */
.page-home .r161-network{overflow:visible;min-height:555px}
.page-home .r161-network .r161-connector-lines{opacity:.2;pointer-events:none}
.page-home .r163-orbit-system{position:absolute;inset:0;z-index:3;pointer-events:none}
.page-home .r163-orbit-track{position:absolute;inset:2% 3%;transform-origin:50% 49%;animation-play-state:paused!important;pointer-events:none}
.page-home .r163-orbit-track--outer{animation:r163-orbit-outer 34s linear infinite}
.page-home .r163-orbit-track--inner{inset:12% 13%;animation:r163-orbit-inner 27s linear infinite}
.page-home .r161-network.r161-in-view .r163-orbit-track{animation-play-state:running!important}
.page-home .r163-orbit-shell{position:absolute;z-index:4;transform:translate(-50%,-50%);pointer-events:auto}
.page-home .r163-orbit-shell--north{top:6%;left:50%}
.page-home .r163-orbit-shell--south{top:92%;left:50%}
.page-home .r163-orbit-shell--west{top:50%;left:3%}
.page-home .r163-orbit-shell--east{top:50%;left:97%}
.page-home .r163-orbit-shell .r161-orbit-node{position:relative;top:auto;right:auto;bottom:auto;left:auto;transform:none;animation:none;display:flex;min-height:67px;min-width:165px;border:1px solid #dbe6fb;box-shadow:0 15px 35px #344a8b20;backdrop-filter:blur(12px);pointer-events:auto}
.page-home .r163-orbit-track--outer .r161-orbit-node{animation:r163-upright-outer 34s linear infinite;animation-play-state:paused}
.page-home .r163-orbit-track--inner .r161-orbit-node{animation:r163-upright-inner 27s linear infinite;animation-play-state:paused}
.page-home .r161-network.r161-in-view .r163-orbit-track .r161-orbit-node{animation-play-state:running}
.page-home .r161-core{z-index:4;box-shadow:0 0 0 20px #fff9,0 38px 95px #445cab2c}
.page-home .r161-orbit{box-shadow:0 0 0 1px #b7c8fa18}
@keyframes r163-orbit-outer{from{transform:rotate(12deg)}to{transform:rotate(-348deg)}}
@keyframes r163-upright-outer{from{transform:rotate(-12deg)}to{transform:rotate(348deg)}}
@keyframes r163-orbit-inner{from{transform:rotate(-35deg)}to{transform:rotate(325deg)}}
@keyframes r163-upright-inner{from{transform:rotate(35deg)}to{transform:rotate(-325deg)}}
/* Continuous, measured, scrollLeft-driven rail has 3 indistinguishable cycles. */
.page-home .r161-gallery-window{isolation:isolate}
.page-home .r161-gallery-rail{scroll-snap-type:none;scroll-behavior:auto!important;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior-x:contain;mask-image:linear-gradient(90deg,transparent,#000 4.5%,#000 95.5%,transparent)}
.page-home .r161-gallery-rail.r163-dragging{cursor:grabbing;user-select:none;scroll-behavior:auto!important}
.page-home .r161-gallery-item{scroll-snap-align:none}
.page-home .r161-gallery-item:focus-visible{outline:3px solid #646be6;outline-offset:5px;border-radius:18px}
.page-home .r161-gallery-item img{object-fit:cover;aspect-ratio:4/3}
.page-home .r161-gallery-window::before,.page-home .r161-gallery-window::after{display:none}
.page-home .r163-gallery-pause{font-family:inherit;font-size:11px;font-weight:600;line-height:1.3;padding:10px 13px;border:1px solid #dce4f0;border-radius:999px;background:#f7f9ff;color:#465584;cursor:pointer}
.page-home .r163-gallery-pause:hover,.page-home .r163-gallery-pause:focus-visible{background:#e9edff;outline-offset:3px}
/* Scroll-pinned phone revealing from masked scene, independent product screenshot layer. */
.page-home .r162-studio{padding-bottom:42px}
.page-home .r163-studio-scrollspace{min-height:110svh;position:relative}
.page-home .r162-studio-wrap{position:sticky;top:clamp(45px,8svh,100px);align-items:center}
.page-home .r162-scene{--r163-rise:0px;--r163-scale:1;--r163-opacity:1;--r163-card-reveal:1;clip-path:inset(0 round 40px);overflow:hidden;box-shadow:0 34px 95px #2534541c}
.page-home .r163-device-motion{position:absolute;z-index:2;inset:0;opacity:var(--r163-opacity);transform:translate3d(0,var(--r163-rise),0) scale(var(--r163-scale));transform-origin:center 64%;pointer-events:none}
.page-home .r162-phone{will-change:auto}.page-home .r162-studio.r162-active .r162-phone{will-change:transform}
.page-home .r163-source-stack{position:absolute;inset:0;pointer-events:none;z-index:1}
.page-home .r163-source-card{position:absolute;right:1.7%;bottom:9%;width:clamp(104px,15vw,134px);height:200px;margin:0;padding:6px;background:#fff;border:1px solid #e6ebf7;border-radius:17px;box-shadow:0 24px 55px #233b7e30;overflow:hidden;transform:translate3d(15px,calc((1 - var(--r163-card-reveal)) * 54px),0) rotate(8deg);opacity:var(--r163-card-reveal)}
.page-home .r163-source-card img{display:block;width:100%;height:calc(100% - 24px);object-fit:cover;object-position:top;border-radius:11px;background:#f3f6fa}
.page-home .r163-source-card figcaption{height:24px;text-align:center;font-size:8px;font-weight:800;letter-spacing:.13em;color:#667593;padding-top:7px}
.page-home .r163-source-pos,.page-home .r163-source-web,.page-home .r163-source-home{display:none}
.page-home .r162-studio[data-mode="pos"] .r163-source-pos,.page-home .r162-studio[data-mode="web"] .r163-source-web,.page-home .r162-studio[data-mode="home"] .r163-source-home{display:block}
.page-home .r162-float{opacity:calc(.22 + var(--r163-card-reveal) * .78)}
.page-home .r162-ring-a{border-color:#8296e358}.page-home .r162-ring-b{border-color:#a794dd56}
.page-home .r162-studio .r162-screen[hidden]{display:none!important}
/* Social proof, never an unlabeled synthetic review. */
.page-home .r163-testimonials{background:linear-gradient(135deg,#101a36 0%,#202851 48%,#101c3b 100%);padding:clamp(80px,9vw,145px) 0;color:#fff;overflow:hidden}
.page-home .r163-proof-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,7vw,115px);align-items:center}
.page-home .r163-proof-kicker{font-size:11px;letter-spacing:.2em;color:#a8b9fb;font-weight:800}
.page-home .r163-proof-title h2{font:700 clamp(38px,4.2vw,66px)/1.18 'Be Vietnam Pro',system-ui,sans-serif;letter-spacing:-.05em;margin:20px 0;color:#fff}
.page-home .r163-proof-title h2 em{font-style:normal;background:linear-gradient(120deg,#b3c5ff,#cab1ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.page-home .r163-proof-title>p:not(.r163-proof-kicker){max-width:535px;color:#c5cce3;line-height:1.85;font-size:16px;margin-bottom:26px}
.page-home .r163-proof-title .btn{background:#f6f8ff;color:#1d2952}
.page-home .r163-proof-fallback{position:relative;min-width:0}
.page-home .r163-proof-visual{aspect-ratio:4/3;background:radial-gradient(ellipse at 55% 50%,#4c63b699,transparent 75%);border:1px solid #e3ebff26;border-radius:27px;overflow:hidden}
.page-home .r163-proof-visual img{height:100%;width:100%;object-fit:cover;display:block}
.page-home .r163-proof-note{position:relative;margin:-38px 14px 0;z-index:1;background:#fcfdff;border-radius:18px;padding:20px 23px;display:flex;gap:15px;box-shadow:0 19px 45px #080f3180;color:#1b2541}
.page-home .r163-proof-note>span{font-size:31px;color:#776fed;flex:0 0 38px}
.page-home .r163-proof-note strong{display:block;font-size:16px}.page-home .r163-proof-note p{font-size:12px;line-height:1.65;color:#64708b;margin:7px 0 0}
.page-home .r163-review-grid{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;max-width:100%}
.page-home .r163-review-card{flex:0 0 min(80vw,430px);padding:27px;border:1px solid #ffffff40;border-radius:20px;background:#ffffff11;scroll-snap-align:center}
.page-home .r163-review-card blockquote{font-size:17px;line-height:1.65;margin:0 0 20px}.page-home .r163-review-card strong,.page-home .r163-review-card span,.page-home .r163-review-card a{display:block;margin-top:9px;color:#fff}.page-home .r163-review-card a{color:#c0cafa}
.page-home .r163-gallery-pause:focus-visible,.page-home .r161-gallery-arrow:focus-visible{outline:3px solid #6776ed}
@media(max-width:1100px){.page-home .r163-orbit-shell .r161-orbit-node{min-width:142px;padding:10px 8px}.page-home .r163-orbit-track--outer{inset:8% 6%}.page-home .r163-orbit-track--inner{inset:19% 16%}}
@media(max-width:800px){
 .page-home .r161-network{min-height:0;overflow:visible}
 .page-home .r163-orbit-system,.page-home .r163-orbit-track,.page-home .r163-orbit-shell{display:contents;animation:none!important;transform:none!important}
 .page-home .r163-orbit-shell .r161-orbit-node{position:relative;width:auto;min-width:0;min-height:78px;transform:none!important;animation:none!important;display:flex}
 .page-home .r163-studio-scrollspace{min-height:0}
 .page-home .r162-studio-wrap{position:relative;top:auto}
 .page-home .r162-studio{padding-bottom:90px}
 .page-home .r163-source-card{right:9%;bottom:6%;height:165px;width:105px}
 .page-home .r163-proof-layout{grid-template-columns:1fr;gap:36px}
 .page-home .r163-proof-visual{max-width:700px}
 .page-home .r161-gallery-rail{mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
}
@media(max-width:480px){
 .page-home .r161-network{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:170px}
 .page-home .r163-orbit-shell .r161-orbit-node{min-height:78px;min-width:0;flex-direction:column;gap:6px;align-items:flex-start;justify-content:center;padding:10px 11px}
 .page-home .r163-orbit-shell .r161-orbit-node strong{font-size:10px}.page-home .r163-orbit-shell .r161-orbit-node small{font-size:9px;margin-top:2px}
 .page-home .r161-gallery-controls{flex-wrap:wrap;justify-content:flex-end;gap:8px}
 .page-home .r163-gallery-pause{order:3;width:100%;text-align:center}
 .page-home .r162-scene{clip-path:inset(0 round 22px)}
 .page-home .r163-source-card{right:0;bottom:13%;width:72px;height:125px;border-radius:10px;opacity:calc(.22 + var(--r163-card-reveal) * .55)}
 .page-home .r163-source-card figcaption{font-size:6px;letter-spacing:.05em}
 .page-home .r163-proof-title h2{font-size:clamp(36px,9vw,47px)}
 .page-home .r163-proof-note{margin:-20px 10px 0;padding:14px 15px}
}
@media(prefers-reduced-motion:reduce){
 .page-home .r163-orbit-track,.page-home .r163-orbit-track .r161-orbit-node{animation:none!important;transform:none!important}
 .page-home .r163-device-motion{transform:none!important;opacity:1!important}
 .page-home .r163-source-card{transform:rotate(3deg)!important;opacity:1!important}
 .page-home .r162-float{opacity:1!important}
 .page-home .r161-gallery-rail{scroll-behavior:auto!important}
}

/* Reduced network/data budgets stop all continuous orbit animation. */
.r163-save-data.page-home .r163-orbit-track,.r163-save-data .page-home .r163-orbit-track,.r163-save-data .page-home .r163-orbit-track .r161-orbit-node{animation:none!important;transform:none!important}

.page-home .r163-review-pause{margin:0 0 16px;padding:10px 14px;border:1px solid #ffffff60;border-radius:999px;background:#ffffff10;color:#fff;font:inherit;font-size:12px;cursor:pointer}
.page-home .r163-review-pause:focus-visible{outline:3px solid #d0d9ff;outline-offset:3px}
