/* ==========================================================================
   好小蚁科技 · 版式与结构规范层（spec.css）
   --------------------------------------------------------------------------
   2026-10-09 修订：本文件**只管结构与版式，不管配色**。
   所有颜色一律引用 v7 主题变量（--v7-*），因此深浅双主题切换时本层自动跟随。

   承载内容：
     1. 版心：全站内容统一 1320px，背景色块通栏 100%
     2. 内页头部 banner 统一 380px（配色沿用主题变量）
     3. 卡片网格：业务 / 案例 PC 3 列；资讯列表 PC 2 列
     4. 面包屑 / 数字分页 / 筛选标签（禁止无限滚动）
     5. 统一转化 CTA 区块（电话 + 微信优先，表单仅辅助）
     6. 新闻 / 案例详情的双栏布局，PC 右侧栏，移动端下沉
     7. 联系页双栏、竖向时间轴、统计块
   ========================================================================== */

/* ============ 0. 版心：全站唯一内容容器约束 ============ */
:root{ --wrap: 1320px; }

.wrap,
.footer .wrap,
.header .wrap,
.topbar .wrap{
  width:100%; max-width:var(--wrap); margin:0 auto; padding:0 40px;
}
@media (max-width:860px){
  .wrap,.footer .wrap,.header .wrap,.topbar .wrap{ padding:0 16px; }
}

/* 保险：任何被塞进 .wrap 的 section 也要通栏（防止历史嵌套 BUG 复发） */
.wrap > section,
.wrap > .v7-hero,
.wrap > .v7-sec,
.wrap > .banner,
.wrap > footer,
.wrap > .footer{
  width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
}

/* ============ 1. 导航右侧常驻电话（主题色自适应） ============ */
.header .cta .hd-tel{
  display:flex; align-items:center; gap:7px;
  font-size:16.5px; font-weight:700; color:var(--v7-jade);
  font-variant-numeric:tabular-nums; white-space:nowrap; text-decoration:none;
  transition:opacity .18s ease;
}
.header .cta .hd-tel svg{ width:16px; height:16px; stroke:var(--v7-jade); fill:none; stroke-width:1.9; flex:none; }
.header .cta .hd-tel:hover{ opacity:.82; }
@media (max-width:1240px){
  .header .cta .btn{ display:none; }
}
@media (max-width:1100px){
  .header nav{ display:none; }
  .menu-toggle{ display:block !important; }
}

/* 移动端导航展开面板（本层最后加载，为唯一权威实现）
   修复：style.css / v7.css 在 ≤980px 给内层 .nav 设了 position:absolute，
   导致外层 <nav> 面板塌陷（实测仅 17px 高）、菜单被拖出面板不可见。
   现在明确：外层 <nav.open> 即抽屉面板本体（带背景/边框/滚动），
   内层 .nav 恢复文档流（position:static + 纵向 flex），并抵消 v7 的 !important 背景边框。 */
@media (max-width:1100px){
  .header nav{ display:none; }
  .menu-toggle{ display:block !important; }
  .header nav.open{
    display:block; position:absolute; top:100%; left:0; right:0; z-index:96;
    max-height:calc(100vh - var(--nav-h)); overflow-y:auto; -webkit-overflow-scrolling:touch;
    background:var(--v7-sub-bg);
    border-bottom:1px solid var(--v7-sub-line);
    box-shadow:0 24px 50px -24px rgba(0,0,0,.55);
    padding:6px 0 10px;
  }
  .header nav.open .nav{
    display:flex; flex-direction:column; position:static;
    margin:0; padding:0 16px; list-style:none;
    background:transparent !important; border:0 !important; box-shadow:none !important;
  }
  .header nav.open .nav > li{ position:static; border-bottom:1px solid var(--v7-line-2); }
  .header nav.open .nav > li:last-child{ border-bottom:0; }
  .header nav.open .nav > li > a{
    display:block; height:auto; line-height:1.5; padding:14px 6px;
    font-size:15.5px; font-weight:600; color:var(--v7-sub-txt) !important;
  }
  .header nav.open .nav > li > a::after{ display:none; }
  .header nav.open .nav .sub{
    position:static; display:block; transform:none; opacity:1; visibility:visible;
    box-shadow:none; border:0; border-radius:0; min-width:0; background:transparent;
    padding:0 0 10px 10px;
  }
  .header nav.open .nav .sub a{
    display:block; padding:8px 6px; font-size:14px; color:var(--v7-txt-3) !important;
  }
}

