/* 奇点官网样式 - 参考 qd-data.com 风格 */

*{margin:0;padding:0;box-sizing:border-box;}

:root{
  --primary:#2563eb;--primary-dark:#1d4ed8;
  --text:#0f172a;--text-light:#64748b;
  --bg:#fff;--bg-gray:#f4f7fb;
  --border:#e2e8f0;--radius:18px;
}

body{font-family:'Microsoft YaHei',Arial,sans-serif;color:var(--text);line-height:1.6;background:#f8fafc;}

a{color:var(--primary);text-decoration:none;}

img{max-width:100%;height:auto;}

.container{max-width:1240px;margin:0 auto;padding:0 20px;}



/* ── 导航 ── */

.site-header{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,240,.9);box-shadow:0 8px 24px rgba(15,23,42,.06);}

.site-header .container{display:flex;align-items:center;justify-content:space-between;height:72px;}

.logo{font-size:22px;font-weight:800;color:#60a5fa;flex-shrink:0;line-height:1.2;letter-spacing:.5px;}

.main-nav{display:flex;gap:0;align-items:center;}

.main-nav a{font-size:14px;color:#334155;padding:0 16px;height:72px;line-height:72px;display:block;transition:color .2s,background .2s;white-space:nowrap;}

.main-nav a:hover,.main-nav a.active{color:var(--primary);background:#eff6ff;}

.nav-toggle{display:none;background:none;border:none;font-size:24px;cursor:pointer;padding:4px 8px;color:var(--text);}

.nav-login-btn{display:inline-block;background:linear-gradient(135deg,var(--primary),#4f7cff);color:#fff;padding:10px 22px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap;transition:.2s;flex-shrink:0;box-shadow:0 10px 24px rgba(37,99,235,.22);}

.nav-login-btn:hover{background:var(--primary-dark);color:#fff;}



/* ── Hero 轮播 ── */

.hero{position:relative;overflow:hidden;}

.banner-slider{position:relative;overflow:hidden;min-height:460px;}

.banner-slide{display:none;position:relative;min-height:460px;}

.banner-slide.active{display:block;}

.banner-slide img{width:100%;height:460px;object-fit:cover;display:block;}

.banner-bg{width:100%;height:460px;background:linear-gradient(135deg,#0d2b6b 0%,#1a56db 60%,#2563eb 100%);}

.banner-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff;width:90%;max-width:700px;}

.banner-text h1{font-size:40px;margin-bottom:14px;text-shadow:0 2px 8px rgba(0,0,0,.3);font-weight:bold;}

.banner-text p{font-size:18px;opacity:.9;margin-bottom:28px;}

.banner-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;}

.dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:.2s;}

.dot.active{background:#fff;}



/* Hero 默认 */

.hero-default{min-height:460px;background:linear-gradient(180deg,#eef4ff 0%,#e4edff 100%);display:flex;align-items:center;justify-content:center;}

.hero-inner{text-align:center;color:#1f2937;padding:60px 20px;}

.hero-inner h1{font-size:42px;font-weight:bold;margin-bottom:16px;}

.hero-slogan{font-size:20px;color:#3758a5;margin-bottom:10px;}

.hero-desc{font-size:14px;color:#5b6b8d;max-width:600px;margin:0 auto 32px;}

.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.hero-shell{width:min(760px,92%);}
.hero-shell .skeleton-line{margin-left:auto;margin-right:auto;background:rgba(255,255,255,.55);}
.hero-shell .skeleton-line.title{height:34px;border-radius:14px;width:62%;margin-bottom:18px;}
.hero-shell .skeleton-line.sub{height:18px;border-radius:999px;width:48%;margin-bottom:12px;}
.hero-shell .skeleton-line.desc{height:14px;border-radius:999px;width:76%;margin-bottom:10px;}
.hero-shell .skeleton-line.desc.last{width:54%;margin-bottom:28px;}
.hero-shell-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.hero-shell-actions .skeleton-line{width:140px;height:42px;border-radius:10px;margin:0;background:rgba(255,255,255,.7);}



/* ── 按钮 ── */

.btn-primary{display:inline-block;background:linear-gradient(135deg,var(--primary),#4f7cff);color:#fff;padding:13px 30px;border-radius:999px;font-size:15px;font-weight:600;transition:.2s;border:2px solid transparent;box-shadow:0 14px 34px rgba(37,99,235,.24);}

.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff;}

.btn-outline{display:inline-block;background:rgba(255,255,255,.04);color:#fff;padding:13px 30px;border-radius:999px;font-size:15px;border:1px solid rgba(255,255,255,.35);transition:.2s;}

.btn-outline:hover{background:rgba(255,255,255,.15);color:#fff;}

.btn-more{display:inline-block;color:var(--primary);font-size:14px;margin-top:16px;border-bottom:1px solid rgba(37,99,235,.4);padding-bottom:2px;}

.btn-more:hover{color:var(--primary-dark);}

.btn-try{display:inline-block;background:var(--primary);color:#fff;padding:5px 14px;border-radius:4px;font-size:12px;transition:.2s;margin-top:10px;}

.btn-try:hover{background:var(--primary-dark);color:#fff;}



/* ── Section ── */

.section{padding:30px 0 0;}

.section-gray{background:var(--bg-gray);}

.section-hd{text-align:center;margin-bottom:44px;}
.section-hd-compact{margin-bottom:24px;}
.section-hd-split{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;text-align:left;}
.section-hd-split .section-title{margin-bottom:8px;}
.section-hd-split .section-sub{margin-bottom:0;}


.section-sub{font-size:14px;color:#64748b;}
.section-list{margin-bottom:30px;}
.section-actions{text-align:center;}
.btn-section-more{display:inline-block;padding:12px 28px;border-radius:999px;border:1px solid rgba(37,99,235,.16);background:#fff;color:var(--primary);font-size:14px;font-weight:600;box-shadow:0 10px 24px rgba(15,23,42,.04);}
.btn-section-more:hover{background:#eff6ff;color:var(--primary-dark);}



/* ── 网格 ── */

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}

.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.grid-6{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}



/* ── 产品/案例卡片 ── */

.card{background:#fff;border-radius:var(--radius);border:1px solid rgba(226,232,240,.9);box-shadow:0 8px 24px rgba(15,23,42,.05);overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;display:block;color:inherit;}

.card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(37,99,235,.12);border-color:rgba(96,165,250,.35);}

.card-img{width:100%;height:auto;object-fit:contain;display:block;}

.card-body{padding:20px;}

.card-body h3{font-size:17px;font-weight:700;margin:6px 0 8px;color:#0f172a;}

.card-body p{font-size:13px;color:var(--text-light);line-height:1.8;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}

.card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px;}

.tag{display:inline-block;font-size:11px;padding:4px 10px;border-radius:999px;background:#eff6ff;color:var(--primary);}

.tag-top{background:#fff3cd;color:#856404;}

.tag-rec{background:#d1fae5;color:#065f46;}

.tag-hot{background:#fee2e2;color:#991b1b;}

.feature-list{margin-top:8px;padding-left:16px;font-size:12px;color:var(--text-light);}

.feature-list li{margin-bottom:3px;}

.card-price{color:#e53e3e;font-weight:bold;font-size:14px;margin-top:8px;}

.client{color:var(--primary)!important;font-size:12px!important;margin-bottom:4px;}

.case-result{font-size:12px;color:#059669;margin-top:6px;}



/* ── 公司简介 ── */

.section-about{padding-top:30px;padding-bottom:0;}
.about-wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.9fr);gap:30px;align-items:stretch;margin-bottom:26px;}
.about-copy{display:flex;flex-direction:column;gap:12px;}


.about-text p{margin-bottom:14px;}
.about-emphasis{font-size:26px;font-weight:800;color:#2563eb;line-height:1.5;margin-bottom:14px;}

.about-qr{text-align:center;}

.qr-box{background:#f9fafb;border:1px solid var(--border);border-radius:8px;padding:20px;display:inline-block;}

.qr-box .qr-icon{font-size:64px;margin-bottom:8px;}

.qr-box p{font-size:12px;color:#999;}

.qr-box img{width:120px;height:120px;object-fit:contain;}

.about-highlights{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.about-highlight{padding:20px 18px;border-radius:22px;background:linear-gradient(180deg,#0f172a,#172554);color:#fff;box-shadow:0 16px 34px rgba(15,23,42,.18);}
.about-highlight strong{display:block;font-size:24px;margin-bottom:8px;}
.about-highlight span{display:block;font-size:13px;line-height:1.7;color:#cbd5e1;}
.tech-tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px;}

.tech-tags span{background:#fff;color:#1e3a8a;padding:8px 16px;border-radius:999px;font-size:13px;border:1px solid rgba(37,99,235,.12);box-shadow:0 6px 18px rgba(15,23,42,.04);}



/* ── 专利 ── */

.patent-card{background:#fff;border-radius:18px;padding:18px;text-align:center;border:1px solid rgba(226,232,240,.9);box-shadow:0 8px 24px rgba(15,23,42,.05);transition:transform .25s,box-shadow .25s;}

.patent-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(37,99,235,.1);}

.patent-card img{width:100%;height:130px;object-fit:contain;margin-bottom:10px;}

.patent-icon{font-size:44px;margin-bottom:10px;}

.patent-info h4{font-size:13px;font-weight:bold;margin:6px 0 4px;line-height:1.4;color:#333;}

.patent-no,.patent-date{font-size:11px;color:var(--text-light);}



/* ── 联系我们 ── */

.contact-wrap{max-width:700px;margin:0 auto;}

.contact-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--border);font-size:15px;}

.contact-item:last-child{border-bottom:none;}

.contact-item .ci-icon{font-size:22px;width:32px;text-align:center;flex-shrink:0;}

.contact-item .ci-label{font-size:12px;color:#999;margin-bottom:2px;}

.contact-item .ci-val{font-size:15px;color:#333;}



/* ── 页脚 ── */

.site-footer{background:linear-gradient(180deg,#111827,#0f172a);color:#9ca3af;padding:48px 0 0;}

.footer-grid{display:grid;grid-template-columns:minmax(280px,1.2fr) minmax(260px,1fr) 140px;gap:28px;align-items:start;padding-bottom:0;}

.footer-col h4{color:#fff;font-size:15px;margin-bottom:14px;}

.footer-col p{font-size:13px;margin-bottom:6px;line-height:1.7;}

.footer-col a{color:#9ca3af;}

.footer-col a:hover{color:#fff;}

.footer-qr{text-align:center;}

.footer-qr img{width:100px;height:100px;object-fit:contain;border-radius:4px;background:#fff;padding:4px;}

.footer-qr p{font-size:12px;margin-top:8px;}

.footer-contact-col{padding-left:8px;}

.footer-contact-item{display:flex;gap:8px;font-size:13px;margin-bottom:10px;align-items:flex-start;}

.footer-contact-item span:first-child{flex-shrink:0;}

.footer-bottom{text-align:center;padding:0;font-size:12px;color:#6b7280;}

.footer-bottom-inline{margin-top:14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.08);text-align:left;}

.skeleton-line,.skeleton-card,.skeleton-patent,.skeleton-news{position:relative;overflow:hidden;background:#eef2f7;}
.skeleton-line::after,.skeleton-card::after,.skeleton-patent::after,.skeleton-news::after{
  content:'';position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
  animation:skeletonShimmer 1.2s infinite;
}
.skeleton-line{height:16px;border-radius:999px;margin-bottom:12px;}
.skeleton-line.short{width:48%;}
.skeleton-line.mid{width:72%;}
.skeleton-card{height:320px;border-radius:var(--radius);box-shadow:0 2px 10px rgba(0,0,0,.04);}
.skeleton-patent{height:230px;border-radius:var(--radius);}
.skeleton-news{height:180px;border-radius:var(--radius);}
@keyframes skeletonShimmer{100%{transform:translateX(100%);}}



/* ── 右侧悬浮客服 ── */

.float-service{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:1000;display:flex;flex-direction:column;gap:2px;}

.float-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:58px;padding:10px 4px;background:#1a56db;color:#fff;font-size:10px;cursor:pointer;transition:background .2s,text-shadow .2s;text-align:center;box-shadow:0 10px 24px rgba(37,99,235,.2);}

.float-btn:hover{background:#1e429f;color:#fff;}

.float-icon{font-size:18px;margin-bottom:3px;display:block;}

.float-label{font-size:10px;line-height:1.2;}

.float-top{background:#555;}

.float-top:hover{background:#333;}



.empty-tip{text-align:center;color:var(--text-light);padding:40px;}



/* ══════════════════════════════════════

   响应式

══════════════════════════════════════ */

@media(min-width:601px) and (max-width:900px){

  .grid-3{grid-template-columns:repeat(2,1fr);}

  .grid-4{grid-template-columns:repeat(2,1fr);}

  .banner-slide img,.banner-bg{height:360px;}

  .banner-slider,.banner-slide,.hero-default{min-height:360px;}

  .banner-text h1,.hero-inner h1{font-size:30px;}

  .section{padding:50px 0;}

  .about-wrap{grid-template-columns:1fr;gap:24px;}
  .section-hd-split{align-items:flex-start;flex-direction:column;}

  .about-qr{display:none;}

  .footer-grid{grid-template-columns:1fr 1fr;gap:24px;}

  .footer-qr{display:none;}

}



@media(max-width:600px){

  .nav-toggle{display:block;}

  .main-nav{

    display:none;flex-direction:column;

    position:fixed;top:72px;left:0;right:0;

    background:#fff;border-bottom:1px solid var(--border);

    padding:4px 0;gap:0;z-index:199;

    box-shadow:0 4px 12px rgba(0,0,0,.1);

  }

  .main-nav.open{display:flex;}

  .main-nav a{padding:12px 20px;height:auto;line-height:1.5;border-bottom:1px solid var(--border);}

  .main-nav a:last-child{border-bottom:none;}

  .logo{font-size:18px;}

  .hero-default,.banner-slider,.banner-slide{min-height:260px;}

  .hero-inner{padding:40px 16px;}

  .hero-inner h1{font-size:24px;}

  .hero-slogan{font-size:15px;}

  .banner-slide img,.banner-bg{height:260px;}

  .banner-text h1{font-size:20px;}

  .banner-text p{font-size:13px;}

  .grid-3,.grid-4,.about-highlights{grid-template-columns:1fr;}

  .section{padding:52px 0;}

  .section-title{font-size:24px;}
  .section-hd-split{align-items:flex-start;flex-direction:column;gap:12px;}

  .about-wrap{grid-template-columns:1fr;gap:20px;}

  .about-qr{display:none;}

  .card-img{height:160px;}

  .card-body{padding:14px;}

  .footer-grid{grid-template-columns:1fr;gap:24px;}

  .footer-contact-col{padding-left:0;}

  .footer-bottom-inline{text-align:center;}

  .float-service{right:0;top:auto;bottom:80px;transform:none;}

  .hero-btns{gap:10px;}

  .btn-primary,.btn-outline{padding:11px 22px;font-size:14px;}

}





/* ── 新闻中心 ── */
.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.news-card{background:#fff;border-radius:18px;border:1px solid var(--border);overflow:hidden;transition:.25s;display:flex;flex-direction:row;align-items:stretch;box-shadow:0 8px 24px rgba(15,23,42,.05);}
.news-card:hover{box-shadow:0 18px 40px rgba(37,99,235,.12);transform:translateY(-4px);}
.news-card-img{width:160px;min-width:160px;overflow:hidden;background:#f3f4f6;flex-shrink:0;}
.news-card-img img{width:100%;height:100%;object-fit:cover;transition:.3s;}
.news-card:hover .news-card-img img{transform:scale(1.04);}
.news-card-body{padding:14px 16px;flex:1;display:flex;flex-direction:column;gap:6px;}
.news-tag{display:inline-block;background:#eff6ff;color:#1a56db;font-size:11px;padding:2px 8px;border-radius:20px;font-weight:500;}
.news-title{font-size:15px;font-weight:600;color:#1f2937;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.news-summary{font-size:13px;color:#6b7280;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1;}
.news-meta{font-size:12px;color:#9ca3af;display:flex;gap:12px;margin-top:auto;}
@media(max-width:900px){.news-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.news-grid{grid-template-columns:1fr;}}

/* patent-card 简洁版 */
.patent-card{background:#fff;border-radius:8px;border:1px solid #e5e7eb;overflow:hidden;text-align:center;padding:0;}
.patent-card img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;}
.patent-card .patent-icon{width:100%;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;font-size:40px;background:#f3f4f6;}
.patent-card .patent-title{font-size:13px;color:#374151;padding:8px 6px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.patent-info{display:none;}
