:root{--bg:#ffffff;--surface:#eaf0f4;--cyan:#0f6b7e;--cyan2:#22798c;--gold:#8f5e00;--white:#1d2830;--muted:#51636f;--card-bg:#ffffff;--border:#c3d2db;--glow:none}
.rf2026 *,.rf2026 *::before,.rf2026 *::after{margin:0;padding:0;box-sizing:border-box}
/* Bootstrap 3 (Content/css bundle) sets html{font-size:10px}. Every size below is
   rem-based and was authored against the browser default 16px root (the page began
   life as the standalone _archive/index_2026-06.html, which loaded no Bootstrap),
   so without this the whole homepage renders at 62.5%. Bootstrap 3, Site.css and
   HomeCss.css contain no rem units, so restoring 16px only affects this page. */
html{scroll-behavior:smooth;font-size:16px}
.rf2026{font-family:'Noto Sans SC',sans-serif;background:var(--bg);color:var(--white);overflow-x:hidden}

/* CURSOR */
.rf2026 .cursor{position:fixed;top:0;left:0;z-index:9999;pointer-events:none}
.rf2026 .cursor-dot{width:8px;height:8px;background:var(--cyan);border-radius:50%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 10px var(--cyan)}
.rf2026 .cursor-ring{width:36px;height:36px;border:1px solid rgba(18,120,141,0.5);border-radius:50%;position:absolute;transform:translate(-50%,-50%);transition:transform .15s ease,width .2s,height .2s}

/* BG */
.rf2026 .grid-bg{position:fixed;inset:0;z-index:0;background-image:linear-gradient(rgba(18,120,141,.05)1px,transparent 1px),linear-gradient(90deg,rgba(18,120,141,.05)1px,transparent 1px);background-size:60px 60px;animation:gridShift 20s linear infinite}
@keyframes gridShift{from{background-position:0 0}to{background-position:60px 60px}}
.rf2026 .scanlines{position:fixed;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0,transparent 3px,rgba(0,0,0,.06)3px,rgba(0,0,0,.06)4px)}

/* NAV */
.rf2026 nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:0 5%;height:70px;background:rgba(255,255,255,.95);backdrop-filter:blur(30px);border-bottom:1px solid var(--border)}
.rf2026 nav::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.5}
.rf2026 .nav-logo{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:1.1rem;font-weight:900;color:var(--cyan);letter-spacing:2px;text-shadow:var(--glow);display:flex;align-items:center;gap:12px;cursor:pointer;text-decoration:none}
.rf2026 .logo-icon{width:32px;height:32px;border:2px solid var(--cyan);transform:rotate(45deg);display:flex;align-items:center;justify-content:center;box-shadow:var(--glow);animation:logoPulse 3s ease-in-out infinite;flex-shrink:0}
.rf2026 .logo-icon::before{content:'';width:14px;height:14px;background:var(--cyan);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}
@keyframes logoPulse{0%,100%{box-shadow:0 0 10px var(--cyan)}50%{box-shadow:0 0 30px var(--cyan),0 0 60px rgba(18,120,141,.28)}}
.rf2026 .nav-links{display:flex;gap:2rem;list-style:none}
.rf2026 .nav-links a{color:var(--muted);text-decoration:none;font-size:.85rem;letter-spacing:1px;font-family:'Share Tech Mono',monospace;transition:all .3s;position:relative;cursor:pointer}
.rf2026 .nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--cyan);transform:scaleX(0);transition:transform .3s}
.rf2026 .nav-links a:hover,.rf2026 .nav-links a.active{color:var(--cyan);text-shadow:var(--glow)}
.rf2026 .nav-links a:hover::after,.rf2026 .nav-links a.active::after{transform:scaleX(1)}
.rf2026 .nav-right{display:flex;align-items:center;gap:12px}
.rf2026 .nav-cta{border:1px solid var(--cyan);color:var(--cyan);padding:8px 20px;font-size:.8rem;font-family:'Share Tech Mono',monospace;letter-spacing:2px;cursor:pointer;background:transparent;transition:all .3s;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px)100%,0% 100%)}
.rf2026 .nav-cta:hover{background:var(--cyan);color:var(--bg);box-shadow:var(--glow)}
.rf2026 .nav-mobile-btn{display:none;background:none;border:1px solid var(--border);color:var(--cyan);padding:6px 12px;font-size:1.2rem;cursor:pointer}

/* HERO */
.rf2026 .rf-hero{position:relative;z-index:10;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 5% 80px;overflow:hidden}
.rf2026 #heroCanvas{position:absolute;inset:0;z-index:0}
.rf2026 .rf-hero>*:not(#heroCanvas):not(.scroll-hint){position:relative;z-index:1}
.rf2026 .rf-hero>.scroll-hint{z-index:2}
.rf2026 .hero-eyebrow{font-family:'Share Tech Mono',monospace;color:var(--cyan);font-size:.8rem;letter-spacing:5px;text-transform:uppercase;margin-bottom:1.5rem;animation:fadeInDown 1s ease .3s both}
.rf2026 .hero-eyebrow span{display:inline-block;padding:6px 18px;border:1px solid rgba(18,120,141,.28);background:rgba(18,120,141,.05)}
.rf2026 .hero-title{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:clamp(3rem,8vw,7rem);font-weight:900;line-height:1.05;margin-bottom:.3em;animation:fadeInUp 1s ease .5s both}
.rf2026 .hero-title .line1{display:block;color:var(--white)}
.rf2026 .hero-title .line2{display:block;background:linear-gradient(90deg,var(--cyan),var(--cyan2),var(--gold),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% auto;animation:shimmer 4s linear infinite}
@keyframes shimmer{to{background-position:200% center}}
.rf2026 .hero-sub{font-size:clamp(1rem,2vw,1.25rem);color:var(--muted);max-width:680px;line-height:1.9;margin-bottom:3rem;font-weight:300;animation:fadeInUp 1s ease .7s both}
.rf2026 .hero-stats{display:flex;gap:3rem;justify-content:center;margin-bottom:3rem;animation:fadeInUp 1s ease .9s both;flex-wrap:wrap}
.rf2026 .stat{text-align:center;position:relative}
.rf2026 .stat:not(:last-child)::after{content:'';position:absolute;right:-1.5rem;top:10%;bottom:10%;width:1px;background:var(--border)}
.rf2026 .stat-num{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:2.2rem;font-weight:900;color:var(--cyan);text-shadow:var(--glow)}
.rf2026 .stat-num .unit{font-size:1rem;color:var(--gold)}
.rf2026 .stat-label{font-size:.7rem;color:var(--muted);letter-spacing:2px;margin-top:4px}
.rf2026 .hero-buttons{display:flex;gap:1.5rem;justify-content:center;animation:fadeInUp 1s ease 1.1s both;flex-wrap:wrap}
.rf2026 .rf-btn-primary{padding:14px 36px;font-size:.9rem;font-family:'Share Tech Mono',monospace;letter-spacing:2px;cursor:pointer;background:var(--cyan);color:var(--bg);border:none;font-weight:bold;clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px)100%,0% 100%);transition:all .3s;position:relative;overflow:hidden}
.rf2026 .rf-btn-primary::before{content:'';position:absolute;inset:0;background:var(--cyan2);transform:translateX(-100%);transition:transform .3s}
.rf2026 .rf-btn-primary:hover::before{transform:translateX(0)}
.rf2026 .rf-btn-primary span{position:relative;z-index:1}
.rf2026 .btn-secondary{padding:14px 36px;font-size:.9rem;font-family:'Share Tech Mono',monospace;letter-spacing:2px;cursor:pointer;background:transparent;color:var(--white);border:1px solid rgba(0,0,0,.10);clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px)100%,0% 100%);transition:all .3s}
.rf2026 .btn-secondary:hover{border-color:var(--cyan);color:var(--cyan)}
.rf2026 .scroll-hint{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;animation:fadeInUp 1s ease 1.5s both;color:var(--muted);font-size:.7rem;letter-spacing:3px;font-family:'Share Tech Mono',monospace;cursor:pointer}
.rf2026 .scroll-hint:hover{color:var(--cyan)}
.rf2026 .scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--cyan));animation:scrollPulse 2s ease infinite}
@keyframes scrollPulse{0%,100%{opacity:.3}50%{opacity:1}}

