/* FRS motion layer: decorative only, no service or status claims. */
.hero{isolation:isolate;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(rgba(170,180,192,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(170,180,192,.035) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(transparent,#000 30%,transparent);animation:frs-grid 24s linear infinite}
@keyframes frs-grid{to{transform:translateY(64px)}}
.proc .line{transform-origin:left;transform:scaleX(.08);transition:transform 1s var(--ease)}
.proc.in .line{transform:scaleX(1);transition-delay:var(--frs-delay,0ms)}
html[dir="rtl"] .proc .line{transform-origin:right}
.sol-head .ico{transition:box-shadow .4s ease,transform .4s ease}
@media(hover:hover){.sol-col:hover .sol-head .ico{box-shadow:0 0 24px rgba(23,54,93,.24);transform:translateY(-2px)}}
.frs-progress{position:fixed;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#17365D,#AAB4C0);transform:scaleX(0);transform-origin:left;z-index:110;pointer-events:none}
/* Keep content available if scripts are blocked. */
html.frs-no-js .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.proc .line{transform:none}.reveal{opacity:1!important;transform:none!important}}
.frs-details{margin-top:24px;padding-top:20px;border-top:1px solid var(--border);position:relative;z-index:1}
.frs-details summary{cursor:pointer;font-size:15px;color:#AAB4C0;padding:8px 0}
.frs-details h4{margin:18px 0 8px;font-size:16px}.frs-details p{font-size:16px;color:var(--text-2);line-height:1.65}.frs-details .btn{margin-top:20px;font-size:14px}
.frs-details summary:focus-visible,.frs-request:focus-visible{outline:2px solid #AAB4C0;outline-offset:4px}
.frs-intro{position:fixed;inset:0;z-index:200;background:#000000;display:grid;place-content:center;text-align:center;gap:20px;pointer-events:none;animation:frs-intro-out .25s ease .9s forwards}
.frs-intro img{width:220px;max-width:65vw;margin:auto}.frs-intro p{color:#AAB4C0;font-size:12px;letter-spacing:.12em}.frs-intro::after{content:"";height:1px;background:#AAB4C0;transform-origin:left;animation:frs-scan .8s ease both}
.frs-intro button{pointer-events:auto;background:transparent;border:1px solid #AAB4C0;color:white;border-radius:4px;padding:8px;cursor:pointer}
@keyframes frs-scan{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes frs-intro-out{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.frs-intro{display:none}}
/* v3: more visible intro and navigation feedback */
.frs-intro{animation:frs-intro-out .35s ease 1.8s forwards;z-index:1000}
.frs-intro img{width:260px;animation:frs-logo-in .7s ease both;filter:drop-shadow(0 0 28px rgba(170,180,192,.25))}
.frs-intro p{animation:frs-logo-in .7s ease .25s both}
.frs-intro::after{animation-duration:1.5s;box-shadow:0 0 16px #AAB4C0}
@keyframes frs-logo-in{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}
.nav-links a{cursor:pointer;overflow:hidden;isolation:isolate;transition:color .3s ease,background .3s ease,box-shadow .3s ease,transform .3s ease}
.nav-links a::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,rgba(170,180,192,.22) 50%,transparent 80%);transform:translateX(-120%);transition:transform .55s ease;pointer-events:none}
.nav-links a::after{content:"";position:absolute;bottom:4px;left:18px;right:18px;height:2px;background:linear-gradient(90deg,#17365D,#AAB4C0);transform:scaleX(0);transition:transform .3s ease}
.nav-links a.frs-current::after,.nav-links a:focus-visible::after{transform:scaleX(1)}
.nav-links a.frs-current{color:#F5F7FA;background:rgba(23,54,93,.12)}
.nav-links a:focus-visible{outline:2px solid #AAB4C0;outline-offset:3px}
@media(hover:hover){.nav-links a:hover{transform:translateY(-2px);background:rgba(23,54,93,.19);box-shadow:0 5px 22px rgba(23,54,93,.2)}.nav-links a:hover::before{transform:translateX(120%)}.nav-links a:hover::after{transform:scaleX(1)}.btn:hover{box-shadow:0 8px 30px rgba(23,54,93,.22)}.ind:hover .ico{transform:translateY(-3px);filter:drop-shadow(0 0 10px rgba(170,180,192,.4))}}
.ind .ico{transition:transform .35s ease,filter .35s ease}
.hero h1 .grad{background-size:220% 100%;animation:frs-text-light 8s ease-in-out infinite}
@keyframes frs-text-light{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.frs-intro{display:none}.nav-links a:hover,.ind:hover .ico{transform:none}.hero h1 .grad{animation:none}}
/* v4 — full-card illumination for pillars and process steps. */
.sol-col,.proc{--frs-x:50%;--frs-y:30%;isolation:isolate;overflow:hidden;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease,transform .35s ease}
.sol-col::after,.proc::after{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px circle at var(--frs-x) var(--frs-y),rgba(170,180,192,.2),rgba(23,54,93,.055) 48%,transparent 75%);opacity:0;transition:opacity .3s ease}
.sol-col>*,.proc>*{position:relative;z-index:1}
.sol-col:focus-within,.proc:focus-within{border-color:rgba(170,180,192,.75);box-shadow:0 0 28px rgba(23,54,93,.17),inset 0 0 36px rgba(23,54,93,.07)}
.sol-col:focus-within::after,.proc:focus-within::after{opacity:1}
@media(hover:hover) and (pointer:fine){
 .sol-col:hover,.proc:hover{transform:translateY(-4px);border-color:rgba(170,180,192,.75);background-color:rgba(23,54,93,.065);box-shadow:0 16px 42px -20px rgba(0,0,0,.6),0 0 28px rgba(23,54,93,.18),inset 0 0 36px rgba(23,54,93,.065)}
 .sol-col:hover::after,.proc:hover::after{opacity:1}
 .proc:hover .step{color:#F5F7FA;text-shadow:0 0 18px rgba(170,180,192,.55)}
 .nav-links a:hover{transform:translateY(-3px);color:#F5F7FA;background:rgba(23,54,93,.24);box-shadow:0 7px 28px rgba(23,54,93,.28),inset 0 0 16px rgba(170,180,192,.09)}
 .nav-links a:hover::before{animation:frs-menu-sweep 1.4s ease-in-out infinite;transition:none}
 .nav-links a:hover::after{animation:frs-menu-line 1.4s ease-in-out infinite;box-shadow:0 0 10px rgba(170,180,192,.55)}
}
@keyframes frs-menu-sweep{0%{transform:translateX(-120%);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translateX(120%);opacity:0}}
@keyframes frs-menu-line{0%,100%{opacity:.7;transform:scaleX(.85)}50%{opacity:1;transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.sol-col:hover,.proc:hover,.nav-links a:hover{transform:none}.nav-links a:hover::before{animation:none;transform:none;opacity:.3}.nav-links a:hover::after{animation:none;transform:scaleX(1)}}

/* v5: retain connector lines without repeating card titles. */
.mobile-menu a.frs-current{color:#F5F7FA;background:rgba(23,54,93,.12);box-shadow:inset 3px 0 #AAB4C0}
html[dir=rtl] .mobile-menu a.frs-current{box-shadow:inset -3px 0 #AAB4C0}