/* ============ 2. 动效克制：禁止批量滚动上浮入场动画 ============ */
[data-rv],[data-rv-d]{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}
/* 仅保留按钮 / 卡片的 hover 颜色过渡 */
.v7-b,.v7-pane,.card,.box,.win-card,.cty-p,.spec-card,.btn,.v7-btn{
  transition-property:color, background-color, border-color, box-shadow, opacity;
  transition-duration:.18s; transition-timing-function:ease;
}

/* ============ 3. 禁止自动弹出咨询遮罩弹窗（二维码层仅手动触发） ============ */
.mqr:not(.on){ display:none !important; }

/* ============ 4. 内页头部 banner 统一 380px ============ */
.subbanner,
.page-banner,
.inner-banner{
  min-height:380px;
  display:flex; align-items:center;
  background:var(--v7-bhero-bg);
  color:var(--v7-shell-h);
}
.subbanner .wrap,.page-banner .wrap,.inner-banner .wrap{ position:relative; z-index:2; }
.subbanner h1,.page-banner h1,.inner-banner h1{ color:#FFFFFF; font-size:38px; margin:0 0 12px; }
.subbanner p,.page-banner p,.inner-banner p{ color:rgba(255,255,255,.82); margin:0; max-width:760px; font-size:16.5px; }
.subbanner::before,.subbanner::after,
.page-banner::before,.page-banner::after{ display:none !important; }
@media (max-width:860px){
  .subbanner,.page-banner,.inner-banner{ min-height:220px; }
  .subbanner h1,.page-banner h1,.inner-banner h1{ font-size:27px; }
}

/* 首屏之下：这通电话能拿到什么（通栏细条） */
.hero-takeaway{
  background:var(--v7-deep);
  border-bottom:1px solid var(--v7-line);
}
.hero-takeaway .wrap{ display:flex; }
.hero-takeaway .ht-row{
  display:flex; align-items:center; gap:22px; flex-wrap:wrap;
  padding:15px 0; font-size:14.5px; color:var(--v7-txt-2); width:100%;
}
.hero-takeaway .ht-lb{ font-weight:700; color:var(--v7-strong); white-space:nowrap; }
.hero-takeaway .ht-it b{ color:var(--v7-jade); margin-right:6px; font-weight:800; }
.hero-takeaway .ht-tail{ margin-left:auto; color:var(--v7-txt-3); font-size:13.5px; }
@media (max-width:860px){
  .hero-takeaway .ht-row{ gap:10px; font-size:13px; padding:12px 0; }
  .hero-takeaway .ht-tail{ margin-left:0; flex:1 1 100%; }
}

/* ============ 5. 面包屑统一 ============ */
.crumb{
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  font-size:13.5px; padding:16px 0; border-bottom:1px solid var(--v7-line-2);
  color:var(--v7-txt-3); background:transparent;
}
.crumb a{ color:var(--v7-txt-3); text-decoration:none; transition:color .18s ease; }
.crumb a:hover{ color:var(--v7-jade); }
.crumb i{ font-style:normal; opacity:.45; }
.crumb span{ color:var(--v7-txt); font-weight:600; }

/* ============ 6. 卡片网格：业务 / 案例 3 列，资讯 2 列 ============ */
.card-grid-3,
.business-grid,
.case-grid,
.cty-list{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px;
}
.card-grid-2,
.news-grid,
.article-grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;
}
@media (max-width:1024px){
  .card-grid-3,.business-grid,.case-grid,.cty-list,
  .card-grid-2,.news-grid,.article-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
}
@media (max-width:700px){
  .card-grid-3,.business-grid,.case-grid,.cty-list,
  .card-grid-2,.news-grid,.article-grid{ grid-template-columns:1fr; gap:16px; }
}