/* SECTIONS */
.rf2026 section{position:relative;z-index:10;padding:100px 5%}
.rf2026 .section-header{text-align:center;margin-bottom:70px}
.rf2026 .section-tag{font-family:'Share Tech Mono',monospace;color:var(--cyan);font-size:.75rem;letter-spacing:5px;text-transform:uppercase;margin-bottom:1rem}
.rf2026 .section-title{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:700;line-height:1.2}
.rf2026 .section-title em{font-style:normal;background:linear-gradient(90deg,var(--cyan),var(--cyan2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.rf2026 .section-divider{width:60px;height:2px;background:linear-gradient(90deg,var(--cyan),transparent);margin:1.5rem auto 0}

/* SECTION DIVIDER */
.rf2026 .section-divider-wave{position:relative;width:100%;height:80px;margin-top:-1px;z-index:10;overflow:hidden}
.rf2026 .section-divider-wave svg{position:absolute;bottom:0;width:100%;height:100%}

/* SERVICES */
.rf2026 .services-featured{display:grid;grid-template-columns:1fr 1fr;gap:2px;max-width:1200px;margin:0 auto 2px}
.rf2026 .service-card-featured{background:var(--card-bg);border:1px solid var(--border);padding:50px 40px;position:relative;overflow:hidden;transition:all .4s;backdrop-filter:blur(10px);cursor:pointer}
.rf2026 .service-card-featured::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--cyan2));transform:scaleX(0);transition:transform .6s;transform-origin:left}
.rf2026 .service-card-featured:hover::before{transform:scaleX(1)}
.rf2026 .service-card-featured::after{content:'';position:absolute;bottom:0;right:0;width:200px;height:200px;background:radial-gradient(circle,rgba(18,120,141,.06),transparent 70%);pointer-events:none}
.rf2026 .service-card-featured:hover{background:rgba(18,120,141,.05);box-shadow:0 0 60px rgba(18,120,141,.12);transform:translateY(-4px)}
.rf2026 .service-card-featured .service-num{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:4.5rem;font-weight:900;color:rgba(18,120,141,.07);line-height:1;margin-bottom:1rem;position:absolute;top:20px;right:24px}
.rf2026 .service-card-featured .service-icon{width:56px;height:56px;margin-bottom:1.5rem;color:var(--cyan);filter:drop-shadow(0 0 8px rgba(18,120,141,.34))}
.rf2026 .service-card-featured .service-title{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:1.2rem;font-weight:700;color:var(--white);margin-bottom:1rem;letter-spacing:1px}
.rf2026 .service-card-featured .service-desc{color:var(--muted);font-size:.9rem;line-height:1.9;font-weight:300;max-width:420px}
.rf2026 .service-card-featured .service-arrow{position:absolute;bottom:30px;right:30px;color:var(--cyan);opacity:0;transition:all .3s;font-size:1.4rem}
.rf2026 .service-card-featured:hover .service-arrow{opacity:1;transform:translateX(4px)}
.rf2026 .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;max-width:1200px;margin:0 auto}
.rf2026 .service-card{background:var(--card-bg);border:1px solid var(--border);padding:36px 28px;position:relative;overflow:hidden;transition:all .4s;backdrop-filter:blur(10px);cursor:pointer}
.rf2026 .service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);transform:translateX(-100%);transition:transform .6s}
.rf2026 .service-card:hover::before{transform:translateX(0)}
.rf2026 .service-card:hover{background:rgba(18,120,141,.05);box-shadow:0 0 40px rgba(18,120,141,.10);transform:translateY(-4px)}
.rf2026 .service-num{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:2.5rem;font-weight:900;color:rgba(18,120,141,.10);line-height:1;margin-bottom:.8rem}
.rf2026 .service-icon{width:44px;height:44px;margin-bottom:1.2rem;color:var(--cyan)}
.rf2026 .service-title{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:.95rem;font-weight:700;color:var(--white);margin-bottom:.8rem;letter-spacing:1px}
.rf2026 .service-desc{color:var(--muted);font-size:.82rem;line-height:1.8;font-weight:300}
.rf2026 .service-arrow{position:absolute;bottom:20px;right:20px;color:var(--cyan);opacity:0;transition:all .3s;font-size:1.1rem}
.rf2026 .service-card:hover .service-arrow{opacity:1;transform:translateX(4px)}

/* PROJECTS */
.rf2026 .projects-section{background:rgba(0,0,0,.06)}
.rf2026 .projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}
.rf2026 .project-card{background:var(--card-bg);border:1px solid var(--border);overflow:hidden;position:relative;transition:all .4s;backdrop-filter:blur(10px);cursor:pointer}
.rf2026 .project-card:hover{border-color:rgba(18,120,141,.42);box-shadow:0 8px 40px rgba(18,120,141,.16);transform:translateY(-6px)}
.rf2026 .project-thumb{width:100%;aspect-ratio:16/9;overflow:hidden;position:relative;background:rgba(255,255,255,.92)}
.rf2026 .project-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;filter:brightness(.8) saturate(1.2)}
.rf2026 .project-card:hover .project-thumb img{transform:scale(1.08);filter:brightness(1) saturate(1.4)}
.rf2026 .project-thumb-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(255,255,255,.88),transparent)}
.rf2026 .project-badge{position:absolute;top:12px;left:12px;font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:2px;padding:4px 10px;background:rgba(18,120,141,.16);border:1px solid rgba(18,120,141,.28);color:var(--cyan)}
.rf2026 .project-view-btn{position:absolute;bottom:12px;right:12px;font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:1px;padding:5px 12px;background:rgba(18,120,141,.22);border:1px solid rgba(18,120,141,.34);color:var(--cyan);opacity:0;transition:all .3s;cursor:pointer}
.rf2026 .project-card:hover .project-view-btn{opacity:1}
.rf2026 .project-info{padding:24px}
.rf2026 .project-title{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:.9rem;font-weight:700;color:var(--white);margin-bottom:.6rem;letter-spacing:.5px}
.rf2026 .project-desc{font-size:.8rem;color:var(--muted);line-height:1.7;font-weight:300}
.rf2026 .project-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.rf2026 .rf-tag{font-size:.65rem;padding:3px 10px;border:1px solid var(--border);color:var(--muted);font-family:'Share Tech Mono',monospace;letter-spacing:1px;transition:all .3s}
.rf2026 .project-card:hover .rf-tag{border-color:rgba(18,120,141,.28);color:var(--cyan)}

/* METRICS */
.rf2026 .metrics-section{background:linear-gradient(135deg,rgba(18,120,141,.05),rgba(58,166,189,.04));border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative;z-index:10}
.rf2026 .metrics-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(18,120,141,.06),transparent 70%);pointer-events:none}
.rf2026 .metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;max-width:1100px;margin:0 auto;position:relative}
.rf2026 .metric{text-align:center;padding:60px 20px;position:relative}
.rf2026 .metric:not(:last-child)::after{content:'';position:absolute;right:0;top:20%;bottom:20%;width:1px;background:var(--border)}
.rf2026 .metric-val{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:4.5rem;font-weight:900;line-height:1;background:linear-gradient(135deg,var(--cyan),var(--cyan2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 20px rgba(18,120,141,.28))}
.rf2026 .metric-unit{color:var(--gold);font-size:1.8rem;-webkit-text-fill-color:var(--gold)}
.rf2026 .metric-label{margin-top:16px;font-size:.8rem;color:var(--muted);letter-spacing:2px;font-family:'Share Tech Mono',monospace}
.rf2026 .metric::before{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:40px;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.4}

/* INDUSTRIES */
.rf2026 .industries-grid{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;max-width:900px;margin:0 auto}
.rf2026 .industry-chip{display:flex;align-items:center;gap:10px;padding:14px 24px;border:1px solid var(--border);background:var(--card-bg);backdrop-filter:blur(10px);font-size:.85rem;transition:all .3s;clip-path:polygon(8px 0%,100% 0%,calc(100% - 8px)100%,0% 100%);cursor:pointer}
.rf2026 .industry-chip:hover{border-color:var(--cyan);background:rgba(18,120,141,.07);color:var(--cyan);transform:scale(1.04);box-shadow:var(--glow)}
.rf2026 .industry-chip .dot{width:6px;height:6px;background:var(--cyan);border-radius:50%;box-shadow:var(--glow);flex-shrink:0}

/* ABOUT */
.rf2026 .about-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1200px;margin:0 auto}
.rf2026 .about-text .rf-lead{font-size:1.05rem;line-height:1.9;color:rgba(37,49,58,.62);margin-bottom:2rem;font-weight:300}
.rf2026 .about-values{list-style:none;display:flex;flex-direction:column;gap:16px}
.rf2026 .about-values li{display:flex;align-items:flex-start;gap:14px;font-size:.9rem;color:var(--muted);line-height:1.7}
.rf2026 .about-values li::before{content:'▶';color:var(--cyan);font-size:.55rem;margin-top:7px;flex-shrink:0}
.rf2026 .about-cta{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap}
.rf2026 .about-visual{position:relative;height:400px;display:flex;align-items:center;justify-content:center}
.rf2026 .orbit-system{position:relative;width:300px;height:300px}
.rf2026 .orbit-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;background:linear-gradient(135deg,var(--cyan),var(--cyan2));clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);box-shadow:0 0 40px var(--cyan);display:flex;align-items:center;justify-content:center;font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:.5rem;font-weight:900;color:var(--bg);text-align:center;line-height:1.3;animation:centerPulse 3s ease infinite;cursor:pointer}
@keyframes centerPulse{0%,100%{box-shadow:0 0 20px var(--cyan)}50%{box-shadow:0 0 60px var(--cyan),0 0 100px rgba(18,120,141,.28)}}
.rf2026 .orbit-ring{position:absolute;top:50%;left:50%;border:1px solid var(--border);border-radius:50%;transform:translate(-50%,-50%)}
.rf2026 .orbit-ring-1{width:160px;height:160px;animation:spin1 8s linear infinite}
.rf2026 .orbit-ring-2{width:240px;height:240px;animation:spin1 14s linear infinite reverse}
.rf2026 .orbit-ring-3{width:300px;height:300px;animation:spin1 20s linear infinite}
@keyframes spin1{to{transform:translate(-50%,-50%) rotate(360deg)}}
.rf2026 .orbit-dot{position:absolute;width:10px;height:10px;background:var(--cyan);border-radius:50%;top:-5px;left:50%;margin-left:-5px;box-shadow:var(--glow)}
.rf2026 .orbit-dot2{background:var(--gold);box-shadow:0 0 10px var(--gold)}
.rf2026 .orbit-dot3{background:var(--cyan2);box-shadow:0 0 10px var(--cyan2)}
.rf2026 .orbit-label{position:absolute;font-family:'Share Tech Mono',monospace;font-size:.65rem;color:var(--muted);white-space:nowrap;top:-22px;left:50%;transform:translateX(-50%)}

