/* Minimal site styles to layer on top of Bootstrap 4 */
:root{--ink:#10162f;--muted:#5e6b8b}
body{font-family:"Microsoft YaHei",Arial,sans-serif;color:var(--ink);line-height:1.75;background:#f6f8ff}
.header{background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.06);padding:14px 0;position:sticky;top:0;z-index:50}
.header .logo img{height:46px;width:auto}
.header-menu{list-style:none;margin:0;padding:0;display:flex;gap:24px}
.header-menu a{color:#273252;text-decoration:none;font-weight:500}
.header-menu a.active,.header-menu a:hover{color:#1a73ff}
.btn-primary{background:linear-gradient(135deg,#1a73ff,#8057ff);border:0;border-radius:999px;padding:10px 26px;font-weight:600}
.btn-secondary{background:#fff;border:1px solid rgba(26,115,255,.22);color:#1a54c7;border-radius:999px;padding:10px 26px;font-weight:600}
.banner-area{position:relative;padding:80px 0 60px;background:radial-gradient(circle at 15% 20%,rgba(21,213,255,.22),transparent 30%),radial-gradient(circle at 85% 20%,rgba(128,87,255,.22),transparent 32%),linear-gradient(180deg,#eef4ff,#f9fbff);overflow:hidden}
.banner-text h1{font-size:clamp(28px,4vw,52px);line-height:1.2;margin-bottom:16px}
.banner-text p{color:#4d5c82;margin-bottom:22px;font-size:17px}
.banner-text .btn{margin-right:10px}
.banner-shapes{position:absolute;inset:0;pointer-events:none}
.banner-shapes .shape{position:absolute;width:80px;opacity:.7}
.banner-shapes .shape1{top:8%;left:6%}
.banner-shapes .shape2{top:14%;right:12%}
.banner-shapes .shape3{top:40%;left:20%}
.banner-shapes .shape4{bottom:14%;right:8%}
.banner-shapes .shape5{bottom:10%;left:10%}
.banner-shapes .shape6{top:25%;right:32%}
.banner-shapes .shape7{bottom:30%;right:24%}
@keyframes rot3{0%{transform:rotate3d(1,1,1,0deg)}100%{transform:rotate3d(1,1,1,360deg)}}
@keyframes rot2{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
@keyframes rot2r{0%{transform:rotate(0deg)}100%{transform:rotate(-360deg)}}
.rotate3d{animation:rot3 18s linear infinite}
.rotate2d{animation:rot2 14s linear infinite}
.rotate-2d{animation:rot2r 16s linear infinite}
.banner-image img{width:100%;border-radius:20px;box-shadow:0 18px 44px rgba(28,63,130,.16)}
.section{padding:70px 0}
.section-title h2{font-size:clamp(24px,3vw,38px);margin-bottom:10px}
.section-title p{color:var(--muted)}
.single-feature-inner{background:#fff;border-radius:18px;padding:30px 22px;box-shadow:0 12px 28px rgba(46,78,145,.08);height:100%;margin-bottom:24px}
.feature-icon img{width:80px;height:80px;margin:0 auto 14px;display:block}
.single-feature-inner h5{font-weight:700;margin-bottom:10px}
.single-feature-inner p{color:var(--muted);font-size:15px}
.feature-grid>div{display:flex;justify-content:center}
.feature-grid>div>.single-feature-inner{width:100%;max-width:360px}
.app-area{background:#fff}
.single-app-inner{background:#f6f8ff;border-radius:16px;padding:24px 16px;text-align:center;margin-bottom:22px;height:100%}
.single-app-inner img{width:100%;border-radius:10px;margin-bottom:14px}
.single-app-inner h5{font-weight:700;margin-bottom:8px}
.single-app-inner p{color:var(--muted);font-size:14px}
.blog-area .single-blog-inner{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 14px 30px rgba(46,78,145,.08);margin-bottom:24px;height:100%}
.post-image img{width:100%;display:block}
.post-content{padding:22px}
.post-meta{color:var(--muted);font-size:13px;margin-bottom:10px}
.post-title h3{font-size:17px;line-height:1.45}
.post-title h3 a{color:var(--ink);text-decoration:none}
.post-title h3 a:hover{color:#1a73ff}
.post-content p{color:var(--muted);font-size:14px;margin:10px 0}
.blog-btn{color:#1a73ff;font-weight:600;text-decoration:none}
.footer{background:#0e1430;color:rgba(255,255,255,.78);padding:48px 0 20px}
.footer h3{color:#fff;font-size:18px;margin-bottom:14px}
.footer .footer-logo img{height:48px;margin-bottom:12px}
.footer ul{list-style:none;padding:0;margin:0}
.footer ul li{margin-bottom:6px}
.footer ul li a{color:rgba(255,255,255,.7);text-decoration:none}
.footer ul li a:hover{color:#fff}
.footer .footer-contact-info li i{color:#1a73ff;margin-right:8px}
.footer-bottom{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.1);font-size:13px}
.about-body h3{margin-top:24px;margin-bottom:10px;color:var(--ink)}
.about-body p{color:var(--muted);margin-bottom:14px}
.article h1{font-size:clamp(22px,3vw,32px);line-height:1.4;margin-bottom:14px}
.article-meta{color:var(--muted);font-size:14px}
.article-body p{color:#3a4663;margin-bottom:14px;font-size:16px}
.news-item{background:#fff;border-radius:14px;padding:20px;box-shadow:0 10px 22px rgba(46,78,145,.06);height:100%}
.news-item h3{font-size:17px;line-height:1.5;margin-bottom:10px}
.news-item h3 a{color:var(--ink);text-decoration:none}
.news-item h3 a:hover{color:#1a73ff}
.news-item p{color:var(--muted);font-size:14px;margin-bottom:12px}
@media (max-width:768px){
  .banner-shapes .shape{width:50px}
  .header-menu{gap:12px;font-size:14px}
  .banner-area{padding:50px 0}
  .section{padding:50px 0}
}