/* JSOFY R16.1 — Bevel-inspired editorial motion. Scoped to homepage.
   No animation dependency, no autoplaying media, no external runtime requests. */
.page-home{--r161-ink:#222326;--r161-muted:#627184;--r161-cloud:#ebf0f8;--r161-violet:#6875e8;}
.page-home #home-hero{--r161-hero-focus:0;}
.page-home .hero-stage::after{content:"";position:absolute;z-index:0;inset:5% 9%;pointer-events:none;border:1px solid #93aeec2b;border-radius:50%;transform:translate3d(0,calc(var(--hero-slow) * -.35),0) rotate(-15deg);}
.page-home .hero-float-icon svg{width:20px;height:20px}
.page-home .hero-float{transition:box-shadow .4s ease;background:#ffffffed}
.page-home .hero-float:hover{box-shadow:0 20px 50px #3152a333}
.page-home .hero-float .hero-float-icon{animation:r161-icon-bob 5.6s ease-in-out infinite;animation-play-state:paused}
.page-home .hero-float-b .hero-float-icon{animation-delay:-1.7s}
.page-home .hero-float-c .hero-float-icon{animation-delay:-3.2s}
.page-home .r161-hero-spark{position:absolute;z-index:2;width:7px;height:7px;border:2px solid #d7e5ff;background:#829dff;border-radius:50%;box-shadow:0 0 0 7px #8da9ff18;pointer-events:none;animation:r161-glimmer 6.2s ease-in-out infinite;animation-play-state:paused}
.page-home .r161-hero-spark-a{top:23%;right:12%;animation-delay:-1.8s;transform:translate3d(0,var(--hero-fast),0)}
.page-home .r161-hero-spark-b{bottom:29%;left:11%;animation-delay:-3.6s;transform:translate3d(0,var(--hero-mid),0)}
.page-home .r161-hero-spark-c{top:43%;left:4%;animation-delay:-2.8s;width:4px;height:4px}
.page-home .r161-hero-active .r161-hero-spark,.page-home .r161-hero-active .hero-float-icon{animation-play-state:running}
@keyframes r161-icon-bob{0%,100%{translate:0 0}50%{translate:0 -5px}}
@keyframes r161-glimmer{0%,100%{opacity:.3;scale:.7}50%{opacity:.9;scale:1.28}}
/* Editorial staggered reveal. Only hidden when JS and observer have initialized. */
.page-home.r161-motion-ready .r161-reveal{opacity:0;transform:translate3d(0,35px,0);transition:opacity .85s cubic-bezier(.19,1,.22,1),transform .95s cubic-bezier(.19,1,.22,1)}
.page-home.r161-motion-ready .r161-reveal.r161-visible{opacity:1;transform:translate3d(0,0,0)}
.page-home.r161-motion-ready .r161-reveal[data-r161-delay="1"]{transition-delay:90ms}
.page-home.r161-motion-ready .r161-reveal[data-r161-delay="2"]{transition-delay:180ms}
.page-home.r161-motion-ready .r161-reveal[data-r161-delay="3"]{transition-delay:270ms}
.page-home .card.feature.r161-reveal{will-change:auto}
.page-home .r161-reveal.r161-visible.card.feature{transform:translateY(0)}
.page-home .r161-reveal.r161-visible.card.feature:hover{transform:translateY(-5px)}
.page-home .split figure.showcase{overflow:hidden;border:0;border-radius:26px;box-shadow:0 26px 72px #202e4416}
.page-home .split figure.showcase img{transform:scale(1.002);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.page-home .split figure.showcase:hover img{transform:scale(1.045)}
/* Integration constellation: each chip is a functional link, not a dummy UI card. */
.page-home .r161-connect{overflow:hidden;background:radial-gradient(ellipse at 85% 50%,#e7effb 0%,transparent 56%),linear-gradient(135deg,#ffffff,#f5f8fd);padding:clamp(94px,10vw,150px) 0;isolation:isolate}
.page-home .r161-connect-layout{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);align-items:center;gap:clamp(40px,6vw,104px)}
.page-home .r161-connect-intro{max-width:535px;position:relative;z-index:3}
.page-home .r161-kicker{margin:0 0 20px;font-size:11px;letter-spacing:.16em;font-weight:760;color:#60718c}
.page-home .r161-connect h2,.page-home .r161-gallery-heading h2{font-size:clamp(39px,4.3vw,66px);line-height:1.13;letter-spacing:-.056em;font-weight:700;margin:0 0 24px;color:var(--r161-ink)}
.page-home .r161-connect h2 span,.page-home .r161-gallery-heading h2 span{color:#6977c6}
.page-home .r161-connect-intro>p:not(.r161-kicker),.page-home .r161-gallery-description{font-size:clamp(16px,1.16vw,18px);line-height:1.82;color:#5e6d7e;max-width:570px;margin:0 0 26px}
.page-home .r161-inline-link{display:inline-flex;align-items:center;gap:18px;font-size:14px;font-weight:720;border-bottom:1px solid #7784bb;padding:8px 0;color:#273a60}
.page-home .r161-inline-link:hover{color:#5662bf}
.page-home .r161-network{position:relative;isolation:isolate;width:100%;min-height:535px;--r161-network-y:0px;--r161-network-x:0px;contain:layout}
.page-home .r161-network::before{content:"";position:absolute;inset:16%;background:radial-gradient(circle,#c6e1ff99 0,#d6daff45 39%,transparent 73%);filter:blur(24px);border-radius:50%;z-index:-1;transform:translate3d(0,var(--r161-network-y),0)}
.page-home .r161-orbit{position:absolute;inset:10% 13%;border:1px solid #9eb6e059;border-radius:50%;pointer-events:none;transform:rotate(-19deg) translateY(calc(var(--r161-network-y) * -.25))}
.page-home .r161-orbit-b{inset:20% 23%;border-style:dashed;border-color:#a1b3ce44;transform:rotate(24deg) translateX(var(--r161-network-x))}
.page-home .r161-connector-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.page-home .r161-connector-lines path{fill:none;stroke:#98acd1b5;stroke-width:1.1;stroke-dasharray:4 7}
.page-home .r161-core{position:absolute;z-index:2;left:50%;top:49%;transform:translate(-50%,-50%) translate3d(0,calc(var(--r161-network-y) * .18),0);display:flex;align-items:center;justify-content:center;flex-direction:column;width:190px;height:190px;border-radius:50%;box-shadow:0 0 0 14px #fff7,0 28px 65px #4469ba20;background:#fff;border:1px solid #d7e1f1;text-align:center;pointer-events:none}
.page-home .r161-core-mark{width:54px;height:54px;display:block;margin-bottom:8px}.page-home .r161-core-mark img{width:100%;height:100%;object-fit:contain}.page-home .r161-core strong{font-size:23px;letter-spacing:-.04em}.page-home .r161-core small{font-size:11px;color:#6a7890;margin-top:3px}
.page-home .r161-orbit-node{--r161-drift:0px;display:flex;gap:10px;align-items:center;position:absolute;z-index:4;min-width:173px;padding:12px 14px;border-radius:18px;background:#fffffff5;border:1px solid #e5ebf4;box-shadow:0 13px 38px #24466a16;transform:translate3d(0,var(--r161-drift),0);transition:box-shadow .3s,border-color .3s,background .3s;animation:r161-node-float 7.6s ease-in-out infinite;animation-play-state:paused}
.page-home .r161-orbit-node:hover{background:#fff;border-color:#a8b8e4;box-shadow:0 15px 35px #30479e2e}
.page-home .r161-network.r161-in-view .r161-orbit-node{animation-play-state:running}
.page-home .r161-node-pos{top:8%;left:3%;animation-delay:-1.3s}.page-home .r161-node-web{top:7%;right:0;animation-delay:-3.2s}.page-home .r161-node-home{bottom:9%;right:0;animation-delay:-5.1s}.page-home .r161-node-account{bottom:9%;left:0;animation-delay:-2.7s}
.page-home .r161-orbit-node strong,.page-home .r161-orbit-node small{display:block}.page-home .r161-orbit-node strong{font-size:12px;line-height:1.32;color:#28354a}.page-home .r161-orbit-node small{font-size:10px;color:#6d7d91;margin-top:4px;line-height:1.35}
.page-home .r161-node-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:12px;background:#e9effc;color:#536bba}.page-home .r161-node-icon svg{width:22px;height:22px}.page-home .r161-node-icon-home{background:#e7f5f1;color:#488b76}.page-home .r161-node-icon-web{background:#e9eafd;color:#7567c4}.page-home .r161-node-icon-account{background:#f0e8ff;color:#8d65ad}
.page-home .r161-network-spark{position:absolute;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 6px #a5c3eb1a;background:#92afec;opacity:.8;animation:r161-spark 4s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.page-home .r161-network.r161-in-view .r161-network-spark{animation-play-state:running}.page-home .r161-network-spark-one{top:20%;left:34%;animation-delay:-2s}.page-home .r161-network-spark-two{top:63%;right:18%;animation-delay:-.6s}.page-home .r161-network-spark-three{bottom:22%;left:30%;animation-delay:-3.2s}
@keyframes r161-node-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@keyframes r161-spark{0%,100%{opacity:.3;scale:.75}50%{opacity:1;scale:1.35}}
/* Bevel-style horizontal media gallery with swipe/drag-friendly native scroll. */
.page-home .r161-gallery-section{background:#fff;padding:clamp(85px,9vw,140px) 0 clamp(90px,10vw,145px);overflow:hidden}
.page-home .r161-gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:36px}
.page-home .r161-gallery-heading>div:first-child{max-width:760px}
.page-home .r161-gallery-heading h2{max-width:850px;margin-bottom:18px}
.page-home .r161-gallery-description{margin-bottom:0;max-width:630px}
.page-home .r161-gallery-controls{display:flex;align-items:center;gap:10px;flex-shrink:0;margin-bottom:5px}
.page-home .r161-gallery-arrow{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fff;border:1px solid #dce4f0;color:#2c3950;transition:background .2s,border-color .2s}
.page-home .r161-gallery-arrow:hover:not(:disabled){background:#eaf0fa;border-color:#b8c7df}
.page-home .r161-gallery-arrow:disabled{opacity:.35;cursor:default}.page-home .r161-gallery-arrow svg{width:21px;height:21px}
.page-home .r161-gallery-count{font-size:11px;letter-spacing:.07em;font-weight:750;color:#65748c;margin-left:8px;min-width:52px}
.page-home .r161-gallery-window{position:relative}.page-home .r161-gallery-window::before,.page-home .r161-gallery-window::after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:min(5vw,58px);pointer-events:none}
.page-home .r161-gallery-window::before{left:0;background:linear-gradient(90deg,#fff,transparent)}.page-home .r161-gallery-window::after{right:0;background:linear-gradient(270deg,#fff,transparent)}
.page-home .r161-gallery-rail{display:flex;align-items:stretch;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:clamp(24px,7vw,116px);padding:8px max(24px,calc((100vw - 1200px)/2)) 22px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.page-home .r161-gallery-rail::-webkit-scrollbar{display:none}
.page-home .r161-gallery-item{flex:0 0 clamp(295px,38vw,540px);min-width:0;display:block;scroll-snap-align:center;white-space:normal}
.page-home .r161-gallery-visual{height:clamp(230px,28vw,390px);background:#edf3fb;border-radius:28px;overflow:hidden;position:relative;box-shadow:0 16px 35px #22385b11}
.page-home .r161-gallery-visual img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.19,1,.22,1)}
.page-home .r161-gallery-item:hover img{transform:scale(1.035)}
.page-home .r161-gallery-visual-web{background:#e7ebfa}.page-home .r161-gallery-visual-home{background:#e7f4ee}.page-home .r161-gallery-visual-all{background:#edf2fd}
.page-home .r161-gallery-caption{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:21px 4px 0;align-items:center}
.page-home .r161-gallery-caption span:first-child{grid-column:1/-1;font-size:11px;letter-spacing:.13em;font-weight:730;color:#6a7890}
.page-home .r161-gallery-caption strong{font-size:clamp(17px,1.35vw,20px);letter-spacing:-.025em;color:#263249}
.page-home .r161-gallery-caption span:last-child{font-size:18px;align-self:end;color:#6576ad}
.page-home .r161-gallery-hint{font-size:12px;letter-spacing:.03em;color:#718096;margin:12px 0 0}
@media(max-width:1000px){
 .page-home .r161-connect-layout{grid-template-columns:1fr;gap:35px}.page-home .r161-connect-intro{max-width:760px}
 .page-home .r161-network{width:min(100%,680px);margin-inline:auto}
}
@media(max-width:760px){
 .page-home .r161-connect{padding-block:85px 65px}
 .page-home .r161-connect h2,.page-home .r161-gallery-heading h2{font-size:clamp(34px,8.5vw,48px)}
 .page-home .r161-network{min-height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;justify-items:stretch;padding-top:185px}
 .page-home .r161-core{top:2px;left:50%;width:155px;height:155px;transform:translateX(-50%)}
 .page-home .r161-core-mark{width:40px;height:40px;margin-bottom:5px}.page-home .r161-core strong{font-size:19px}
 .page-home .r161-orbit,.page-home .r161-connector-lines,.page-home .r161-network-spark{display:none}
 .page-home .r161-orbit-node{position:relative;top:auto;bottom:auto;left:auto;right:auto;width:auto;min-width:0;min-height:78px;padding:10px;box-shadow:0 7px 20px #24466a0d;animation:none;transform:none}
 .page-home .r161-orbit-node strong{font-size:11px}.page-home .r161-orbit-node small{font-size:10px}
 .page-home .r161-node-icon{width:31px;height:31px;flex-shrink:0}.page-home .r161-node-icon svg{width:19px;height:19px}
 .page-home .r161-gallery-section{padding-block:80px 95px}
 .page-home .r161-gallery-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:24px}
 .page-home .r161-gallery-controls{align-self:flex-end}
 .page-home .r161-gallery-item{flex-basis:min(84vw,420px)}
 .page-home .r161-gallery-visual{height:clamp(230px,62vw,330px);border-radius:22px}
 .page-home .r161-gallery-rail{gap:14px;padding-inline:22px}
 .page-home .r161-gallery-window::before,.page-home .r161-gallery-window::after{display:none}
}
@media(max-width:390px){
 .page-home .r161-network{grid-template-columns:1fr;padding-top:176px}
 .page-home .r161-orbit-node{min-height:62px}
}
@media(prefers-reduced-motion:reduce){
 .page-home.r161-motion-ready .r161-reveal{opacity:1;transform:none;transition:none}
 .page-home .r161-hero-spark,.page-home .hero-float-icon,.page-home .r161-orbit-node,.page-home .r161-network-spark{animation:none!important}
 .page-home .r161-core,.page-home .r161-network::before,.page-home .r161-orbit{transform:none}
 .page-home .hero-float,.page-home .hero-device{transform:none!important}
 .page-home .r161-gallery-rail{scroll-behavior:auto}
 .page-home .r161-gallery-visual img{transition:none}
}