/* NEWS */
.rf2026 .news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}
.rf2026 .news-card{background:var(--card-bg);border:1px solid var(--border);padding:28px;transition:all .3s;backdrop-filter:blur(10px);cursor:pointer;position:relative;overflow:hidden}
.rf2026 .news-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);transform:scaleX(0);transition:transform .4s}
.rf2026 .news-card:hover::after{transform:scaleX(1)}
.rf2026 .news-card:hover{border-color:rgba(18,120,141,.34);transform:translateY(-3px);box-shadow:0 6px 30px rgba(18,120,141,.10)}
.rf2026 .news-date{font-family:'Share Tech Mono',monospace;font-size:.7rem;color:var(--gold);letter-spacing:2px;margin-bottom:.8rem}
.rf2026 .news-title{font-size:.95rem;font-weight:700;color:var(--white);margin-bottom:.8rem;line-height:1.5}
.rf2026 .news-excerpt{font-size:.8rem;color:var(--muted);line-height:1.7}
.rf2026 .news-read-more{display:inline-block;margin-top:1rem;font-family:'Share Tech Mono',monospace;font-size:.7rem;color:var(--cyan);letter-spacing:1px;opacity:0;transition:opacity .3s}
.rf2026 .news-card:hover .news-read-more{opacity:1}

/* FOOTER */
.rf2026 footer{position:relative;z-index:10;background:rgba(255,255,255,.97);border-top:1px solid var(--border);padding:60px 5% 30px}
.rf2026 .footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;max-width:1200px;margin:0 auto 60px}
.rf2026 .footer-brand .brand-name{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:1.2rem;font-weight:900;color:var(--cyan);margin-bottom:1rem;text-shadow:var(--glow)}
.rf2026 .footer-brand p{font-size:.8rem;color:var(--muted);line-height:1.8;max-width:320px}
.rf2026 .footer-contact{margin-top:1.5rem;display:flex;flex-direction:column;gap:8px}
.rf2026 .footer-contact a{font-family:'Share Tech Mono',monospace;font-size:.75rem;color:var(--muted);text-decoration:none;transition:color .3s;display:flex;align-items:center;gap:8px}
.rf2026 .footer-contact a:hover{color:var(--cyan)}
.rf2026 .footer-col h4{font-family:'Share Tech Mono',monospace;font-size:.7rem;letter-spacing:3px;color:var(--cyan);margin-bottom:1.5rem;text-transform:uppercase}
.rf2026 .footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.rf2026 .footer-col a{font-size:.8rem;color:var(--muted);text-decoration:none;transition:color .3s;display:flex;align-items:center;gap:8px;cursor:pointer}
.rf2026 .footer-col a::before{content:'›';color:var(--cyan)}
.rf2026 .footer-col a:hover{color:var(--white)}
.rf2026 .footer-bottom{max-width:1200px;margin:0 auto;padding-top:30px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-family:'Share Tech Mono',monospace;font-size:.7rem;color:var(--muted)}
.rf2026 .footer-icp a{color:var(--muted);text-decoration:none;transition:color .3s}
.rf2026 .footer-icp a:hover{color:var(--cyan)}
.rf2026 .back-top{background:none;border:1px solid var(--border);color:var(--muted);padding:6px 14px;cursor:pointer;font-family:'Share Tech Mono',monospace;font-size:.7rem;transition:all .3s}
.rf2026 .back-top:hover{border-color:var(--cyan);color:var(--cyan)}

/* MODAL OVERLAY */
.rf2026 .modal-overlay{position:fixed;inset:0;z-index:500;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s;padding:20px}
.rf2026 .modal-overlay.open{opacity:1;pointer-events:all}
.rf2026 .rf-modal{background:#ffffff;border:1px solid var(--border);max-width:720px;width:100%;max-height:90vh;overflow-y:auto;position:relative;animation:modalIn .4s ease}
@keyframes modalIn{from{transform:translateY(30px) scale(.97);opacity:0}to{transform:none;opacity:1}}
.rf2026 .rf-modal-header{padding:30px 32px 20px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.rf2026 .modal-tag{font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:3px;color:var(--cyan);margin-bottom:.6rem}
.rf2026 .rf-modal-title{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:1.3rem;font-weight:700;color:var(--white);line-height:1.3}
.rf2026 .modal-close{background:none;border:1px solid var(--border);color:var(--muted);width:36px;height:36px;cursor:pointer;font-size:1.1rem;flex-shrink:0;transition:all .3s;display:flex;align-items:center;justify-content:center}
.rf2026 .modal-close:hover{border-color:var(--cyan);color:var(--cyan)}
.rf2026 .rf-modal-body{padding:28px 32px 32px}
.rf2026 .modal-img{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:1.5rem;filter:saturate(1.2)}
.rf2026 .modal-section-title{font-family:'Share Tech Mono',monospace;font-size:.7rem;letter-spacing:3px;color:var(--cyan);margin-bottom:1rem;text-transform:uppercase}
.rf2026 .modal-text{font-size:.9rem;color:rgba(37,49,58,.72);line-height:1.9;margin-bottom:1.5rem;font-weight:300}
.rf2026 .modal-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:1.5rem}
.rf2026 .modal-list li{display:flex;gap:12px;font-size:.85rem;color:var(--muted);line-height:1.6}
.rf2026 .modal-list li::before{content:'▶';color:var(--cyan);font-size:.55rem;margin-top:5px;flex-shrink:0}
.rf2026 .modal-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:2rem}
.rf2026 .modal-cta{display:flex;gap:1rem;flex-wrap:wrap}

/* CONSULT FORM */
.rf2026 .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.rf2026 .rf-form-group{display:flex;flex-direction:column;gap:6px}
.rf2026 .rf-form-group.full{grid-column:1/-1}
.rf2026 .form-label{font-family:'Share Tech Mono',monospace;font-size:.7rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase}
.rf2026 .form-input,.rf2026 .form-select,.rf2026 .form-textarea{background:rgba(255,255,255,.92);border:1px solid var(--border);color:var(--white);padding:10px 14px;font-family:'Noto Sans SC',sans-serif;font-size:.85rem;outline:none;transition:border-color .3s;width:100%}
.rf2026 .form-input:focus,.rf2026 .form-select:focus,.rf2026 .form-textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 2px rgba(18,120,141,.10)}
.rf2026 .form-select{cursor:pointer}
.rf2026 .form-select option{background:#ffffff;color:var(--white)}
.rf2026 .form-textarea{resize:vertical;min-height:100px}
.rf2026 .form-submit{width:100%;padding:14px;font-family:'Share Tech Mono',monospace;letter-spacing:2px;font-size:.9rem;cursor:pointer;background:var(--cyan);color:var(--bg);border:none;font-weight:bold;clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px)100%,0% 100%);transition:all .3s;position:relative;overflow:hidden;margin-top:8px}
.rf2026 .form-submit::before{content:'';position:absolute;inset:0;background:var(--cyan2);transform:translateX(-100%);transition:transform .3s}
.rf2026 .form-submit:hover::before{transform:translateX(0)}
.rf2026 .form-submit span{position:relative;z-index:1}
.rf2026 .form-note{font-size:.75rem;color:var(--muted);margin-top:12px;text-align:center;font-family:'Share Tech Mono',monospace}

