/* =============================================================
   百搜GEO 主题 · 自定义样式
   来源：html/src/css/common.css + 各设计稿内联 <style> 合并去重
   注意：此类不做 Tailwind 工具类；工具类来自 app.min.css（tailwindcss 构建）
   ============================================================= */

/* ===== 字体：Manrope 自托管（Latin）=====
   CJK 由系统字体回退（PingFang SC / Microsoft YaHei / Noto Sans SC），不打包。 */
@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/manrope-400.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fonts/manrope-500.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:url('../fonts/manrope-600.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/manrope-700.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-weight:800;
  font-display:swap;
  src:url('../fonts/manrope-800.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* ===== 基础 ===== */
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
section{scroll-margin-top:5rem}
::selection{background:#FF6A00;color:#fff}

/* ===== 滚动显现动画（仅在 JS 启用时生效，保证无 JS/爬虫可读） ===== */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal-d1{transition-delay:.1s}.js .reveal-d2{transition-delay:.2s}
.js .reveal-d3{transition-delay:.3s}.js .reveal-d4{transition-delay:.4s}
@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  .marquee-track{animation:none!important}
  html{scroll-behavior:auto}
}

/* ===== 文字与背景装饰 ===== */
.text-brand{background:#FF8533;-webkit-background-clip:text;background-clip:text;color:transparent}
.text-gradient{background:linear-gradient(100deg,#FF8533 0%,#FF6A00 45%,#19C3D6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.bg-grid-dark{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px}
.bg-grid-light{background-image:linear-gradient(rgba(22,22,31,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(22,22,31,.05) 1px,transparent 1px);background-size:56px 56px}
.hero-glow{background:radial-gradient(ellipse 60% 45% at 72% 16%,rgba(255,106,0,.13),transparent 65%),radial-gradient(ellipse 45% 40% at 12% 84%,rgba(25,195,214,.10),transparent 60%)}
.eyebrow{letter-spacing:.35em}

/* ===== 浅色渐变背景区 ===== */
.grad-hero{background:linear-gradient(180deg,#FFE9DC 0%,#FFFFFF 58%)}
.grad-a{background:linear-gradient(180deg,#FFF1E7 0%,#FFDFC9 100%)}
.grad-b{background:linear-gradient(180deg,#FFF8F2 0%,#FFE3D2 100%)}
.grad-c{background:linear-gradient(180deg,#FFE3D2 0%,#FFF0E6 100%)}

/* ===== 跑马灯 ===== */
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marquee 36s linear infinite}
.marquee-track.fast{animation-duration:28s}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== Hero AI 卡片 ===== */
.typing-caret::after{content:'▍';margin-left:2px;color:#FF6A00;animation:caret 1s steps(1) infinite}
@keyframes caret{50%{opacity:0}}
.float-slow{animation:floaty 7s ease-in-out infinite}
.float-slower{animation:floaty 9s ease-in-out infinite reverse}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.ring-orbit{animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== Hero 示例轮播过渡 ===== */
.demo-fade{animation:demoFade .55s cubic-bezier(.22,1,.36,1)}
@keyframes demoFade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ===== 六维链路步骤 ===== */
.step-btn{transition:all .35s ease}
.step-btn .step-bar{transition:all .35s ease}
.step-panel{display:none}
.step-panel.active{display:block;animation:panelIn .5s cubic-bezier(.22,1,.36,1)}
@keyframes panelIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ===== 分类 Tab ===== */
.news-tab,.faq-tab,.case-tab{transition:all .3s ease}
.news-tab[aria-selected="true"],.faq-tab[aria-selected="true"],.case-tab[aria-selected="true"]{background:#FF6A00;color:#fff;border-color:#FF6A00;box-shadow:0 10px 24px -10px rgba(255,106,0,.45)}

/* ===== FAQ ===== */
.faq-item{transition:opacity .4s ease,transform .4s ease,border-color .3s ease,box-shadow .3s ease}
.faq-item:hover{border-color:rgba(255,106,0,.35);box-shadow:0 8px 30px -12px rgba(22,22,31,.12)}
.faq-item.is-hidden{display:none}
.faq-item[data-open="true"]{border-color:rgba(255,106,0,.45);background:#fff}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.22,1,.36,1)}
.faq-item[data-open="true"] .faq-a{grid-template-rows:1fr}
.faq-item[data-open="true"] .faq-icon{transform:rotate(45deg)}
.faq-icon{transition:transform .35s ease}

/* ===== 新闻/案例卡片过滤 ===== */
.news-card{transition:opacity .4s ease,transform .4s ease}
.news-card.is-hidden{display:none}
.case-card{transition:opacity .4s ease,transform .4s ease}
.case-card.is-hidden{display:none}

/* ===== 对比表 ===== */
.plan-table th,.plan-table td{vertical-align:middle}
.plan-table tbody tr{transition:background .25s ease}
.plan-table tbody tr:hover{background:rgba(255,106,0,.04)}
#pricing-detail{scroll-margin-top:5.5rem}

/* ===== 正文排版（文章/Faq 详情） ===== */
.prose-geo h2{font-size:1.5rem;font-weight:900;line-height:1.35;letter-spacing:-.01em;margin-top:3rem;scroll-margin-top:6.5rem}
@media(min-width:640px){.prose-geo h2{font-size:1.875rem}}
.prose-geo h3{font-size:1.125rem;font-weight:900;margin-top:2rem}
.prose-geo p{margin-top:1.25rem;line-height:1.9;color:rgba(22,22,31,.72)}
.prose-geo ul{margin-top:1.25rem;display:flex;flex-direction:column;gap:.75rem}
.prose-geo ul li{display:flex;gap:.65rem;line-height:1.85;color:rgba(22,22,31,.72);font-size:.95rem}
.prose-geo ul li::before{content:'·';color:#FF6A00;font-weight:900}
.prose-geo strong{color:#16161F;font-weight:700}
.prose-geo blockquote{margin-top:1.75rem;border-left:3px solid #FF6A00;background:#FFF4EC;border-radius:0 .9rem .9rem 0;padding:1.1rem 1.4rem;line-height:1.85;color:rgba(22,22,31,.75);font-size:.95rem}

/* ===== 文章目录 ===== */
.toc-link{border-left:2px solid transparent;transition:all .25s ease}
.toc-link:hover,.toc-link.active{border-left-color:#FF6A00;color:#E04F00;background:#FFF4EC}

/* ===== 其他 ===== */
.nav-link{position:relative}
.nav-link::after{content:'';position:absolute;left:0;bottom:-4px;width:0;height:2px;background:#FF6A00;transition:width .3s ease}
.nav-link:hover::after{width:100%}
#site-header.scrolled{background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(22,22,31,.07);box-shadow:0 8px 28px -16px rgba(22,22,31,.10)}
.price-toggle{transition:all .3s ease}
.logo-chip{transition:all .35s ease}
#back-top{opacity:0;pointer-events:none;transition:all .4s ease}
#back-top.show{opacity:1;pointer-events:auto}