/* 通用卡片外观（跟随主题） */
.spec-card{
  background:var(--v7-panel); border:1px solid var(--v7-line); border-radius:12px;
  overflow:hidden; display:flex; flex-direction:column;
  transition:box-shadow .18s ease, border-color .18s ease;
}
.spec-card:hover{ border-color:var(--v7-jade); }
.spec-card .sc-img{ position:relative; aspect-ratio:16/10; overflow:hidden; background:var(--v7-panel-2); }
.spec-card .sc-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.spec-card .sc-body{ padding:20px 22px 22px; flex:1; }
.spec-card .sc-tag{
  display:inline-block; font-size:12px; font-weight:600; letter-spacing:.04em;
  color:var(--v7-jade); background:var(--v7-on); border-radius:4px; padding:3px 9px; margin-bottom:10px;
}
.spec-card h3{ font-size:18px; line-height:1.5; color:var(--v7-strong); margin:0 0 10px; }
.spec-card p{ font-size:14.5px; line-height:1.75; color:var(--v7-txt-2); margin:0; }
.spec-card .sc-meta{
  display:flex; align-items:center; gap:14px; font-size:13px; color:var(--v7-txt-3);
  padding-top:12px; margin-top:12px; border-top:1px solid var(--v7-line-2);
}

/* ============ 7. 筛选标签 ============ */
.filter-tags{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; }
.filter-tags a,.filter-tags button{
  padding:7px 16px; border-radius:999px; font-size:14px; cursor:pointer;
  border:1px solid var(--v7-line); background:var(--v7-panel); color:var(--v7-txt-2);
  text-decoration:none; font-family:inherit;
  transition:color .18s ease, background-color .18s ease, border-color .18s ease;
}
.filter-tags a:hover{ color:var(--v7-jade); border-color:var(--v7-jade); }
.filter-tags .on{ background:var(--v7-jade); border-color:var(--v7-jade); color:var(--v7-btnmain-txt); font-weight:600; }

/* ============ 8. 数字分页（禁止无限滚动） ============ */
.pagebar{ display:flex; justify-content:center; align-items:center; gap:8px; margin:38px 0 0; flex-wrap:wrap; }
.pagebar a,.pagebar span{
  min-width:38px; height:38px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:8px; border:1px solid var(--v7-line); background:var(--v7-panel); color:var(--v7-txt-2);
  font-size:14px; text-decoration:none; box-sizing:border-box; transition:color .18s ease, border-color .18s ease;
}
.pagebar a:hover{ color:var(--v7-jade); border-color:var(--v7-jade); }
.pagebar span{ background:var(--v7-jade); border-color:var(--v7-jade); color:var(--v7-btnmain-txt); font-weight:700; }