/* TOAST */
.rf2026 .toast{position:fixed;bottom:32px;right:32px;z-index:600;background:rgba(18,120,141,.12);border:1px solid var(--cyan);color:var(--cyan);padding:14px 24px;font-family:'Share Tech Mono',monospace;font-size:.8rem;letter-spacing:1px;transform:translateY(20px);opacity:0;transition:all .4s;backdrop-filter:blur(10px);max-width:320px}
.rf2026 .toast.show{transform:translateY(0);opacity:1}

/* NEWS MODAL */
.rf2026 .news-modal-meta{display:flex;gap:16px;margin-bottom:1.5rem;flex-wrap:wrap}
.rf2026 .news-meta-item{font-family:'Share Tech Mono',monospace;font-size:.7rem;color:var(--muted);display:flex;align-items:center;gap:6px}
.rf2026 .news-meta-item span{color:var(--cyan)}

/* ANIMATIONS */
@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
/* .reveal 默认可见，动画由 JS 加 .anim 后启用（见 home2026.js） */
.rf2026 .reveal{opacity:1}
.rf2026.anim .reveal{opacity:0;transform:translateY(50px) scale(.97);filter:blur(6px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1),filter .8s ease}
.rf2026.anim .reveal.visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}

/* MOBILE NAV DRAWER */
.rf2026 .mobile-nav{position:fixed;top:70px;left:0;right:0;z-index:190;background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);padding:20px 5%;display:none;flex-direction:column;gap:16px;backdrop-filter:blur(20px)}
.rf2026 .mobile-nav.open{display:flex}
.rf2026 .mobile-nav a{color:var(--muted);text-decoration:none;font-family:'Share Tech Mono',monospace;font-size:.9rem;letter-spacing:1px;padding:10px 0;border-bottom:1px solid var(--border);transition:color .3s}
.rf2026 .mobile-nav a:hover{color:var(--cyan)}

/* ECOSYSTEM */
.rf2026 .eco-section{background:linear-gradient(135deg,rgba(18,120,141,.03),rgba(168,111,0,.03));border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.rf2026 .eco-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:0;max-width:1100px;margin:0 auto;align-items:center}
.rf2026 .eco-card{background:var(--card-bg);border:1px solid var(--border);padding:40px 36px;backdrop-filter:blur(10px);position:relative;transition:all .4s}
.rf2026 .eco-card:hover{border-color:rgba(18,120,141,.34);box-shadow:0 0 40px rgba(18,120,141,.07)}
.rf2026 .eco-card-tag{font-family:'Share Tech Mono',monospace;font-size:.65rem;letter-spacing:3px;color:var(--cyan);margin-bottom:.6rem;text-transform:uppercase}
.rf2026 .eco-card-name{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:1.15rem;font-weight:700;color:var(--white);margin-bottom:.5rem;letter-spacing:1px}
.rf2026 .eco-card-sub{font-size:.8rem;color:var(--gold);margin-bottom:1.2rem;font-family:'Share Tech Mono',monospace;letter-spacing:1px}
.rf2026 .eco-card-desc{font-size:.85rem;color:var(--muted);line-height:1.8;font-weight:300;margin-bottom:1.5rem}
.rf2026 .eco-stats{display:flex;flex-wrap:wrap;gap:16px}
.rf2026 .eco-stat{text-align:center;flex:1;min-width:60px}
.rf2026 .eco-stat-val{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:1.3rem;font-weight:700;color:var(--cyan)}
.rf2026 .eco-stat-val .u{font-size:.75rem;color:var(--gold)}
.rf2026 .eco-stat-label{font-size:.65rem;color:var(--muted);letter-spacing:1px;margin-top:2px;font-family:'Share Tech Mono',monospace}
.rf2026 .eco-link{display:inline-flex;align-items:center;gap:6px;margin-top:1.2rem;font-family:'Share Tech Mono',monospace;font-size:.75rem;color:var(--cyan);text-decoration:none;letter-spacing:1px;transition:all .3s;border:1px solid var(--border);padding:6px 14px}
.rf2026 .eco-link:hover{border-color:var(--cyan);background:rgba(18,120,141,.07);box-shadow:var(--glow)}
.rf2026 .eco-bridge{display:flex;flex-direction:column;align-items:center;padding:0 30px;position:relative}
.rf2026 .eco-bridge-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--cyan),var(--gold))}
.rf2026 .eco-bridge-icon{width:56px;height:56px;border:2px solid var(--gold);transform:rotate(45deg);display:flex;align-items:center;justify-content:center;margin:12px 0;background:rgba(168,111,0,.06);box-shadow:0 0 20px rgba(168,111,0,.16)}
.rf2026 .eco-bridge-icon span{transform:rotate(-45deg);font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:.5rem;font-weight:900;color:var(--gold);text-align:center;line-height:1.2;letter-spacing:1px}
.rf2026 .eco-detail{max-width:1100px;margin:50px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.rf2026 .eco-detail-item{background:rgba(244,247,249,.75);border:1px solid var(--border);padding:24px 20px;text-align:center;transition:all .3s}
.rf2026 .eco-detail-item:hover{background:rgba(18,120,141,.05);border-color:rgba(18,120,141,.28)}
.rf2026 .eco-detail-icon{font-size:1.4rem;margin-bottom:8px}
.rf2026 .eco-detail-title{font-family:'Share Tech Mono',monospace;font-size:.75rem;color:var(--cyan);letter-spacing:2px;margin-bottom:6px}
.rf2026 .eco-detail-text{font-size:.8rem;color:var(--muted);line-height:1.6;font-weight:300}

/* RESPONSIVE */
@media(max-width:900px){
  .rf2026 .nav-links{display:none}
  .rf2026 .nav-cta{display:none}
  .rf2026 .nav-mobile-btn{display:block}
  .rf2026 .hero-stats{gap:1.5rem}
  .rf2026 .services-featured{grid-template-columns:1fr}
  .rf2026 .services-grid{grid-template-columns:1fr}
  .rf2026 .metrics-grid{grid-template-columns:repeat(2,1fr)}
  .rf2026 .metric-val{font-size:3rem}
  .rf2026 .about-inner{grid-template-columns:1fr}
  .rf2026 .footer-grid{grid-template-columns:1fr;gap:32px}
  .rf2026 .projects-grid{grid-template-columns:1fr}
  .rf2026 .about-visual{height:280px}
  .rf2026 .orbit-system{transform:scale(.75)}
  .rf2026 .footer-bottom{flex-direction:column;gap:10px;text-align:center}
  .rf2026 .form-grid{grid-template-columns:1fr}
  .rf2026 .rf-modal{max-width:100%}
  .rf2026 .eco-grid{grid-template-columns:1fr;gap:0}
  .rf2026 .eco-bridge{flex-direction:row;padding:20px 0;gap:12px}
  .rf2026 .eco-bridge-line{width:60px;height:1px;background:linear-gradient(to right,var(--cyan),var(--gold))}
  .rf2026 .eco-detail{grid-template-columns:1fr}
}


/* ============================================================
   2026 改版新增：产品套件 / IDMS 平台 / 知识产权 / 母版补充
   沿用既有 :root 变量与 .reveal 动效，不引入新的动画类型。
   ============================================================ */

/* 通用等宽小标签 */
.rf2026 .mono-label{font-family:'Share Tech Mono',monospace;color:var(--cyan);font-size:.7rem;letter-spacing:4px;text-transform:uppercase;display:block;margin-bottom:.6rem}

/* 导航登录入口（母版） */
.rf2026 .nav-login{color:var(--muted);text-decoration:none;font-family:'Share Tech Mono',monospace;font-size:.78rem;letter-spacing:1px;padding:8px 14px;border:1px solid var(--border);transition:all .3s;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}
.rf2026 .nav-login:hover{color:var(--cyan);border-color:var(--cyan)}

/* ---------- 产品套件 ---------- */
.rf2026 .product-section{background:linear-gradient(180deg,rgba(244,247,249,.95),transparent)}
.rf2026 .product-masthead{max-width:1100px;margin:0 auto 70px;text-align:center;border:1px solid var(--border);background:var(--card-bg);backdrop-filter:blur(10px);padding:48px 40px}
.rf2026 .product-name-en{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:clamp(1.1rem,2.6vw,1.75rem);font-weight:900;color:var(--cyan);letter-spacing:2px;text-shadow:var(--glow);word-break:break-word}
.rf2026 .product-name-cn{font-size:.95rem;color:var(--white);letter-spacing:6px;margin-top:.7rem}
.rf2026 .product-lead{max-width:820px;margin:1.6rem auto 0;color:var(--muted);font-size:.9rem;line-height:1.9}
.rf2026 .product-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);margin-top:2.6rem;border:1px solid var(--border)}
.rf2026 .pk{background:var(--bg);padding:24px 12px}
.rf2026 .pk-val{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:2rem;font-weight:900;color:var(--cyan);line-height:1}
.rf2026 .pk-val span{font-size:.85rem;margin-left:2px;color:var(--cyan2)}
.rf2026 .pk-label{margin-top:.7rem;font-size:.72rem;color:var(--muted);line-height:1.6;letter-spacing:.5px}

