:root{
  --red:#B81C22;
  --gold:#CCAA84;
  --ink:#2E2A29;
  --muted:#8C837B;
  --bg:#FFFFFF;
  --paper:#FAF8F5;
  --line:#E7E2DB;
  --serif:"Noto Serif SC","Songti SC","STSong","SimSun",serif;
  --sans:"Microsoft YaHei","微软雅黑",-apple-system,"PingFang SC",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.8;
     font-size:15px;-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1160px;margin:0 auto;padding:0 32px;}
/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;}
.logo{display:flex;align-items:center;gap:12px;}
.logo .mark,.logo .mark-img{width:42px;height:42px;border:none;color:var(--red);
  display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:20px;overflow:hidden;border-radius:8px}
.logo .mark-img{padding:0;background:transparent}
.logo .mark-img img{width:100%;height:100%;object-fit:cover;display:block}
.dot{color:var(--red);font-weight:700;font-size:15px;margin-right:5px;vertical-align:middle}
.hl{font-weight:700;color:var(--red)}
.logo b{font-family:var(--serif);font-size:20px;font-weight:700;letter-spacing:1px;}
.logo small{display:block;font-size:10px;color:var(--muted);letter-spacing:3px;font-weight:400;}
nav ul{display:flex;gap:30px;list-style:none;font-size:14.5px;color:var(--ink);}
nav ul a{position:relative;padding:4px 0;}
nav ul a:hover{color:var(--red);}
nav ul a.active{color:var(--red);font-weight:600;}
.nav-cta{border:1px solid var(--red);color:var(--red);padding:9px 20px;font-size:13.5px;letter-spacing:1px;}
.nav-cta:hover{background:var(--red);color:#fff;}
/* Hero */
.hero{padding:130px 0 110px;border-bottom:1px solid var(--line);}
.eyebrow{font-size:12px;letter-spacing:4px;color:var(--red);font-weight:600;margin-bottom:26px;}
.hero h1{font-family:var(--serif);font-size:54px;line-height:1.3;font-weight:700;letter-spacing:1px;}
.hero h1 .ac{color:var(--red);}
.hero p.lede{font-size:17px;color:var(--muted);max-width:640px;margin:30px 0 38px;}
.btns{display:flex;gap:16px;flex-wrap:wrap;}
.btn{padding:14px 30px;font-size:14.5px;letter-spacing:1px;border:1px solid transparent;}
.btn-red{background:var(--red);color:#fff;}
.btn-line{border-color:var(--ink);color:var(--ink);}
.hero-meta{display:flex;gap:54px;margin-top:64px;flex-wrap:wrap;}
.hero-meta div span{font-family:var(--serif);font-size:34px;color:var(--ink);display:block;line-height:1.1;}
.hero-meta div small{font-size:12.5px;color:var(--muted);letter-spacing:1px;}
/* Section base */
section{padding:104px 0;}
.sec-head{margin-bottom:56px;}
.sec-head .kicker{font-size:11.5px;letter-spacing:4px;color:var(--gold);font-weight:700;}
.sec-head h2{font-family:var(--serif);font-size:34px;font-weight:700;margin:14px 0 0;letter-spacing:1px;}
.sec-head .rule{width:46px;height:2px;background:var(--red);margin-top:18px;}
/* About */
.about-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;}
.about-grid p{color:#5a524c;margin-bottom:18px;}
.about-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;}
.about-tags span{border:1px solid var(--line);padding:7px 16px;font-size:13px;color:var(--ink);}
/* Practice */
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.pcell{padding:38px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:.2s;}
.pcell:hover{background:var(--paper);}
.pcell .n{font-family:var(--serif);font-size:14px;color:var(--gold);margin-bottom:18px;letter-spacing:2px;}
.pcell h3{font-family:var(--serif);font-size:21px;margin-bottom:12px;}
.pcell p{font-size:14px;color:var(--muted);}
.pcell:hover h3{color:var(--red);}
/* Cases */
.clist{border-top:1px solid var(--line);}
.crow{display:grid;grid-template-columns:140px 1fr auto;gap:28px;align-items:center;
  padding:28px 8px;border-bottom:1px solid var(--line);transition:.2s;}
.crow:hover{background:var(--paper);}
.crow .tag{font-size:12px;color:var(--red);border:1px solid var(--red);padding:4px 12px;text-align:center;letter-spacing:1px;}
.crow h4{font-family:var(--serif);font-size:19px;font-weight:600;}
.crow p{font-size:13.5px;color:var(--muted);margin-top:4px;}
.crow .arrow{color:var(--ink);font-size:20px;}
/* Insights */
.ilist{columns:2;column-gap:48px;}
.iitem{break-inside:avoid;padding:26px 0;border-bottom:1px solid var(--line);}
.iitem .d{font-size:12px;color:var(--gold);letter-spacing:2px;margin-bottom:8px;}
.iitem h4{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.5;}
.iitem:hover h4{color:var(--red);}
/* AI band */
.ai{padding:84px 0;background:var(--ink);color:#fff;}
.ai .inner{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;}
.ai .kicker{color:var(--gold);font-size:11.5px;letter-spacing:4px;font-weight:700;}
.ai h3{font-family:var(--serif);font-size:30px;margin:12px 0 14px;color:#fff;}
.ai p{color:#c9c0b6;max-width:600px;}
.ai .chips{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;}
.ai .chip{border:1px solid var(--gold);color:var(--gold);padding:7px 16px;font-size:13px;}
.ai .more{background:var(--gold);color:#3e2a13;padding:14px 30px;font-weight:700;letter-spacing:1px;white-space:nowrap;}
/* Team */
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.tcard{border:1px solid var(--line);padding:34px 24px;text-align:center;transition:.2s;}
.tcard:hover{border-color:var(--red);}
.tcard .av{width:78px;height:78px;border-radius:50%;background:var(--paper);
  border:1px solid var(--gold);color:var(--red);font-family:var(--serif);font-size:30px;
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.tcard .role{font-size:12px;color:var(--red);letter-spacing:2px;margin-bottom:8px;}
.tcard h4{font-family:var(--serif);font-size:20px;margin-bottom:8px;}
.tcard p{font-size:13px;color:var(--muted);}
/* Contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-top:8px;}
.contact .info div{padding:18px 0;border-bottom:1px solid var(--line);}
.contact .info b{display:block;font-size:12px;color:var(--muted);letter-spacing:2px;margin-bottom:4px;font-weight:400;}
.contact .info span{font-family:var(--serif);font-size:18px;}
.cform input,.cform textarea{width:100%;padding:14px 16px;border:1px solid var(--line);
  background:var(--paper);font-family:var(--sans);font-size:14px;margin-bottom:16px;}
.cform button{background:var(--red);color:#fff;border:0;padding:14px 34px;font-size:14.5px;
  letter-spacing:1px;cursor:pointer;}
footer{border-top:1px solid var(--line);padding:40px 0;color:var(--muted);font-size:12.5px;}
footer .fl{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
footer a{color:var(--ink);margin-right:18px;}
footer a:hover{color:var(--red);}
/* Sub page hero */
.subhero{padding:100px 0 60px;border-bottom:1px solid var(--line);background:var(--paper);}
.subhero .kicker{font-size:12px;letter-spacing:4px;color:var(--red);font-weight:600;margin-bottom:18px;}
.subhero h1{font-family:var(--serif);font-size:42px;font-weight:700;letter-spacing:1px;line-height:1.3;}
.subhero p{font-size:16px;color:var(--muted);max-width:660px;margin-top:18px;}
/* Footer full nav (mobile friendly) */
footer .fnav{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px 18px;}
footer .fnav a{margin:0;font-size:12.5px;color:var(--muted);}
footer .fnav a:hover{color:var(--red);}
/* AI sub page cards */
.ai-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ai-card{border:1px solid var(--line);padding:34px 28px;transition:.2s;}
.ai-card:hover{border-color:var(--gold);}
.ai-card .n{font-family:var(--serif);font-size:14px;color:var(--gold);letter-spacing:2px;margin-bottom:16px;}
.ai-card h3{font-family:var(--serif);font-size:21px;margin-bottom:12px;}
.ai-card p{font-size:14px;color:var(--muted);}
@media(max-width:860px){
  .pgrid{grid-template-columns:1fr;}
  .tgrid{grid-template-columns:1fr 1fr;}
  .about-grid,.contact{grid-template-columns:1fr;gap:32px;}
  .ilist{columns:1;}
  nav ul{display:none;}
  .hero h1{font-size:38px;}
  .crow{grid-template-columns:1fr;gap:8px;}
  .ai-cards{grid-template-columns:1fr;}
  .subhero h1{font-size:30px;}
}

/* 备案号 */
.beian{margin-top:14px;font-size:12.5px;color:var(--muted);}
.beian a{color:var(--muted);text-decoration:none;margin:0;}
.beian a:hover{color:var(--red);}
