@font-face{font-family:RufaWordmark;src:url(/rufa-wordmark.woff?v=20261006-3) format('woff');font-display:swap;font-weight:400;font-style:normal}
:root{--navy:#08295b;--blue:#0865e8;--teal:#05b6a9;--coral:#ff5147;--amber:#ffb61b;--ink:#10294d;--muted:#677a95;--line:#dfe9f4;--paper:#f7faff;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Tahoma,'Segoe UI',sans-serif}
a{color:inherit}
.page-glow{position:fixed;z-index:-2;width:42rem;aspect-ratio:1;border-radius:50%;filter:blur(90px);opacity:.14;pointer-events:none}
.glow-blue{top:-18rem;right:-15rem;background:#4da6ff}
.glow-teal{bottom:-22rem;left:-14rem;background:#44d6c9}
.apps-header{height:82px;padding-inline:clamp(20px,5vw,82px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(201,217,233,.72);background:rgba(255,255,255,.82);backdrop-filter:blur(18px);position:sticky;top:0;z-index:20}
.rufa-brand{display:inline-flex;align-items:center;gap:10px;direction:ltr;text-decoration:none;color:var(--navy)}
.rufa-brand svg{width:44px;height:44px;flex:none}
.rufa-brand span{font-family:RufaWordmark,Tahoma,sans-serif;font-size:27px;line-height:1}
.back-link{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.75);color:#48627f;text-decoration:none;font-size:14px;transition:color .2s,border-color .2s,transform .2s,box-shadow .2s}
.back-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.back-link:hover{color:var(--blue);border-color:#b8d3f4;transform:translateX(3px);box-shadow:0 8px 20px rgba(8,101,232,.08)}
main{width:min(1320px,calc(100% - 40px));margin:auto}
.catalog-hero{padding:clamp(70px,9vw,125px) 0 clamp(70px,8vw,108px);text-align:center;position:relative}
.catalog-hero::before{content:'';position:absolute;z-index:-1;width:min(720px,90vw);height:310px;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(8,101,232,.1),transparent 69%);filter:blur(10px)}
.section-label{display:flex;align-items:center;justify-content:center;gap:10px;color:#2c75b8;font-size:14px}
.section-label i{width:32px;height:1px;background:linear-gradient(90deg,transparent,#70aee8)}
.section-label i:last-child{background:linear-gradient(90deg,#70aee8,transparent)}
.catalog-hero h1{margin:22px auto 18px;max-width:840px;font-size:clamp(39px,6vw,74px);line-height:1.18;letter-spacing:-.045em}
.catalog-hero h1 span{background:linear-gradient(105deg,var(--blue),#4a7cf0 48%,var(--teal));-webkit-background-clip:text;background-clip:text;color:transparent}
.catalog-hero>p{max-width:700px;margin:0 auto;color:var(--muted);font-size:clamp(16px,1.8vw,19px);line-height:1.9}
.availability{width:max-content;max-width:100%;display:flex;align-items:center;gap:8px;margin:26px auto 0;padding:9px 14px;border:1px solid #dbe9f6;border-radius:999px;background:rgba(255,255,255,.7);color:#58718d;font-size:13px}
.availability span,.live-badge span{width:8px;height:8px;border-radius:50%;background:#19bb73;box-shadow:0 0 0 5px rgba(25,187,115,.12)}
.products{padding-bottom:100px}
.products-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}
.mini-title{display:block;color:var(--blue);font-size:13px;margin-bottom:8px}
.products-heading h2{margin:0;font-size:clamp(26px,3vw,38px);letter-spacing:-.025em}
.products-heading p{max-width:420px;margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(18px,2vw,26px);perspective:1200px}
.product-card{--mx:50%;--my:50%;position:relative;min-width:0;min-height:535px;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 22px 55px rgba(31,65,105,.1);text-decoration:none;isolation:isolate;opacity:0;transform:translateY(24px);animation:cardIn .7s cubic-bezier(.2,.8,.2,1) forwards;transition:border-color .25s,box-shadow .25s,transform .18s ease-out}
.product-card:nth-child(2){animation-delay:.12s}.product-card:nth-child(3){animation-delay:.24s}
.lab-card{background:linear-gradient(160deg,#101424 0,#131832 46%,#0a0e1a 100%);border-color:rgba(113,102,255,.4);color:#fff;box-shadow:0 26px 70px rgba(15,23,60,.25),0 0 0 1px rgba(8,101,232,.08)}
.lab-card::after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(480px circle at var(--mx) var(--my),rgba(83,181,255,.2),transparent 48%);opacity:.75}
.lab-card:hover{border-color:rgba(80,196,255,.7);box-shadow:0 32px 85px rgba(15,23,60,.32),0 0 35px rgba(100,76,255,.16)}
.card-shine{position:absolute;z-index:3;inset:-80% -35%;background:linear-gradient(105deg,transparent 43%,rgba(255,255,255,.12) 50%,transparent 57%);transform:translateX(-70%) rotate(8deg);transition:transform .8s ease;pointer-events:none}
.lab-card:hover .card-shine{transform:translateX(70%) rotate(8deg)}
.live-badge{position:absolute;top:20px;right:20px;z-index:4;display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(52,219,156,.25);border-radius:999px;background:rgba(8,25,30,.7);color:#8cf1c8;font-size:12px;backdrop-filter:blur(8px)}
.product-visual{height:215px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at center,rgba(95,66,255,.23),transparent 62%)}
.product-visual::after{content:'';position:absolute;inset:auto 0 0;height:70px;background:linear-gradient(transparent,#12172d)}
.product-visual img{position:relative;z-index:2;width:78%;height:115px;object-fit:contain;filter:drop-shadow(0 14px 25px rgba(48,54,255,.34));transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .45s}
.lab-card:hover .product-visual img{transform:scale(1.045);filter:drop-shadow(0 18px 34px rgba(90,58,255,.48))}
.visual-orbit{position:absolute;border:1px solid rgba(77,163,255,.16);border-radius:50%;transform:rotate(-10deg)}
.orbit-one{width:320px;height:95px;animation:orbitPulse 4s ease-in-out infinite}
.orbit-two{width:245px;height:70px;transform:rotate(12deg);border-color:rgba(226,74,255,.16);animation:orbitPulse 4s 1.2s ease-in-out infinite}
.card-content{padding:28px}
.card-category{color:#8497b0;font-size:12px;letter-spacing:.02em}.lab-card .card-category{color:#7fcfff}
.card-content h3{margin:7px 0 11px;font-size:31px;letter-spacing:-.025em}.lab-card .card-content h3{font-family:'Segoe UI',Tahoma,sans-serif}
.card-content p{margin:0;color:#72849b;line-height:1.8;font-size:14px}.lab-card .card-content p{color:#bdc6da}
.feature-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}
.feature-list span{padding:6px 9px;border:1px solid rgba(113,177,255,.18);border-radius:8px;background:rgba(73,114,197,.1);color:#c9d9ff;font-size:11px}
.open-product{display:flex;align-items:center;justify-content:space-between;margin-top:23px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);color:#fff;font-weight:700;font-size:14px}
.open-product svg{width:22px;height:22px;fill:none;stroke:#55c8ff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;direction:ltr;transition:transform .2s}
.lab-card:hover .open-product svg{transform:translateX(-5px)}
.pending-card{display:flex;flex-direction:column;color:#8291a3;background:linear-gradient(155deg,rgba(255,255,255,.9),rgba(235,241,247,.88));border-color:#d8e2eb;box-shadow:0 16px 38px rgba(49,74,105,.06)}
.pending-card::after{content:'';position:absolute;inset:0;background:radial-gradient(350px circle at var(--mx) var(--my),rgba(112,138,168,.09),transparent 48%);pointer-events:none}
.pending-icon{width:68px;height:68px;display:grid;place-items:center;margin:115px auto 50px;border:1px solid #d4dfe9;border-radius:20px;background:rgba(255,255,255,.68);box-shadow:0 12px 28px rgba(67,86,109,.08)}
.pending-icon svg{width:31px;height:31px;fill:none;stroke:#91a0b1;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.pending-pattern{position:absolute;inset:0 0 auto;height:220px;overflow:hidden;opacity:.52}
.pending-pattern span{position:absolute;width:180px;height:180px;border:1px solid #d5e0ea;border-radius:40px;transform:rotate(35deg)}
.pending-pattern span:nth-child(1){right:-60px;top:-80px}.pending-pattern span:nth-child(2){right:80px;top:-125px}.pending-pattern span:nth-child(3){right:210px;top:-150px}
.pending-pattern.alternate span{transform:rotate(-28deg);right:auto}.pending-pattern.alternate span:nth-child(1){left:-55px}.pending-pattern.alternate span:nth-child(2){left:90px}.pending-pattern.alternate span:nth-child(3){left:225px}
.pending-card .card-content{margin-top:auto}.pending-card .card-content h3{color:#66798f}
.update-label{display:inline-flex;margin-top:24px;padding:8px 13px;border:1px dashed #bdc9d5;border-radius:9px;background:rgba(255,255,255,.5);color:#8191a2;font-size:12px}
footer{width:min(1320px,calc(100% - 40px));margin:auto;padding:30px 0 38px;display:flex;align-items:center;gap:24px;border-top:1px solid var(--line);color:#7b8da2;font-size:13px}
.footer-brand svg{width:34px;height:34px}.footer-brand span{font-size:21px}footer p{margin:0 auto 0 0}footer>b,footer span{font-weight:400}
@keyframes cardIn{to{opacity:1;transform:translateY(0)}}
@keyframes orbitPulse{0%,100%{opacity:.4;transform:rotate(-10deg) scale(.96)}50%{opacity:1;transform:rotate(-4deg) scale(1.06)}}
@media(max-width:980px){.products-heading{align-items:start}}
@media(max-width:680px){.apps-header{height:72px;padding-inline:18px}.rufa-brand svg{width:39px;height:39px}.rufa-brand span{font-size:24px}.back-link span{display:none}.back-link{padding:10px}.catalog-hero{padding:68px 0 76px}.catalog-hero h1 br{display:none}.products-heading{display:block}.products-heading p{margin-top:11px}.product-card{min-height:510px}.product-visual{height:205px}.card-content{padding:25px}.pending-icon{margin-top:95px}.products{padding-bottom:70px}footer{flex-wrap:wrap;justify-content:center;text-align:center}footer p{width:100%;margin:0;order:3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.product-card{opacity:1;transform:none;animation:none;transition:none}.visual-orbit{animation:none}.card-shine{display:none}}