/* 痛点对照表 */
.rf2026 .painpoint-wrap{max-width:1200px;margin:0 auto 80px}
.rf2026 .painpoint-head{margin-bottom:1.8rem}
.rf2026 .painpoint-head h3{font-size:1.2rem;font-weight:700;color:var(--white)}
.rf2026 .painpoint-table{border:1px solid var(--border);background:var(--card-bg);backdrop-filter:blur(10px)}
.rf2026 .pp-row{display:grid;grid-template-columns:.8fr 1.3fr 1.3fr;gap:1px;background:var(--border)}
.rf2026 .pp-row>div{background:var(--bg);padding:18px 20px;font-size:.82rem;line-height:1.7;color:var(--muted)}
.rf2026 .pp-head>div{font-family:'Share Tech Mono',monospace;font-size:.72rem;letter-spacing:2px;color:var(--cyan);text-transform:uppercase}
.rf2026 .pp-scene{color:var(--white)!important;font-weight:700}
.rf2026 .pp-new{color:var(--white)!important;border-left:2px solid var(--cyan)!important}

/* 模块矩阵 */
.rf2026 .module-head{max-width:1200px;margin:0 auto 2rem}
.rf2026 .module-head h3{font-size:1.2rem;font-weight:700;color:var(--white)}
.rf2026 .module-head p{margin-top:.5rem;font-size:.82rem;color:var(--muted)}
.rf2026 .module-grid{max-width:1200px;margin:0 auto 80px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.rf2026 .module-card{background:var(--card-bg);border:1px solid var(--border);backdrop-filter:blur(10px);padding:30px 26px 26px;position:relative;cursor:pointer;transition:all .35s;overflow:hidden}
.rf2026 .module-card:hover{border-color:var(--cyan);transform:translateY(-4px);box-shadow:0 10px 34px rgba(18,120,141,.12)}
.rf2026 .mc-idx{font-family:'Share Tech Mono',monospace;font-size:.7rem;letter-spacing:3px;color:var(--cyan);opacity:.65;margin-bottom:.9rem}
.rf2026 .mc-title{font-size:1rem;font-weight:700;color:var(--white);margin-bottom:.7rem;line-height:1.4}
.rf2026 .mc-desc{font-size:.8rem;color:var(--muted);line-height:1.8;min-height:5.4em}
.rf2026 .mc-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:1.1rem}
.rf2026 .mc-tags span{font-family:'Share Tech Mono',monospace;font-size:.62rem;letter-spacing:1px;color:var(--cyan);border:1px solid var(--border);padding:3px 8px}
.rf2026 .mc-arrow{position:absolute;right:22px;bottom:20px;color:var(--cyan);opacity:0;transform:translateX(-6px);transition:all .3s}
.rf2026 .module-card:hover .mc-arrow{opacity:1;transform:translateX(0)}

/* 规格表 */
.rf2026 .spec-wrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rf2026 .spec-card{background:var(--card-bg);border:1px solid var(--border);backdrop-filter:blur(10px);padding:32px 30px}
.rf2026 .spec-head h4{font-size:1.05rem;font-weight:700;color:var(--white);margin-bottom:1.4rem}
.rf2026 .spec-table{width:100%;border-collapse:collapse}
.rf2026 .spec-table th,.rf2026 .spec-table td{text-align:left;vertical-align:top;padding:13px 0;border-bottom:1px solid var(--border);font-size:.79rem;line-height:1.75}
.rf2026 .spec-table th{width:88px;color:var(--cyan);font-family:'Share Tech Mono',monospace;font-weight:400;letter-spacing:1px;padding-right:16px;white-space:nowrap}
.rf2026 .spec-table td{color:var(--muted)}
.rf2026 .spec-table td strong{color:var(--white);font-weight:700}
.rf2026 .spec-table tr:last-child th,.rf2026 .spec-table tr:last-child td{border-bottom:none}
.rf2026 .spec-note{margin-top:1.2rem;font-size:.7rem;color:var(--muted);opacity:.75;line-height:1.7}

/* 产品 CTA */
.rf2026 .product-cta{max-width:1200px;margin:70px auto 0;border:1px solid var(--border);background:var(--card-bg);backdrop-filter:blur(10px);padding:38px 40px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.rf2026 .pc-text h3{font-size:1.15rem;color:var(--white);font-weight:700}
.rf2026 .pc-text p{margin-top:.5rem;font-size:.82rem;color:var(--muted)}
.rf2026 .pc-btns{display:flex;gap:14px;flex-wrap:wrap}

/* ---------- IDMS 平台 ---------- */
.rf2026 .platform-intro{max-width:900px;margin:0 auto 60px;text-align:center}
.rf2026 .platform-lead{font-size:.92rem;color:var(--muted);line-height:2}
.rf2026 .platform-lead strong{color:var(--cyan)}
.rf2026 .diagram-block{max-width:1200px;margin:0 auto 70px;border:1px solid var(--border);background:var(--card-bg);backdrop-filter:blur(10px);padding:32px 30px}
.rf2026 .diagram-head{margin-bottom:1.5rem}
.rf2026 .diagram-head h3{font-size:1.15rem;font-weight:700;color:var(--white)}
.rf2026 .diagram-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.rf2026 .arch-svg{display:block;width:100%;min-width:900px;height:auto}
.rf2026 .d-box{fill:rgba(255,255,255,.92);stroke:var(--border);stroke-width:1}
.rf2026 .d-core{stroke:var(--cyan);stroke-opacity:.55}
.rf2026 .d-sim{stroke:var(--gold);stroke-opacity:.7}
.rf2026 .d-db{stroke:var(--cyan2);stroke-opacity:.45}
.rf2026 .d-term{stroke:var(--border)}
.rf2026 .d-label{fill:var(--white);font-size:12px;text-anchor:middle;font-family:'Noto Sans SC',sans-serif}
.rf2026 .d-sub{fill:var(--muted);font-size:10px;text-anchor:middle;font-family:'Noto Sans SC',sans-serif}
.rf2026 .d-zone{fill:var(--cyan);font-size:10px;letter-spacing:2px;font-family:'Share Tech Mono',monospace;opacity:.8}
.rf2026 .d-chan{fill:var(--cyan);font-size:11px;font-family:'Share Tech Mono',monospace}
.rf2026 .d-chan-sub{fill:var(--muted);font-size:9px;font-family:'Noto Sans SC',sans-serif}
.rf2026 .d-note{fill:var(--muted);font-size:9px;text-anchor:middle;font-family:'Noto Sans SC',sans-serif}
.rf2026 .d-line{fill:none;stroke:var(--muted);stroke-width:1;stroke-opacity:.75}
.rf2026 .d-dash{stroke-dasharray:4 3;stroke:var(--gold);stroke-opacity:.8}
.rf2026 .d-arrow{fill:var(--muted)}
.rf2026 .diagram-legend{display:flex;flex-wrap:wrap;gap:20px;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--border);font-size:.7rem;color:var(--muted)}
.rf2026 .diagram-legend span{display:flex;align-items:center;gap:7px}
.rf2026 .lg{width:14px;height:9px;border:1px solid var(--border);display:inline-block;flex-shrink:0}
.rf2026 .lg-core{border-color:var(--cyan)}
.rf2026 .lg-sim{border-color:var(--gold)}
.rf2026 .lg-db{border-color:var(--cyan2)}
.rf2026 .lg-term{border-color:var(--muted)}
.rf2026 .lg-dash{border:none;height:0;border-top:1px dashed var(--gold);width:16px}