/* ============ 9. 统一转化 CTA 区块 ============ */
.cta-std{
  background:var(--v7-cta-bg); border:1px solid var(--v7-cta-line);
  border-radius:16px; padding:44px 48px; margin:0;
  display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
}
.cta-std .cta-copy{ flex:1 1 420px; min-width:0; }
.cta-std .cta-kicker{
  font-size:12px; font-weight:700; letter-spacing:.16em; color:var(--v7-jade); margin-bottom:10px;
}
.cta-std h2,.cta-std h3{ margin:0 0 12px; font-size:26px; line-height:1.45; color:#FFFFFF; }
.cta-std .cta-text{ font-size:16px; line-height:1.8; color:rgba(255,255,255,.86); margin:0 0 6px; }
.cta-std .cta-sub{ font-size:14px; color:rgba(255,255,255,.62); margin:8px 0 0; }
.cta-std .cta-act{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.cta-std .cta-act a{ display:inline-flex; align-items:center; gap:7px; height:50px; padding:0 24px;
  border-radius:10px; font-size:15px; font-weight:600; text-decoration:none; white-space:nowrap; }
.cta-std .cta-act svg{ width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:1.9; }
.cta-std .btn-tel{ background:var(--v7-btnmain-bg); color:var(--v7-btnmain-txt); }
.cta-std .btn-tel:hover{ filter:brightness(1.08); }
.cta-std .btn-wx{ background:transparent; border:1px solid rgba(255,255,255,.28); color:#FFFFFF; }
.cta-std .btn-wx:hover{ border-color:var(--v7-jade); color:var(--v7-jade); }
.cta-std .tel-num{ font-variant-numeric:tabular-nums; letter-spacing:.01em; }
@media (max-width:860px){
  .cta-std{ padding:28px 22px; border-radius:12px; }
  .cta-std h2,.cta-std h3{ font-size:21px; }
  .cta-std .cta-act a{ flex:1 1 100%; justify-content:center; }
}

/* CTA 区块内的二维码位（电话 / 微信优先，二维码是补充） */
.cta-qrs{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; padding-top:22px; border-top:1px solid var(--v7-line); }
.cta-qrs .qr-item{ text-align:center; }
.cta-qrs .qr{ width:104px; height:104px; margin:0 auto 10px; background:var(--v7-qr-bg); border:1px solid var(--v7-line); border-radius:10px; overflow:hidden; }
.cta-qrs .qr img{ width:100%; height:100%; object-fit:contain; display:block; }
.cta-qrs h3{ font-size:14.5px; margin:0 0 4px; color:#FFFFFF; }
.cta-qrs p{ margin:0; font-size:12.5px; line-height:1.6; color:rgba(255,255,255,.66); }
@media (max-width:700px){
  .cta-qrs{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .cta-qrs .qr{ width:100%; height:auto; aspect-ratio:1/1; }
}

/* 首屏标准 CTA 辅助文案（紧跟按钮组） */
.hero-cta-line{ margin:16px 0 0; font-size:14.5px; line-height:1.75; }
.hero-cta-line b{ display:block; color:var(--v7-strong); font-size:15px; font-weight:700; }
.hero-cta-line span{ display:block; margin-top:4px; color:var(--v7-txt-2); font-size:13.5px; }

/* ============ 10. 新闻详情：阅读区 760px + PC 右侧栏，移动端下沉 ============ */
.news-layout{ display:grid; grid-template-columns:minmax(0,760px) 300px; gap:60px; align-items:start; }
.news-body{ max-width:760px; min-width:0; }
.news-body p{ line-height:1.7; margin:0 0 1.15em; font-size:16px; color:var(--v7-txt); }
.news-body img{ max-width:100%; height:auto; display:block; margin:1.6em auto; border-radius:10px; }
.news-body h2{ font-size:23px; margin:1.9em 0 .8em; color:var(--v7-strong); }
.news-body h3{ font-size:19px; margin:1.5em 0 .7em; color:var(--v7-strong); }
.news-side{ position:sticky; top:96px; }

/* 案例详情：正文 + 右侧相关推荐 */
.case-layout{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:56px; align-items:start; }
.case-main{ min-width:0; }
.case-main h2{ font-size:24px; margin:1.9em 0 .8em; color:var(--v7-strong); }
.case-main h2:first-child{ margin-top:0; }
.case-main p{ line-height:1.75; color:var(--v7-txt); }
.case-layout .news-side .box{
  background:var(--v7-panel); border:1px solid var(--v7-line); border-radius:12px; padding:20px 22px; margin-bottom:18px;
}

/* 通用侧栏列表 */
.side-list{ list-style:none; padding:0; margin:0; }
.side-list li{ padding:0 0 10px; margin:0 0 10px; border-bottom:1px solid var(--v7-line-2); }
.side-list li:last-child{ border-bottom:0; margin-bottom:0; padding-bottom:0; }
.side-list a{ color:var(--v7-txt); text-decoration:none; font-size:14.5px; line-height:1.6; display:block; transition:color .18s ease; }
.side-list a:hover{ color:var(--v7-jade); }
.side-list .sl-tag{ display:block; font-size:12px; color:var(--v7-jade); margin-bottom:3px; }
.side-list .sl-t{ font-weight:500; }

/* 上一篇 / 下一篇 */
.prev-next{ display:flex; gap:16px; flex-wrap:wrap; margin:32px 0 0; }
.prev-next .pn-item{ flex:1 1 240px; min-width:0; border:1px solid var(--v7-line); border-radius:10px; padding:14px 16px; background:var(--v7-panel); }
.prev-next em{ display:block; font-style:normal; font-size:12px; color:var(--v7-txt-3); margin-bottom:5px; }
.prev-next a{ color:var(--v7-strong); text-decoration:none; font-size:14.5px; font-weight:500; transition:color .18s ease; }
.prev-next a:hover{ color:var(--v7-jade); }

/* ============ 11. 联系页：左信息 + 右地图 / 表单 ============ */
.contact-layout{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:start; }
.contact-info,.contact-aside{ min-width:0; }
.contact-info h2,.contact-aside h2{ font-size:24px; margin:0 0 18px; color:var(--v7-strong); }
.ci-block{ padding:20px 0; border-top:1px solid var(--v7-line-2); }
.ci-block h3{ font-size:17px; margin:0 0 10px; color:var(--v7-strong); }
.ci-block p{ margin:0 0 6px; font-size:15px; line-height:1.8; color:var(--v7-txt); }
.ci-note{ font-size:13.5px; color:var(--v7-txt-3); line-height:1.7; }
.ci-tel{
  display:inline-flex; align-items:center; gap:9px; height:52px; padding:0 22px; border-radius:10px;
  background:var(--v7-btnmain-bg); color:var(--v7-btnmain-txt); text-decoration:none; font-size:20px; font-weight:800;
  font-variant-numeric:tabular-nums; letter-spacing:.01em;
}
.ci-tel svg{ width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.9; }
.ci-tel:hover{ filter:brightness(1.08); }

.map-box{ border:1px solid var(--v7-line); border-radius:12px; overflow:hidden; background:var(--v7-panel-2); }
.map-frame{ display:block; width:100%; height:300px; border:0; }
@media (max-width:900px){ .map-frame{ height:240px; } }

/* 表单（辅助定位，弱化视觉权重） */
.contact-form{
  background:var(--v7-panel); border:1px solid var(--v7-line); border-radius:12px; padding:22px 22px 24px;
}
.cf-row{ margin-bottom:14px; }
.cf-row label{ display:block; font-size:13.5px; font-weight:600; color:var(--v7-txt); margin-bottom:6px; }
.cf-row label em{ font-style:normal; color:var(--v7-jade); }
.cf-row input,.cf-row textarea{
  width:100%; box-sizing:border-box; padding:11px 13px; font-size:14.5px; font-family:inherit;
  border:1px solid var(--v7-line); border-radius:9px; background:var(--v7-panel-2); color:var(--v7-txt);
}
.cf-row input:focus,.cf-row textarea:focus{ outline:none; border-color:var(--v7-jade); }
.cf-row textarea{ resize:vertical; }
.cf-code-wrap{ display:flex; gap:10px; align-items:center; }
.cf-code-wrap input{ flex:1; }
.cf-code-wrap img{ height:44px; border-radius:8px; border:1px solid var(--v7-line); cursor:pointer; flex:none; }
.cf-submit{
  width:100%; height:46px; border:0; border-radius:10px; cursor:pointer;
  background:var(--v7-btnmain-bg); color:var(--v7-btnmain-txt); font-size:15px; font-weight:600; font-family:inherit;
}
.cf-submit:hover{ filter:brightness(1.08); }
@media (max-width:900px){ .contact-layout{ grid-template-columns:1fr; gap:32px; } }

/* ============ 12. 竖向时间轴（简约，无动效） ============ */
.timeline{ list-style:none; padding:0 0 0 26px; margin:0; border-left:2px solid var(--v7-line); }
.timeline li{ position:relative; padding:0 0 26px 18px; }
.timeline li:last-child{ padding-bottom:0; }
.timeline li::before{
  content:""; position:absolute; left:-33px; top:6px; width:12px; height:12px;
  border-radius:50%; background:var(--v7-jade); box-shadow:0 0 0 4px var(--v7-on);
}
.timeline .tl-year{
  display:inline-block; font-size:13px; font-weight:700; letter-spacing:.06em;
  color:var(--v7-jade); background:var(--v7-on); border-radius:4px; padding:2px 9px; margin-bottom:6px;
}
.timeline h3{ font-size:18px; margin:0 0 6px; color:var(--v7-strong); }
.timeline p{ margin:0; font-size:14.5px; line-height:1.75; color:var(--v7-txt-2); }

/* 数据统计块 */
.stat-box{
  background:var(--v7-panel); border:1px solid var(--v7-line); border-radius:12px;
  padding:26px 22px; text-align:center;
}
.stat-box b{ display:block; font-size:34px; font-weight:800; color:var(--v7-jade); line-height:1.2; font-variant-numeric:tabular-nums; }
.stat-box span{ display:block; margin-top:8px; font-size:14px; color:var(--v7-txt-2); }

/* 文章头部元信息 */
.news-head{ padding-bottom:18px; margin-bottom:26px; border-bottom:1px solid var(--v7-line-2); }
.news-head .nh-meta{ display:flex; flex-wrap:wrap; gap:16px; font-size:13.5px; color:var(--v7-txt-3); margin:10px 0 0; }
.news-head .nh-note{ margin:8px 0 0; font-size:13px; color:var(--v7-txt-3); }

@media (max-width:1024px){
  .news-layout{ grid-template-columns:1fr; gap:36px; }
  .news-side{ position:static; }
  .case-layout{ grid-template-columns:1fr; gap:32px; }
}

/* ============ 13. 资讯卡片封面 16:10 ============ */
.news-card .sc-img{ aspect-ratio:16/10; }

/* ============ 14. 版块间距基准 ============ */
.section,.v7-sec{ padding:72px 0; }
@media (max-width:860px){ .section,.v7-sec{ padding:44px 0; } }

/* ============ 15. 双栏板块左右等高（PC 端视觉齐整，不再一边长一边短） ============ */
@media (min-width:1025px){
  .v7-fd-wrap,
  .v7-diag-grid,
  .v7-trust-grid,
  .v7-faq-grid,
  .v7-case-grid{ align-items:stretch; }

  /* 只把「左栏说明区」改成弹性列（不动右栏，避免破坏其内部 grid） */
  .v7-fd-wrap    > :first-child,
  .v7-trust-grid > :first-child,
  .v7-faq-grid   > :first-child,
  .v7-case-grid  > .v7-case-nav,
  .v7-diag-grid  > .v7-aside{
    display:flex; flex-direction:column; min-width:0;
  }
  /* 首元素贴顶、末元素贴底，中间自然留白，视觉与右栏齐平 */
  .v7-fd-wrap    > :first-child  > :last-child,
  .v7-trust-grid > :first-child  > :last-child,
  .v7-faq-grid   > :first-child  > :last-child,
  .v7-case-grid  > .v7-case-nav  > :last-child,
  .v7-diag-grid  > .v7-aside     > :last-child{ margin-top:auto; }

  /* 左侧说明栏原为 sticky + align-self:start，改为等高铺满 */
  .v7-diag-grid > .v7-aside,
  .v7-faq-grid  > .v7-aside{ position:static; align-self:stretch; }
  /* 案例左栏导航：列表铺满整列，行距均匀分布 */
  .v7-case-grid > .v7-case-nav{ height:100%; }

  /* 六格 bento：同列卡片高度对齐 */
  .v7-bento > *{ height:100%; }
}

/* ============ 16. 首页「三类客户选型」卡 + Hero 快捷入口 ============ */
/* 结构层组件：配色全部走 v7 主题变量，深浅主题自动跟随 */
.v7-persona{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px;
  align-items:stretch;
}
.v7-ps{
  background:var(--v7-panel); border:1px solid var(--v7-line);
  border-radius:14px; padding:24px 22px;
  display:flex; flex-direction:column; gap:14px; box-sizing:border-box;
}
.v7-ps-chip{
  align-self:flex-start; font-size:12.5px; font-weight:700;
  color:var(--v7-jade); border:1px solid var(--v7-line);
  border-radius:999px; padding:4px 12px;
}
.v7-ps h3{ margin:0; font-size:19px; line-height:1.5; color:var(--v7-strong); }
.v7-ps .q,.v7-ps .a{
  margin:0 0 6px; font-size:12.5px; font-weight:700;
  letter-spacing:.06em; color:var(--v7-txt-3);
}
.v7-ps .a{ color:var(--v7-jade); margin-top:12px; }
.v7-ps ul{ margin:0; padding-left:18px; font-size:14px; line-height:1.9; color:var(--v7-txt-2); }
.v7-ps .a-t{ margin:0; font-size:14px; line-height:1.9; color:var(--v7-txt-2); }
.v7-ps-act{
  margin-top:auto; display:flex; gap:18px; flex-wrap:wrap;
  border-top:1px solid var(--v7-line); padding-top:14px;
}
.v7-hero-entry{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 28px; }
.v7-hero-entry a{
  font-size:13.5px; color:var(--v7-txt-2);
  border:1px solid var(--v7-line); border-radius:999px;
  padding:7px 16px; text-decoration:none; transition:.18s;
}
.v7-hero-entry a:hover{ color:var(--v7-jade); border-color:var(--v7-jade); }
@media (max-width:900px){
  .v7-persona{ grid-template-columns:1fr; }
}