.rf2026 .platform-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.rf2026 .pf-card{background:var(--card-bg);border:1px solid var(--border);backdrop-filter:blur(10px);padding:32px 28px;transition:border-color .3s}
.rf2026 .pf-card:hover{border-color:var(--cyan)}
.rf2026 .pf-idx{font-family:'Orbitron','Noto Sans SC',sans-serif;font-size:1.5rem;font-weight:900;color:var(--cyan);opacity:.28;line-height:1;margin-bottom:.8rem}
.rf2026 .pf-card h4{font-size:1rem;color:var(--white);font-weight:700;margin-bottom:.8rem}
.rf2026 .pf-card p{font-size:.8rem;color:var(--muted);line-height:1.8}
.rf2026 .pf-list{list-style:none;display:flex;flex-direction:column;gap:11px;margin-top:.3rem}
.rf2026 .pf-list li{display:flex;gap:10px;font-size:.8rem;color:var(--muted);line-height:1.7}
.rf2026 .pf-list li::before{content:'\25B6';color:var(--cyan);font-size:.5rem;margin-top:6px;flex-shrink:0}
.rf2026 .pf-list strong{color:var(--white)}
.rf2026 .kpi-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:1.1rem}
.rf2026 .kpi-chips span{font-family:'Share Tech Mono',monospace;font-size:.63rem;color:var(--cyan);border:1px solid var(--border);padding:4px 9px;letter-spacing:.5px}
.rf2026 .platform-cta{max-width:1200px;margin:50px auto 0;text-align:center}

/* ---------- 知识产权 ---------- */
.rf2026 .ip-section{background:linear-gradient(180deg,transparent,rgba(244,247,249,.95))}
.rf2026 .ip-intro{max-width:880px;margin:0 auto 50px;text-align:center}
.rf2026 .ip-intro p{font-size:.88rem;color:var(--muted);line-height:2}
.rf2026 .ip-intro strong{color:var(--cyan)}
.rf2026 .ip-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.rf2026 .ip-card{position:relative;background:var(--card-bg);border:1px solid var(--border);backdrop-filter:blur(10px);padding:24px 22px 20px;transition:all .3s}
.rf2026 .ip-card:hover{border-color:var(--cyan);transform:translateY(-3px)}
.rf2026 .ip-no{font-family:'Share Tech Mono',monospace;font-size:.66rem;letter-spacing:2px;color:var(--cyan);opacity:.6}
.rf2026 .ip-name{margin-top:.6rem;font-size:.9rem;color:var(--white);font-weight:700;line-height:1.55;min-height:2.8em;padding-right:56px}
.rf2026 .ip-meta{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.rf2026 .ip-reg{font-family:'Share Tech Mono',monospace;font-size:.72rem;color:var(--cyan);letter-spacing:.5px}
.rf2026 .ip-date{font-size:.68rem;color:var(--muted)}
.rf2026 .ip-badge{position:absolute;top:22px;right:20px;font-size:.58rem;color:var(--gold);border:1px solid rgba(168,111,0,.35);padding:2px 7px;letter-spacing:1px}
.rf2026 .ip-foot{max-width:1200px;margin:2rem auto 0;font-size:.7rem;color:var(--muted);opacity:.7;text-align:center}

/* ---------- 表单降级提示 ---------- */
.rf2026 .form-fallback{margin-top:1.1rem;border:1px solid rgba(168,111,0,.34);background:rgba(168,111,0,.06);padding:16px 18px}
.rf2026 .form-fallback-title{font-size:.8rem;color:var(--gold);margin-bottom:.6rem}
.rf2026 .form-fallback-row{display:flex;gap:20px;flex-wrap:wrap}
.rf2026 .form-fallback-row a{color:var(--white);font-size:.82rem;text-decoration:none;border-bottom:1px solid var(--border)}
.rf2026 .form-fallback-row a:hover{color:var(--cyan);border-color:var(--cyan)}
.rf2026 .form-submit[disabled]{opacity:.55;cursor:not-allowed}

/* ---------- 响应式 ---------- */
@media(max-width:1024px){
  .rf2026 .spec-wrap{grid-template-columns:1fr}
  .rf2026 .product-kpis{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .rf2026 .product-masthead{padding:34px 22px}
  .rf2026 .pp-row{grid-template-columns:1fr}
  .rf2026 .pp-head{display:none}
  .rf2026 .pp-row>div{padding:14px 16px}
  .rf2026 .pp-scene{border-top:1px solid var(--cyan)}
  .rf2026 .pp-new{border-left:none!important;border-top:1px solid var(--cyan)!important}
  .rf2026 .product-cta{flex-direction:column;align-items:flex-start;padding:28px 24px}
  .rf2026 .diagram-block,.rf2026 .spec-card,.rf2026 .pf-card{padding:24px 20px}
  .rf2026 .mc-desc{min-height:0}
}
@media(max-width:560px){
  .rf2026 .product-kpis{grid-template-columns:1fr}
  .rf2026 .ip-name{min-height:0;padding-right:0}
  .rf2026 .ip-badge{position:static;display:inline-block;margin-top:.7rem}
}


/* ---- 并入模版后：停用深色专属装饰 ---- */
.rf2026 .cursor,.rf2026 .grid-bg,.rf2026 .scanlines{display:none!important}
/* 模版 Site.css 把表单控件限死 280px，这里恢复 */
.rf2026 input,.rf2026 select,.rf2026 textarea{max-width:none}
/* 模版 HomeCss.css 把 body 设为衬线字体，首页区域改回无衬线 */
.rf2026,.rf2026 input,.rf2026 select,.rf2026 textarea,.rf2026 button{font-family:'Noto Sans SC',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
/* 卡片在白底上需要实体描边与轻阴影，替代深色下的发光 */
.rf2026 .service-card-featured,.rf2026 .module-card,.rf2026 .spec-card,.rf2026 .pf-card,.rf2026 .ip-card,.rf2026 .product-masthead,.rf2026 .diagram-block,.rf2026 .painpoint-table,.rf2026 .product-cta{box-shadow:0 1px 3px rgba(37,49,58,.05)}
.rf2026 .service-card-featured:hover,.rf2026 .module-card:hover,.rf2026 .ip-card:hover{box-shadow:0 6px 20px rgba(18,120,141,.13)}

/* 模版为 navbar-fixed-top（50px），锚点跳转需留出空间 */
.rf2026 section[id]{scroll-margin-top:70px}

/* ---- 并入模版后的补齐规则 ---- */
/* 关于我们 轨道环 4-7 原设计缺定义，补上尺寸与转速 */
.rf2026 .orbit-ring-4{width:360px;height:360px;animation:spin1 26s linear infinite reverse}
.rf2026 .orbit-ring-5{width:420px;height:420px;animation:spin1 32s linear infinite}
.rf2026 .orbit-ring-6{width:480px;height:480px;animation:spin1 38s linear infinite reverse}
.rf2026 .orbit-ring-7{width:540px;height:540px;animation:spin1 44s linear infinite}
/* 板块底色交替，与 .product-section / .ip-section 呼应 */
.rf2026 .platform-section{background:linear-gradient(180deg,var(--surface),transparent)}
/* 痛点表“传统做法”列弱化，突出右侧“使用套件后” */
.rf2026 .pp-old{color:var(--muted);opacity:.9}
/* 模版导航的当前板块高亮（本样式表仅首页加载，不影响其它页面） */
.navbar .nav-link.active{color:#fff!important;text-shadow:0 0 6px rgba(255,255,255,.5)}

/* ---- 置于模版容器内的尺寸校准 ---- */
/* .container.body-content 已提供左右留白，板块不再自带 5% 横向内边距 */
.rf2026 section{padding:78px 0}
/* 固定导航 50px，首屏留出高度即可，不必再压 120px 顶部内边距 */
.rf2026 .rf-hero{min-height:calc(100vh - 130px);padding:48px 0 64px}
/* 未单独指定样式的链接不落入 Bootstrap 的默认蓝 */
.rf2026 a{color:var(--cyan);text-decoration:none}
.rf2026 a:hover,.rf2026 a:focus{color:var(--cyan2);text-decoration:none}
/* 模版把 body 背景设为白，首页顶部大图区给一层极浅的渐变以拉开层次 */
.rf2026 .rf-hero{background:linear-gradient(180deg,var(--surface),transparent 70%)}
/* 画布铺满首屏容器 */
.rf2026 #heroCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.55}
@media(max-width:900px){
  .rf2026 section{padding:52px 0}
  .rf2026 .rf-hero{min-height:auto;padding:36px 0 44px}
}

/* 首屏入场动画同理：动画不可用时不能把内容留在 opacity:0 */
@media (prefers-reduced-motion: reduce){
  .rf2026 *,.rf2026 *::before,.rf2026 *::after{animation:none!important;transition:none!important}
  .rf2026 .reveal{opacity:1!important;transform:none!important;filter:none!important}
}

/* ============ 并入模版后的观感校准 ============ */
/* 1. 中文不适用为拉丁等宽字体设计的大字距，逐项收紧 */
.rf2026 .hero-eyebrow{letter-spacing:1.5px;font-family:'Noto Sans SC',sans-serif;text-transform:none}
.rf2026 .stat-label{letter-spacing:.5px}
.rf2026 .rf-btn-primary,.rf2026 .btn-secondary,.rf2026 .form-submit{letter-spacing:1px;font-family:'Noto Sans SC',sans-serif;font-weight:700}
.rf2026 .pk-label,.rf2026 .mc-tags span,.rf2026 .kpi-chips span,.rf2026 .modal-tags span{letter-spacing:0}
/* 2. 次要按钮描边太淡，白底上几乎看不见 */
.rf2026 .btn-secondary{border:1px solid var(--cyan);color:var(--cyan);background:#fff}
.rf2026 .btn-secondary:hover{background:var(--cyan);color:#fff}
/* 3. 首屏粒子画布在白底上过于抢眼，压低存在感并收窄首屏高度 */
.rf2026 #heroCanvas{opacity:.22}
.rf2026 .rf-hero{min-height:auto;padding:72px 0 88px}
/* 4. 首屏正文略小，白底下需要更实的字重与字号 */
.rf2026 .hero-sub{font-size:clamp(.95rem,1.5vw,1.1rem);color:var(--white);font-weight:400;margin-bottom:2.4rem}
.rf2026 .hero-title{font-size:clamp(2.4rem,6vw,4.6rem);margin-bottom:.25em}
/* 5. 数字与标签在浅底上加深，避免发虚 */
.rf2026 .stat-num,.rf2026 .metric-val{text-shadow:none}

/* 中文字距二轮收紧 + 宽度对齐 */
.rf2026 .product-name-cn{letter-spacing:3px}
.rf2026 .pp-head>div{letter-spacing:1px}
.rf2026 .product-masthead{max-width:1200px}
.rf2026 .pk-label{font-size:.75rem;color:var(--white);opacity:.85}
/* 模块卡标签在白底上描边过淡 */
.rf2026 .mc-tags span,.rf2026 .kpi-chips span{border-color:rgba(18,120,141,.3);background:rgba(18,120,141,.04)}

/* ---- 关于我们 轨道图修正 ---- */
/* 容器原为 300px，但最大环 540px，布局尺寸不足导致与左侧文字重叠 */
.rf2026 .orbit-system{width:540px;height:540px;transform:scale(.78)}
/* 各环原本都从 12 点起转，首帧七个标签完全重叠；用负延时错开起始角度 */
.rf2026 .orbit-ring-1{animation:spin1 8s linear infinite;animation-delay:-0s}
.rf2026 .orbit-ring-2{animation:spin1 14s linear infinite reverse;animation-delay:-2s}
.rf2026 .orbit-ring-3{animation:spin1 20s linear infinite;animation-delay:-5.7s}
.rf2026 .orbit-ring-4{animation:spin1 26s linear infinite reverse;animation-delay:-11.1s}
.rf2026 .orbit-ring-5{animation:spin1 32s linear infinite;animation-delay:-18.3s}
.rf2026 .orbit-ring-6{animation:spin1 38s linear infinite reverse;animation-delay:-27.1s}
.rf2026 .orbit-ring-7{animation:spin1 44s linear infinite;animation-delay:-37.7s}
/* 标签随环旋转会倒置，反向等速抵消，保持文字始终水平 */
.rf2026 .orbit-ring-1 .orbit-label{animation:spin1 8s linear infinite reverse;animation-delay:-0s;transform-origin:50% 50%}
.rf2026 .orbit-ring-2 .orbit-label{animation:spin1 14s linear infinite;animation-delay:-2s;transform-origin:50% 50%}
.rf2026 .orbit-ring-3 .orbit-label{animation:spin1 20s linear infinite reverse;animation-delay:-5.7s;transform-origin:50% 50%}
.rf2026 .orbit-ring-4 .orbit-label{animation:spin1 26s linear infinite;animation-delay:-11.1s;transform-origin:50% 50%}
.rf2026 .orbit-ring-5 .orbit-label{animation:spin1 32s linear infinite reverse;animation-delay:-18.3s;transform-origin:50% 50%}
.rf2026 .orbit-ring-6 .orbit-label{animation:spin1 38s linear infinite;animation-delay:-27.1s;transform-origin:50% 50%}
.rf2026 .orbit-ring-7 .orbit-label{animation:spin1 44s linear infinite reverse;animation-delay:-37.7s;transform-origin:50% 50%}
.rf2026 .orbit-label{top:-26px;font-family:'Noto Sans SC',sans-serif;font-size:.7rem;color:var(--white);background:rgba(255,255,255,.85);padding:1px 6px;border-radius:2px}

/* ---- 弹窗排版校准（浅色下的可读性） ---- */
/* 标签兜底：即便某处漏加 .rf-tag 也有 chip 外观 */
.rf2026 .modal-tags span{display:inline-block;font-size:.68rem;padding:3px 9px;letter-spacing:0;
  border:1px solid rgba(18,120,141,.3);background:rgba(18,120,141,.04);color:var(--cyan)}
/* 区块小标题原为 .7rem + 3px 字距，中文几乎读不出 */
.rf2026 .modal-section-title{font-family:'Noto Sans SC',sans-serif;font-size:.85rem;font-weight:700;
  letter-spacing:0;color:var(--white);text-transform:none;margin-bottom:.8rem;
  padding-left:10px;border-left:3px solid var(--cyan)}
/* 正文 300 字重在白底上发虚 */
.rf2026 .modal-text{color:var(--muted);font-weight:400}
/* 弹窗标题改用中文字体，去掉为拉丁字设计的字距 */
.rf2026 .rf-modal-title{font-family:'Noto Sans SC',sans-serif;letter-spacing:0;font-size:1.25rem}
/* 列表项在白底上加深 */
.rf2026 .modal-list li{color:var(--muted)}

/* 轨道图在窄屏收敛：540px 的布局盒会把 about 栅格撑到视口之外 */
@media(max-width:900px){
  .rf2026 .orbit-system{width:300px;height:300px;transform:scale(.9)}
  .rf2026 .orbit-ring-4,.rf2026 .orbit-ring-5,
  .rf2026 .orbit-ring-6,.rf2026 .orbit-ring-7{display:none}
  .rf2026 .about-visual{display:flex;justify-content:center}
}
/* 兜底：任何子元素都不得撑破首页容器 */
.rf2026{max-width:100%;overflow-x:clip}

/* ============================================================
   观感修正：去掉滚动淡入依赖 + 全面加强对比
   ------------------------------------------------------------
   原来内容默认 opacity:0，靠 IntersectionObserver 逐个淡入，
   直接从锚点落地时大片空白；首屏还叠了带延时的入场动画。
   装饰性收益远小于"看不见内容"的代价，全部取消。
   ============================================================ */
.rf2026 .reveal,
.rf2026.anim .reveal,
.rf2026.anim .reveal.visible{
  opacity:1!important;transform:none!important;filter:none!important;transition:none!important
}
/* 首屏入场动画同样取消，内容立即可见 */
.rf2026 .hero-eyebrow,.rf2026 .hero-title,.rf2026 .hero-sub,
.rf2026 .hero-stats,.rf2026 .hero-buttons,.rf2026 .scroll-hint{
  animation:none!important;opacity:1!important
}

/* ---- 层次：分区底色交替，不再是一整片白 ---- */
.rf2026 .rf-hero{background:linear-gradient(180deg,var(--surface),#fff)}
.rf2026 .product-section{background:#fff}
.rf2026 #services{background:var(--surface)}
.rf2026 .platform-section{background:#fff}
.rf2026 .projects-section{background:var(--surface)}
.rf2026 .ip-section{background:#fff}
.rf2026 #news{background:var(--surface)}
.rf2026 #industries{background:#fff}
.rf2026 #about{background:var(--surface)}
.rf2026 .metrics-section{background:var(--cyan);color:#fff}
.rf2026 .metrics-section .metric-val,
.rf2026 .metrics-section .metric-unit{color:#fff}
.rf2026 .metrics-section .metric-label{color:rgba(255,255,255,.85)}

/* ---- 卡片：白底白边等于没有边界 ---- */
.rf2026 .service-card-featured,.rf2026 .module-card,.rf2026 .spec-card,
.rf2026 .pf-card,.rf2026 .ip-card,.rf2026 .product-masthead,
.rf2026 .diagram-block,.rf2026 .painpoint-table,.rf2026 .product-cta,
.rf2026 .project-card,.rf2026 .news-card{
  border:1px solid var(--border);box-shadow:0 1px 2px rgba(29,40,48,.06)
}
.rf2026 .service-card-featured:hover,.rf2026 .module-card:hover,
.rf2026 .ip-card:hover,.rf2026 .project-card:hover{
  border-color:var(--cyan);box-shadow:0 8px 24px rgba(15,107,126,.15)
}

/* ---- 标题与正文加重 ---- */
.rf2026 .section-title{color:var(--white)}
.rf2026 .section-title em{-webkit-text-fill-color:var(--cyan);background:none;color:var(--cyan)}
.rf2026 .hero-title .line1{color:var(--white)}
.rf2026 .hero-title .line2{-webkit-text-fill-color:var(--cyan);background:none;color:var(--cyan);animation:none}
.rf2026 .hero-sub{color:var(--white)}
.rf2026 .modal-text,.rf2026 .modal-list li,.rf2026 .pf-list li,
.rf2026 .pp-row>div{color:var(--muted)}
.rf2026 .product-lead,.rf2026 .platform-lead,.rf2026 .ip-intro p{color:var(--white)}

/* ---- 首屏粒子背景在浅底上纯属噪点，去掉 ---- */
.rf2026 #heroCanvas{display:none}

/* 首屏收短后，绝对定位的 SCROLL 提示会压到按钮上；内容已直接可见，该提示无意义 */
.rf2026 .scroll-hint{display:none}

/* 数据带改成青色底后，.metric-val 的渐变文字填充（-webkit-text-fill-color:transparent）
   会让数字整个消失；必须连同填充色一起覆盖，只改 color 无效。 */
.rf2026 .metrics-section .metric-val{
  background:none;-webkit-text-fill-color:#fff;color:#fff;filter:none;text-shadow:none
}
.rf2026 .metrics-section .metric-unit{
  -webkit-text-fill-color:rgba(255,255,255,.85);color:rgba(255,255,255,.85)
}
.rf2026 .metrics-section .metric-label{color:rgba(255,255,255,.9);letter-spacing:.5px;font-family:'Noto Sans SC',sans-serif}
.rf2026 .metrics-section .metric{padding:44px 20px}

/* ============================================================
   质感强化（只用既有色板：--cyan / --cyan2 / --surface / --border）
   不引入任何新色相，全部是这几个 token 的淡化与叠色。
   ============================================================ */

/* ---- 七大功能模块：3 列放 7 张卡会剩一张单独吊在最后一行 ----
   把 M07「基础库模块」改成整行的横向卡：它本来就是垫在其余六个模块
   下面的标准库，做成一条基座正好补满 3+3+1 的空缺，也不用去凑第八个
   模块。列数仍交给原来的 auto-fill（1200px 容器封顶就是 3 列），
   基座卡用 grid-column:1/-1 跨满，列数变成 2 或 1 时同样成立。 */

/* ---- 模块卡：原来是白底 + 1px 边 + 一行小字，六张排下来太平 ---- */
.rf2026 .module-card{
  background:linear-gradient(158deg,var(--card-bg) 0%,rgba(234,240,244,.35) 55%,rgba(234,240,244,.8) 100%);
}
/* 顶部渐显的强调条，与 .service-card-featured 的处理保持一致 */
.rf2026 .module-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--cyan),var(--cyan2));
  transform:scaleX(0);transform-origin:left;transition:transform .45s ease;
}
.rf2026 .module-card:hover::before{transform:scaleX(1)}
/* 右上角的大号幽灵编号，呼应「核心技术能力」里的 01–08 */
.rf2026 .module-card::after{
  content:attr(data-idx);position:absolute;top:10px;right:20px;
  font-family:'Orbitron','Noto Sans SC',sans-serif;font-weight:900;
  font-size:3.6rem;line-height:1;color:rgba(15,107,126,.055);
  pointer-events:none;user-select:none;
}
.rf2026 .module-card .mc-idx{opacity:1;color:var(--cyan);position:relative;padding-left:14px}
.rf2026 .module-card .mc-idx::before{
  content:'';position:absolute;left:0;top:50%;width:8px;height:1px;
  background:var(--cyan);opacity:.6;
}

/* ---- M07 基座卡：占满整行，内容改成横向三栏 ---- */
.rf2026 .module-card--base{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(190px,250px) minmax(0,1fr) auto 20px;
  grid-template-rows:auto auto;
  column-gap:36px;
  align-items:center;
  padding:26px 30px;
  background:linear-gradient(90deg,rgba(15,107,126,.06),rgba(15,107,126,.015) 42%,#fff);
}
/* 基座卡的强调条常亮，标明它和上面六张不是同一层 */
.rf2026 .module-card--base::before{transform:scaleX(1);opacity:.5}
.rf2026 .module-card--base:hover::before{opacity:1}
/* 幽灵编号会压到右侧标签上，这张不要 */
.rf2026 .module-card--base::after{display:none}
.rf2026 .module-card--base .mc-idx{grid-column:1;grid-row:1;align-self:end;margin-bottom:.35rem}
.rf2026 .module-card--base .mc-title{grid-column:1;grid-row:2;align-self:start;margin-bottom:0}
.rf2026 .module-card--base .mc-desc{grid-column:2;grid-row:1/3;min-height:0}
.rf2026 .module-card--base .mc-tags{grid-column:3;grid-row:1/3;margin-top:0;justify-content:flex-end}
.rf2026 .module-card--base .mc-arrow{
  position:static;grid-column:4;grid-row:1/3;justify-self:end;transform:none;
}
.rf2026 .module-card--base:hover .mc-arrow{transform:translateX(3px)}

@media(max-width:900px){
  /* 窄屏本来就是单列，基座卡回到普通竖排 */
  .rf2026 .module-card--base{display:block;padding:30px 26px}
  .rf2026 .module-card--base .mc-tags{margin-top:1.1rem;justify-content:flex-start}
  .rf2026 .module-card--base .mc-arrow{position:absolute;right:22px;bottom:20px}
}

/* ---- 底色分区加一层极淡的网点，白 / 浅蓝灰交替不再是两块死色 ---- */
.rf2026 #services,
.rf2026 .projects-section,
.rf2026 #news,
.rf2026 #about{
  background-color:var(--surface);
  background-image:radial-gradient(rgba(15,107,126,.06) 1px,transparent 1px);
  background-size:24px 24px;
}
/* 白底分区给一层几乎看不见的横向纹理，避免大片纯白 */
.rf2026 .product-section,
.rf2026 .platform-section,
.rf2026 .ip-section,
.rf2026 #industries{
  background-color:#fff;
  background-image:linear-gradient(180deg,rgba(15,107,126,.035),transparent 260px);
  background-repeat:no-repeat;
}

/* ---- 首屏：补一层径向光晕和淡格线，粒子画布关掉后这里太空 ---- */
.rf2026 .rf-hero{
  background:
    radial-gradient(760px 320px at 50% 12%,rgba(15,107,126,.09),transparent 72%),
    linear-gradient(180deg,var(--surface),#fff);
}
.rf2026 .rf-hero::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(15,107,126,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(15,107,126,.05) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent 75%);
  mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent 75%);
}

/* ---- 区块标题的分隔线：原来是 60px 向右单边渐隐，看着是歪的 ----
   改成居中对称，并在下面叠一条更宽更淡的回声线，做成两层。 */
.rf2026 .section-divider{
  width:88px;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  position:relative;
}
.rf2026 .section-divider::after{
  content:'';position:absolute;left:50%;top:8px;transform:translateX(-50%);
  width:210px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(15,107,126,.2),transparent);
}

/* ---- 知识产权：10 张卡按 auto-fill 排成 4 列，最后一行只剩 2 张 ----
   宽屏改成 5 列正好 5+5 排满。窄屏仍交给原来的 auto-fill。
   注意这里绑死了「10 项著作权」这个数量，以后增删条目要重新配列数。 */
@media(min-width:1100px){
  .rf2026 .ip-grid{grid-template-columns:repeat(5,1fr)}
}
