
:root{--bg:#ECF1FB;--paper:#FFFFFF;--ink:#12151C;--ink-soft:#3C4350;
  --navy:#13315B;--navy-deep:#0A1E3A;--navy-soft:#27508C;--blue:#2E6BD6;
  --gold:#B5934E;--gold-soft:#D8B878;--gold-2:#C9A45E;
  --line:#E1E8F4;--line-2:#CFDAEC;--gray:#5A6271;--muted:#8A91A0;
  --glass:rgba(255,255,255,.60);--glass-bd:rgba(255,255,255,.85);
  --sh:0 22px 60px -24px rgba(19,49,91,.35);
  --serif:"Songti SC","Noto Serif SC","Source Han Serif SC","SimSun",serif;
  --sans:"PingFang SC","HarmonyOS Sans SC","Microsoft YaHei","Noto Sans SC",sans-serif;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.85;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:relative;}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:
   radial-gradient(58vw 58vw at 85% -6%, rgba(46,107,214,.14), transparent 60%),
   radial-gradient(46vw 46vw at -4% 16%, rgba(181,147,78,.13), transparent 60%),
   radial-gradient(40vw 40vw at 48% 116%, rgba(19,49,91,.08), transparent 60%);}
h1,h2,h3{font-family:var(--sans);font-weight:700;letter-spacing:-.4px;line-height:1.22;}
a{color:var(--navy);text-decoration:none;}
a:hover{color:var(--gold);}
img{max-width:100%;height:auto;display:block;}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px;}
.narrow{max-width:760px;}
/* header */
header{position:sticky;top:0;background:rgba(255,255,255,.70);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border-bottom:1px solid var(--line);z-index:999;transition:box-shadow .3s,background .3s,border-color .3s,height .4s ease,padding .4s ease;}
header.scrolled{background:rgba(255,255,255,.96);box-shadow:0 10px 34px -22px rgba(19,49,91,.5);border-bottom-color:var(--line-2);}
.hd{display:flex;align-items:center;justify-content:space-between;height:88px;padding:4px 0;transition:height .4s ease,padding .4s ease;}
header.scrolled .hd{height:56px;padding:0;justify-content:center;}
.logo{display:flex;align-items:center;line-height:1.2;gap:10px;transition:opacity .4s ease,transform .4s ease,width .4s ease,max-width .4s ease;overflow:hidden;flex-shrink:0;max-width:600px;}
.logo img{height:52px;width:auto;object-fit:contain;transition:.4s ease;}
header.scrolled .logo{opacity:0;transform:translateX(-20px);max-width:0;width:0;}
.logo-txt{font-size:15px;font-weight:700;color:var(--navy);letter-spacing:1px;display:flex;flex-direction:column;}
.logo-txt small{font-size:11px;font-weight:500;color:var(--gray);letter-spacing:2px;}
nav{display:flex;gap:18px;align-items:center;flex-wrap:nowrap;}
nav a{color:var(--ink-soft);font-size:16.5px;padding:6px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;position:relative;}
nav a.on,nav a:hover{color:var(--navy);border-bottom-color:var(--gold);}
.nav-item:first-child > a{font-weight:700;}
/* dropdown nav */
.nav-item{position:relative;}
.nav-item > a{display:flex;align-items:center;gap:5px;white-space:nowrap;}
.caret{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.7;margin-top:2px;transition:transform .25s;}
.nav-item:hover > a .caret{transform:rotate(180deg);}
.dropdown{position:absolute;top:100%;left:0;min-width:210px;margin-top:10px;background:rgba(255,255,255,.92);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px -20px rgba(19,49,91,.45);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s ease;z-index:60;}
.dropdown:before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;}
.dropdown.dd-right{left:auto;right:0;}
.nav-item:hover > .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dd-item{display:block;padding:10px 14px;border-radius:9px;color:var(--ink-soft);font-size:14px;font-weight:500;text-decoration:none;border-bottom:none;transition:all .18s;line-height:1.4;}
.dd-item:hover{background:rgba(46,107,214,.08);color:var(--navy);}
.dd-item.lang-swtch.on{color:var(--gold);font-weight:700;background:rgba(181,147,78,.10);}
.nav-lang > .lang-btn{display:flex;align-items:center;gap:5px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;color:var(--navy);font-weight:600;font-size:16px;background:rgba(255,255,255,.5);}
.nav-lang > .lang-btn:hover{border-color:var(--gold);color:var(--navy);}
/* ===== Mobile nav (≤820px) — hamburger panel. Desktop layout untouched. ===== */
.nav-toggle{display:none;}
@media(max-width:820px){
  .hd{position:relative;height:70px;gap:12px;}
  .logo img{height:44px;}
  .nav-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;
    background:rgba(255,255,255,.55);border:1px solid var(--line);border-radius:12px;cursor:pointer;padding:0;flex:none;}
  .nav-toggle span{position:relative;width:20px;height:2px;background:var(--navy);border-radius:2px;transition:.3s;}
  .nav-toggle span:before,.nav-toggle span:after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--navy);border-radius:2px;transition:.3s;}
  .nav-toggle span:before{top:-6px;}.nav-toggle span:after{top:6px;}
  header.menu-open .nav-toggle span{background:transparent;}
  header.menu-open .nav-toggle span:before{top:0;transform:rotate(45deg);}
  header.menu-open .nav-toggle span:after{top:0;transform:rotate(-45deg);}
  nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:#fff;border-bottom:1px solid var(--line);box-shadow:0 24px 44px -24px rgba(19,49,91,.5);
    padding:6px 16px 18px;max-height:calc(100vh - 64px);overflow-y:auto;-webkit-overflow-scrolling:touch;}
  header.menu-open nav{display:flex;animation:navDrop .3s ease both;}
  .nav-item{width:100%;border-bottom:1px solid var(--line);}
  .nav-item:last-child{border-bottom:none;}
  .nav-item > a{display:flex;align-items:center;justify-content:space-between;padding:15px 4px;font-size:15px;
    color:var(--ink-soft);border-bottom:none;white-space:normal;}
  .nav-item > a.on{color:var(--navy);font-weight:700;}
  .nav-item:hover > a .caret{transform:none;}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:transparent;
    padding:0 0 12px 14px;min-width:0;margin-top:0;display:block;}
  .dropdown:before{display:none;}
  .dd-item{padding:11px 12px;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);}
  .dd-item:last-child{border-bottom:none;}
  .dd-item:hover{background:rgba(46,107,214,.06);}
  .nav-lang{border-bottom:1px solid var(--line);}
  .nav-lang > .lang-btn{width:100%;justify-content:space-between;border:none;background:transparent;padding:15px 4px;font-size:15px;color:var(--ink-soft);}
  .hero{padding:118px 0 88px;}
  .about-intro{padding:52px 0;}
  .home-news{padding:52px 0;}
  .philo{padding:56px 0;}
  footer .cols{grid-template-columns:1fr 1fr;}
}
/* hero */
/* staged entrance: nav bar first, then sections fade up in sequence */
@keyframes navDrop{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}
@keyframes upReveal{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes kenBurns{from{transform:scale(1);}to{transform:scale(1.06);}}
body.loaded header{animation:navDrop .6s cubic-bezier(.2,.7,.2,1) .05s both;}
body.loaded .hero{animation:upReveal .85s cubic-bezier(.2,.7,.2,1) .28s both;}
body.loaded .about-intro{animation:upReveal .85s cubic-bezier(.2,.7,.2,1) .48s both;}
body.loaded .home-news{animation:upReveal .85s cubic-bezier(.2,.7,.2,1) .68s both;}
body.loaded .home-honors{animation:upReveal .85s cubic-bezier(.2,.7,.2,1) .88s both;}
@media (prefers-reduced-motion: reduce){
  body.loaded header,body.loaded .hero,body.loaded .about-intro,body.loaded .home-news,body.loaded .home-honors,
  body.loaded .hero-firm,body.loaded .kicker,body.loaded .hero h1,body.loaded .hero h1 .ch,body.loaded .hero h1 .hero-sub{animation:none;opacity:1;}
}
.hero{position:relative;color:var(--ink);overflow:hidden;padding:220px 0 180px;min-height:580px;}
.hero .carousel{position:absolute;inset:0;z-index:0;}
.hero .carousel .slide{position:absolute;inset:0;opacity:0;pointer-events:none;}
.hero .carousel .slide.active{opacity:1;pointer-events:auto;z-index:1;}
/* text slide: quick fade-in */
.hero .carousel .slide.slide-text{transition:opacity .7s ease;background:linear-gradient(180deg,#F6F9FF 0%,#ECF1FB 100%);}
/* img slide: slow cinematic crossfade + subtle zoom */
.hero .carousel .slide.slide-img{transition:opacity 1.4s ease,transform 1.4s ease;transform:scale(1.03);}
.hero .carousel .slide.slide-img.active{transform:scale(1);}
.hero .carousel .slide.slide-img img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 12s ease-out;}
.hero .carousel .slide.slide-img.active img{transform:scale(1.05);}
.hero .carousel .slide.slide-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(19,49,91,.12) 0%,rgba(19,49,91,.30) 100%);transition:opacity 1.4s ease;}
/* carousel dots */
.hero .dots{position:absolute;bottom:28px;right:36px;z-index:10;display:flex;gap:10px;}
.hero .dots .dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.45);border:1.5px solid rgba(255,255,255,.7);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.15);}
.hero .dots .dot:hover{background:rgba(255,255,255,.85);transform:scale(1.25);}
.hero .dots .dot.active{background:#fff;border-color:#fff;transform:scale(1.2);box-shadow:0 0 12px rgba(255,255,255,.5);}
/* hero text visibility in carousel */
.hero .hero-left{transition:opacity .5s ease, transform .5s ease;}
.hero.text-only .hero-left{opacity:1;transform:none;}
.hero.img-slide .hero-left{opacity:0;transform:translateY(-20px);pointer-events:none;}
.hero .slide-text .aura{position:absolute;border-radius:50%;filter:blur(64px);z-index:0;opacity:.95;animation:drift 20s ease-in-out infinite;}
.hero .slide-text .aura.a1{width:540px;height:540px;right:-110px;top:-180px;background:radial-gradient(circle,rgba(46,107,214,.32),transparent 70%);}
.hero .slide-text .aura.a2{width:480px;height:480px;left:-140px;bottom:-200px;background:radial-gradient(circle,rgba(181,147,78,.30),transparent 70%);animation-delay:-7s;}
.hero .slide-text .aura.a3{width:300px;height:300px;right:30%;bottom:-120px;background:radial-gradient(circle,rgba(39,80,140,.20),transparent 70%);animation-delay:-12s;}
.hero .slide-text::before{content:"";position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(19,49,91,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(19,49,91,.045) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(circle at 72% 22%,#000,transparent 78%);mask-image:radial-gradient(circle at 72% 22%,#000,transparent 78%);}
.hero .wrap{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 0 20px;}
.hero .hero-firm{font-family:var(--serif);font-size:clamp(18px,2.2vw,26px);color:var(--navy);letter-spacing:6px;font-weight:700;margin-bottom:12px;}
.hero .kicker{display:inline-block;color:var(--navy-soft);letter-spacing:5px;font-size:12.5px;margin-bottom:28px;text-transform:uppercase;background:var(--glass);border:1px solid var(--glass-bd);padding:7px 16px;border-radius:999px;backdrop-filter:blur(8px);font-weight:600;}
.hero h1{font-size:clamp(38px,5.5vw,68px);line-height:1.18;max-width:900px;color:var(--ink);font-weight:800;letter-spacing:-1px;}
.hero h1 .hero-sub{font-size:clamp(16px,2vw,23px);font-weight:600;color:var(--gold-2);margin-top:16px;display:block;letter-spacing:2px;}
/* hero text staggered fade-in */
@keyframes txtFade{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
@keyframes chPop{from{opacity:0;transform:translateY(16px) scale(.94);}to{opacity:1;transform:none;}}
body.loaded .hero-firm{opacity:0;animation:txtFade .7s cubic-bezier(.25,.8,.25,1) .55s both;}
body.loaded .kicker{opacity:0;animation:txtFade .7s cubic-bezier(.25,.8,.25,1) .78s both;}
.hero h1 .ch{display:inline-block;opacity:0;will-change:transform,opacity;}
body.loaded .hero h1 .ch{animation:chPop .5s cubic-bezier(.25,.8,.25,1) both;animation-delay:calc(1s + var(--i) * .11s);}
.hero h1 .hero-sub{opacity:0;}
body.loaded .hero h1 .hero-sub{animation:txtFade .7s cubic-bezier(.25,.8,.25,1) 2.3s both;}
.hero p.lead{margin-top:28px;max-width:560px;color:var(--ink-soft);font-size:17.5px;line-height:1.95;}
.hero-cta{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;}
.hbtn{display:inline-flex;align-items:center;gap:8px;padding:14px 34px;border-radius:999px;font-size:15px;font-weight:600;letter-spacing:.5px;transition:transform .25s,box-shadow .25s,background .25s;background:linear-gradient(120deg,var(--navy),var(--navy-soft));color:#fff;box-shadow:0 14px 34px -14px rgba(19,49,91,.7);}
.hbtn:hover{color:#fff;transform:translateY(-3px);box-shadow:0 20px 44px -14px rgba(19,49,91,.8);}
.hbtn.ghost{background:var(--glass);color:var(--navy);border:1px solid var(--glass-bd);box-shadow:none;backdrop-filter:blur(8px);}
.hbtn.ghost:hover{color:var(--navy);background:#fff;box-shadow:var(--sh);}
/* hero card */
.hero-card{background:var(--glass);border:1px solid var(--glass-bd);border-radius:22px;padding:30px 30px;backdrop-filter:blur(16px);box-shadow:var(--sh);}
.hero-card .hc-title{font-size:13px;color:var(--gray);letter-spacing:3px;text-transform:uppercase;margin-bottom:18px;font-weight:600;}
.hero-card a{display:flex;flex-direction:column;gap:3px;padding:15px 18px;border-radius:14px;margin:8px 0;border:1px solid transparent;transition:.25s;color:var(--ink);}
.hero-card a:hover{border-color:var(--line-2);background:rgba(255,255,255,.7);transform:translateX(4px);}
.hero-card a b{font-size:16.5px;font-weight:700;color:var(--navy);}
.hero-card a span{font-size:12.5px;color:var(--gray);}
/* page head */
.phead{padding:64px 0 36px;border-bottom:1px solid var(--line);}
.phead-team{display:flex;align-items:flex-end;justify-content:space-between;}
.phead h1{font-size:36px;color:var(--ink);}
.phead h1:after{content:"";display:block;width:56px;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-soft));margin-top:16px;border-radius:2px;}
.team-cases-btn{display:inline-flex;align-items:center;padding:10px 22px;border:2px solid var(--gold);border-radius:999px;color:var(--navy);font-weight:700;font-size:15px;text-decoration:none;transition:background .25s,color .25s;white-space:nowrap;margin-bottom:6px;}
.team-cases-btn:hover{background:var(--gold);color:#fff;}
.crumbs{font-size:13px;color:var(--gray);padding:18px 0 0;}
.crumbs a{color:var(--gray);}
.crumbs a:hover{color:var(--navy);}
/* sections */
section.blk{padding:92px 0;}
section.alt{background:rgba(255,255,255,.42);border-top:1px solid var(--line);border-bottom:1px solid var(--line);backdrop-filter:blur(4px);}
h2.sec{font-size:26px;margin-bottom:8px;color:var(--ink);position:relative;letter-spacing:1px;font-weight:700;line-height:1.3;}
.sec-en{color:var(--muted);font-size:11.5px;letter-spacing:4px;text-transform:uppercase;margin-bottom:40px;font-family:Georgia,serif;font-weight:500;}
h3{font-size:20px;margin:28px 0 12px;color:var(--navy);font-weight:700;}
p{margin:12px 0;color:var(--ink-soft);}
ul.plain{margin:14px 0 14px 22px;color:var(--ink-soft);}
ul.plain li{margin:8px 0;}
/* geo tip */
.geo-tip{background:var(--glass);border:1px solid var(--glass-bd);border-left:3px solid var(--gold);border-radius:0 14px 14px 0;padding:20px 24px;margin:30px 0;backdrop-filter:blur(10px);box-shadow:0 10px 30px -20px rgba(19,49,91,.4);}
.geo-tip b{color:var(--navy);font-family:var(--serif);}
.geo-tip p{margin:4px 0;color:#333;}
/* about page enhancements */
.about-lead{font-size:17px;line-height:1.8;color:var(--ink-soft);margin-bottom:10px;padding:20px 24px;background:linear-gradient(135deg,rgba(19,49,91,.03),rgba(181,147,78,.06));border-left:4px solid var(--gold);border-radius:0 12px 12px 0;font-weight:500;}
.about-hero-img{margin:0 0 24px;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px -8px rgba(19,49,91,.12);}
.about-hero-img img{width:100%;height:auto;display:block;}
h3.sub-sec{font-size:18px;margin:22px 0 10px;color:var(--navy);font-weight:700;padding-left:14px;border-left:3px solid var(--gold);}
.biz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;margin:20px 0;}
.biz-item{background:#fff;border:1px solid rgba(19,49,91,.08);border-radius:12px;padding:18px 20px;transition:all .3s ease;position:relative;overflow:hidden;}
.biz-item:hover{border-color:rgba(181,147,78,.35);box-shadow:0 6px 20px -8px rgba(19,49,91,.10);transform:translateY(-2px);}
.biz-num{display:inline-block;background:var(--navy);color:#fff;font-size:12px;font-weight:700;width:28px;height:28px;line-height:28px;text-align:center;border-radius:8px;margin-right:10px;vertical-align:middle;}
.biz-item h4{display:inline;font-size:15.5px;font-weight:700;color:var(--navy);vertical-align:middle;margin:0;}
.biz-item p{font-size:13.5px;line-height:1.65;margin:10px 0 0;color:var(--muted);}
/* cards */
.grid{display:grid;gap:26px;margin-top:34px;}
.g3{grid-template-columns:repeat(3,1fr);}
.g2{grid-template-columns:repeat(2,1fr);}
.g4{grid-template-columns:repeat(4,1fr);}
.card{background:var(--glass);border:1px solid var(--glass-bd);border-radius:18px;padding:30px 28px;backdrop-filter:blur(12px);transition:transform .3s,box-shadow .3s,border-color .3s,background .3s;position:relative;overflow:hidden;box-shadow:0 12px 36px -26px rgba(19,49,91,.5);}
.card:before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-soft));transition:width .35s;}
.card:hover{transform:translateY(-7px);box-shadow:0 26px 60px -28px rgba(19,49,91,.55);border-color:var(--line-2);background:rgba(255,255,255,.78);}
.card:hover:before{width:100%;}
.card h3{margin:0 0 10px;font-size:19px;color:var(--navy);font-weight:700;}
.card p{font-size:14.5px;color:var(--muted);margin:0 0 14px;line-height:1.75;}
.card .more{font-size:13.5px;color:var(--gold-2);font-weight:600;}
.card .tagrow{margin-top:12px;}
.tag{display:inline-block;font-size:12px;color:var(--navy-soft);border:1px solid var(--line-2);padding:2px 11px;margin:3px 5px 3px 0;border-radius:999px;background:rgba(255,255,255,.6);}
/* people */
.pcard{display:flex;gap:18px;align-items:flex-start;}
.avatar{width:88px;height:110px;background:linear-gradient(160deg,#27324a,#16202e);flex:none;display:flex;align-items:center;justify-content:center;color:#9fb0c4;font-size:11px;text-align:center;line-height:1.4;border-radius:10px;}
/* lawyer team page - new layout */
.lawyer-featured{display:flex;gap:36px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 2px 20px rgba(19,49,91,.06);margin-bottom:40px;}
.lawyer-featured .lf-photo{width:320px;height:380px;flex:none;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#e8ecf3,#d0d8e6);display:flex;align-items:center;justify-content:center;color:#8899aa;font-size:13px;}
.lawyer-featured .lf-photo img{width:100%;height:100%;object-fit:cover;}
.lawyer-featured .lf-info{flex:1;padding:12px 0;}
.lawyer-featured .lf-name{font-size:26px;font-weight:700;color:var(--ink);margin-bottom:10px;}
.lawyer-featured .lf-titles{font-size:14.5px;color:var(--navy-soft);line-height:2;margin-bottom:16px;}
.lawyer-featured .lf-btn{display:inline-flex;align-items:center;padding:10px 30px;background:var(--navy);color:#fff;border-radius:50px;font-size:14px;font-weight:600;transition:all .25s;}
.lawyer-featured .lf-btn:hover{background:var(--navy-soft);transform:translateY(-2px);}
/* lawyer grid cards */
.lawyer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:28px;}
.lawyer-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .25s,box-shadow .25s;}
.lawyer-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(19,49,91,.12);}
.lawyer-card .lc-photo{width:100%;height:280px;background:linear-gradient(160deg,#e8ecf3,#d0d8e6);display:flex;align-items:center;justify-content:center;color:#8899aa;font-size:12px;overflow:hidden;}
.lawyer-card .lc-photo img{width:100%;height:100%;object-fit:cover;}
.lawyer-card .lc-info{padding:16px 14px;text-align:center;}
.lawyer-card .lc-name{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:4px;}
.lawyer-card .lc-title{font-size:12.5px;color:var(--muted);line-height:1.7;}
@media(max-width:900px){.lawyer-grid{grid-template-columns:repeat(2,1fr);gap:16px;}.lawyer-featured{flex-direction:column;padding:20px;}.lawyer-featured .lf-photo{width:100%;height:260px;}}
@media(max-width:520px){.lawyer-grid{grid-template-columns:1fr;}}
.av-lg{width:100%;height:340px;}
/* fill placeholder */
.fill{color:#8a6d2f;background:#FBF3E2;border:1px dashed var(--gold);padding:0 6px;font-size:.92em;border-radius:4px;white-space:nowrap;}
/* faq */
.faq-item{background:var(--glass);border:1px solid var(--glass-bd);border-radius:16px;margin:16px 0;padding:22px 26px;backdrop-filter:blur(10px);transition:box-shadow .25s,transform .25s,border-color .25s;}
.faq-item:hover{box-shadow:0 18px 40px -26px rgba(19,49,91,.5);transform:translateY(-3px);border-color:var(--line-2);}
.faq-item h3{margin:0 0 10px;font-size:17px;color:var(--ink);display:flex;align-items:center;}
.faq-item h3:before{content:"问";color:#FFF;background:linear-gradient(120deg,var(--navy),var(--navy-soft));font-size:12px;padding:3px 9px;margin-right:12px;border-radius:6px;font-family:var(--sans);flex:none;}
.faq-item p{font-size:15px;color:var(--ink-soft);margin:0;}
.faq-item p:before{content:"答";color:#FFF;background:linear-gradient(120deg,var(--gold),var(--gold-soft));font-size:12px;padding:3px 9px;margin-right:12px;border-radius:6px;font-family:var(--sans);flex:none;}
.faq-sec{scroll-margin-top:104px;}
.breadcrumb-nav{display:flex;align-items:center;gap:8px;padding:14px 0;font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:6px;}
.breadcrumb-nav a{color:var(--navy-soft);text-decoration:none;font-weight:500;transition:color .2s;}
.breadcrumb-nav a:hover{color:var(--gold-dark);text-decoration:none;}
.bc-sep{color:var(--line-2);font-size:12px;}
.bc-current{color:var(--navy);font-weight:600;}
/* article */
article.body{max-width:760px;}
article.body blockquote{border-left:3px solid var(--navy);background:var(--glass);padding:14px 20px;margin:18px 0;color:#444;font-size:15px;border-radius:0 10px 10px 0;backdrop-filter:blur(8px);}
.meta-row{font-size:13px;color:var(--gray);margin:8px 0 24px;}
.takeaway{background:var(--glass);border:1px solid var(--glass-bd);border-top:2px solid var(--gold);border-radius:14px;padding:22px 26px;margin:34px 0;backdrop-filter:blur(10px);}
.takeaway h3{margin:0 0 10px;font-size:17px;color:var(--ink);}
/* table */
table{border-collapse:collapse;width:100%;margin:18px 0;background:rgba(255,255,255,.7);font-size:14.5px;border-radius:12px;overflow:hidden;backdrop-filter:blur(8px);}
th,td{border:1px solid var(--line);padding:10px 14px;text-align:left;}
th{background:#EAF0FA;font-weight:600;color:var(--navy);}
/* footer */
footer{background:linear-gradient(160deg,var(--navy-deep),var(--navy));color:#C5CBD6;margin-top:100px;font-size:13.5px;position:relative;overflow:hidden;}
footer:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-soft),var(--gold));}
footer:after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(46,107,214,.25),transparent 70%);filter:blur(20px);}
footer .cols{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr 1fr;gap:38px;padding:64px 0 44px;position:relative;z-index:2;}
footer h4{color:#fff;font-size:14px;margin-bottom:16px;font-weight:600;letter-spacing:1px;}
footer h4:after{content:"";display:block;width:22px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-soft));margin-top:9px;}
footer a{color:#A7B0C0;display:block;margin:8px 0;transition:color .2s;}
footer a:hover{color:var(--gold-soft);}
footer .brand{font-family:var(--serif);font-size:19px;color:#fff;letter-spacing:2px;}
footer .brand small{display:block;font-size:10px;color:#7F8A9C;letter-spacing:2px;margin-top:5px;font-family:Georgia,serif;}
footer .nap{margin-top:18px;color:#8B95A6;line-height:2;}
footer .bar{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;color:#7F8A9C;font-size:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;position:relative;z-index:2;}
/* cta */
.cta{background:linear-gradient(120deg,var(--navy-deep),var(--navy) 60%,var(--navy-soft));color:#fff;padding:70px 0;margin-top:24px;position:relative;overflow:hidden;border-radius:28px 28px 0 0;}
.cta:before{content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;border:1px solid rgba(216,184,120,.4);border-radius:50%;}
.cta:after{content:"";position:absolute;right:60px;bottom:-90px;width:200px;height:200px;border:1px solid rgba(216,184,120,.3);border-radius:50%;background:radial-gradient(circle,rgba(46,107,214,.2),transparent 70%);}
.cta .wrap{position:relative;z-index:2;}
.cta h2{font-size:28px;color:#fff;letter-spacing:-.5px;}
.cta p{color:#C9D3E2;max-width:620px;}
.btn{display:inline-flex;align-items:center;background:linear-gradient(120deg,var(--gold),var(--gold-soft));color:var(--navy-deep);padding:13px 40px;margin-top:18px;border-radius:999px;letter-spacing:2px;font-size:14px;font-weight:700;transition:transform .25s,box-shadow .25s;box-shadow:0 14px 34px -14px rgba(181,147,78,.8);}
.btn:hover{color:var(--navy-deep);transform:translateY(-3px);box-shadow:0 20px 44px -14px rgba(181,147,78,.9);}
/* misc */
.notice{font-size:12.5px;color:var(--gray);border-top:1px solid var(--line);margin-top:40px;padding-top:14px;}
.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:54px;align-items:start;}
.imgbox{position:relative;border:1px solid var(--line-2);border-radius:18px;min-height:300px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,#1c2735,#2a3a52);color:#9fb0c4;font-size:12.5px;text-align:center;padding:24px;line-height:1.8;}
.map-wrap{position:relative;border-radius:16px;overflow:hidden;background:#f4f2ee;box-shadow:0 6px 24px -8px rgba(19,49,91,.12);}
.contact-info{font-size:15.5px;line-height:2;color:var(--ink-soft);}
.contact-info b{font-weight:700;color:var(--navy);}
.imgbox img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
figure.fig{margin:0;}
figure.fig figcaption{font-size:12.5px;color:var(--muted);margin-top:10px;text-align:center;}
dfn{font-style:normal;border-bottom:1px dotted var(--gold);cursor:help;}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(26px,-22px)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}
@media(max-width:980px){.hero .wrap{padding:30px 0 10px;}.hero h1{font-size:34px;}.g3,.g4{grid-template-columns:repeat(2,1fr);}.two-col{grid-template-columns:1fr;}footer .cols{grid-template-columns:1fr 1fr;}nav{gap:14px;}.stats .grid{grid-template-columns:repeat(2,1fr);}.stat{border-left:none;border-top:1px solid rgba(255,255,255,.10);padding-top:20px;margin-top:20px;}.dept-grid{grid-template-columns:repeat(2,1fr);}.honors-grid{grid-template-columns:1fr 1fr;}.about-intro .wrap{flex-direction:column;text-align:center;padding:0 16px;}.ai-left{flex:none;margin-bottom:28px;}.ai-divider{display:none;}.ai-right{text-align:left;padding-left:0;}.news-head{flex-direction:column;align-items:flex-start;gap:20px;}.news-grid{grid-template-columns:repeat(2,1fr);gap:20px;}}
@media(max-width:560px){.g2,.g3,.g4{grid-template-columns:repeat(2,1fr);gap:14px;}.biz-grid{grid-template-columns:repeat(2,1fr);gap:12px;}section.blk{padding:54px 0;}.honors-grid{grid-template-columns:repeat(2,1fr);gap:14px;}.dept-grid{grid-template-columns:repeat(2,1fr);gap:10px;}.about-intro{padding:48px 0;}.about-intro .wrap{flex-direction:column;text-align:center;padding:0 16px;}.ai-left{flex:none;margin-bottom:26px;}.ai-divider{display:block;width:56px;height:3px;margin:0 auto 22px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}.ai-right{text-align:left;padding-left:0;}.ai-logo{width:162px;}.ai-title{font-size:21px;margin-bottom:22px;}.ai-text{font-size:15px;line-height:1.95;}.home-news{padding:48px 0;}.news-head{flex-direction:column;align-items:flex-start;gap:20px;}.news-head .sec{font-size:24px;}.news-tabs{gap:8px;flex-wrap:wrap;}.news-tab{padding:8px 18px;font-size:13px;}.news-grid{grid-template-columns:repeat(2,1fr);gap:16px;}.news-img{height:174px;}.cta{padding:52px 0;}.cta h2{font-size:24px;}.footer .cols{grid-template-columns:repeat(2,1fr);gap:26px 18px;}footer .cols{gap:26px 18px;}.footer .bar{flex-direction:column;gap:10px;text-align:center;}}
/* about-intro band */
/* about-intro — left logo / right content, inspired by 炜衡 layout */
.about-intro{background:#fff;padding:80px 0;position:relative;overflow:hidden;}
.about-intro .wrap{display:flex;align-items:center;gap:0;max-width:1140px;margin:0 auto;}
.ai-left{flex:0 0 320px;text-align:center;shrink:0;}
.ai-label{display:inline-block;font-family:var(--serif);font-size:18px;color:var(--gold);letter-spacing:4px;font-weight:600;margin-bottom:24px;}
.ai-divider{flex:0 0 1px;align-self:stretch;background:linear-gradient(180deg,transparent,var(--gold) 20%,var(--gold) 80%,transparent);margin:0 48px;}
.ai-right{flex:1;min-width:0;padding-left:8px;}
.ai-title{font-family:var(--sans);font-size:22px;color:var(--ink);font-weight:700;letter-spacing:1px;margin:0 0 28px;line-height:1.4;}
.ai-text{font-size:15px;color:var(--muted);line-height:2;letter-spacing:.3px;margin:0 0 18px;}
.ai-text:last-of-type{margin-bottom:28px;}
.ai-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 32px;border:1.5px solid var(--line);border-radius:50px;font-size:14px;color:var(--ink);text-decoration:none;transition:all .3s ease;letter-spacing:1px;}
.ai-btn:hover{border-color:var(--gold);color:var(--gold);box-shadow:0 6px 24px -8px rgba(181,147,78,.30);transform:translateY(-1px);}
/* home-news — inspired by 炜衡 news layout */
.home-news{background:#F8FAFD;padding:80px 0;position:relative;}
.news-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:44px;gap:24px;}
.news-head-left{flex:1;min-width:0;}
.news-head .sec{font-size:26px;color:var(--ink);font-weight:700;margin:0 0 10px;line-height:1.3;letter-spacing:1px;}
.news-sub{font-size:14px;color:var(--muted);margin:0;line-height:1.6;letter-spacing:.3px;}
.news-tabs{display:flex;gap:10px;flex-shrink:0;}
.news-tab{display:inline-flex;align-items:center;padding:9px 22px;border:1.5px solid var(--line);border-radius:50px;font-size:13px;color:var(--muted);text-decoration:none;transition:all .28s ease;letter-spacing:.5px;white-space:nowrap;background:#fff;}
.news-tab:hover,.news-tab.active{border-color:var(--gold);color:var(--gold);background:rgba(181,147,78,.06);}
.news-count{margin:14px 0 4px;font-size:13.5px;color:var(--muted);letter-spacing:.3px;}
.pager{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:44px 0 4px;}
.pager a,.pager-cur{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 13px;border:1.5px solid var(--line);border-radius:8px;font-size:14px;color:var(--muted);text-decoration:none;transition:all .25s ease;background:#fff;}
.pager a:hover{border-color:var(--gold);color:var(--gold);background:rgba(181,147,78,.06);}
.pager-cur{border-color:var(--gold);background:var(--gold);color:#fff;font-weight:600;}
.pager-gap{color:var(--muted);padding:0 2px;}
@media(max-width:560px){.pager{gap:6px;margin:32px 0 4px;}.pager a,.pager-cur{min-width:34px;height:34px;padding:0 9px;font-size:13px;}}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.news-card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line);transition:all .35s ease;box-shadow:0 2px 12px -4px rgba(19,49,91,.07);}
.news-card:hover{transform:translateY(-6px);box-shadow:0 18px 48px -12px rgba(19,49,91,.15);border-color:rgba(181,147,78,.25);}
.news-img{width:100%;height:180px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--navy-soft));}
/* animated shimmer + pattern overlay */
.news-img::before{content:"";position:absolute;inset:0;background:
  repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(255,255,255,.02) 40px,rgba(255,255,255,.02) 80px);
animation:shimmer 8s linear infinite;}
@keyframes shimmer{0%{transform:translateX(-80px);}100%{transform:translateX(80px);}}
/* radial glow that pulses */
.news-img::after{content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(181,147,78,.18),transparent 70%);animation:pulseGlow 4s ease-in-out infinite alternate;pointer-events:none;}
@keyframes pulseGlow{from{opacity:.5;transform:scale(.85);}to{opacity:1;transform:scale(1.15);}}
.news-img .ni-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:2px;}
.news-img .ni-label{font-size:24px;font-weight:800;color:#fff;letter-spacing:6px;text-shadow:0 2px 20px rgba(0,0,0,.5),0 0 50px rgba(181,147,78,.18);white-space:nowrap;}
.news-img .ni-sub{font-size:12px;color:rgba(255,255,255,.55);letter-spacing:4px;text-transform:uppercase;font-weight:500;margin-top:4px;}
.news-card:hover .news-img .ni-label{text-shadow:0 2px 24px rgba(0,0,0,.6),0 0 70px rgba(181,147,78,.28);}
.news-tag{position:absolute;top:14px;left:14px;padding:5px 14px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:50px;font-size:12px;color:var(--navy);font-weight:600;letter-spacing:.5px;}
.news-body{padding:22px 24px 26px;}
.news-body h3{font-size:16px;font-weight:700;margin:0 0 12px;line-height:1.55;letter-spacing:.3px;}
.news-body h3 a{color:var(--ink);text-decoration:none;transition:color .2s;}
.news-body h3 a:hover{color:var(--gold);}
.center-card{background:var(--glass);border:1px solid var(--glass-bd);border-radius:18px;padding:28px 24px;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden;}
.center-card:hover{transform:translateY(-6px);box-shadow:0 18px 48px -12px rgba(19,49,91,.15);border-color:rgba(181,147,78,.25);}
.center-icon{text-align:center;margin-bottom:12px;}
.center-services{margin:12px 0 16px;padding:0;font-size:13px;color:var(--muted);}
.center-services li{padding:4px 0;list-style:none;position:relative;padding-left:14px;}
.center-services li::before{content:"·";position:absolute;left:0;color:var(--gold);font-weight:bold;}
.news-body p{font-size:14px;color:var(--muted);line-height:1.85;margin:0 0 18px;letter-spacing:.2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.news-more{display:inline-block;font-size:13px;color:var(--muted);text-decoration:none;letter-spacing:.5px;border-bottom:1px solid transparent;transition:all .25s;}
.news-more:hover{color:var(--gold);border-bottom-color:var(--gold);}
.dept-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-top:32px;border-top:1px solid rgba(255,255,255,.10);}
.dept-item{display:flex;align-items:center;justify-content:center;padding:18px 12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);border-radius:14px;color:#fff;font-size:15.5px;font-weight:600;letter-spacing:2px;text-decoration:none;transition:all .3s;backdrop-filter:blur(4px);}
.dept-item:hover{background:rgba(181,147,78,.20);border-color:var(--gold-soft);color:var(--gold-soft);transform:translateY(-3px);box-shadow:0 12px 30px -10px rgba(181,147,78,.25);}
/* honors gallery — 木框金属牌匾画廊，一排3个，文字清晰可读 */
.honors-sec{background:linear-gradient(180deg,#fff,var(--bg));}
.honor-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:32px;}
.honor-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px -6px rgba(19,49,91,.10),0 2px 8px -3px rgba(139,90,30,.10);border:1px solid rgba(139,90,30,.12);transition:all .4s cubic-bezier(.22,1,.36,1);}
.honor-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px -10px rgba(19,49,91,.14),0 6px 20px -5px rgba(139,90,30,.18);border-color:rgba(139,90,30,.28);}
.honor-plaque{width:100%;aspect-ratio:720/560;background:linear-gradient(145deg,#e8d5a0,#d4b86a);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.honor-plaque img{width:100%;height:auto;display:block;object-fit:cover;transition:transform .5s ease;}
.honor-card:hover .honor-plaque img{transform:scale(1.03);}
.honor-info{padding:20px 22px 26px;}
.honor-info h3{font-size:17px;font-weight:700;color:var(--navy);margin:0 0 7px;line-height:1.48;}
.honor-info p{font-size:14.5px;color:var(--muted);line-height:1.68;margin:0;}
/* 详情页大图画廊 — 一排3个 */
.honor-gallery-lg{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:16px;}
.honor-card-lg{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 26px -8px rgba(19,49,91,.11),0 3px 12px -4px rgba(139,90,30,.12);border:1px solid rgba(139,90,30,.12);transition:all .45s cubic-bezier(.22,1,.36,1);}
.honor-card-lg:hover{transform:translateY(-8px);box-shadow:0 22px 56px -14px rgba(19,49,91,.15),0 10px 30px -6px rgba(139,90,30,.20);border-color:rgba(139,90,30,.28);}
.honor-card-lg .honor-plaque{border-radius:16px 16px 0 0;overflow:hidden;}
.honor-card-lg .honor-info{padding:22px 26px 28px;}
.honor-card-lg h3{font-size:19px;font-weight:700;color:var(--navy);margin:0 0 6px;line-height:1.44;}
.honor-card-lg .honor-info p{font-size:15px;color:var(--muted);line-height:1.66;margin:0;}
.honor-meta{font-size:13.5px;color:var(--gold-dark);font-weight:600;margin-bottom:9px!important;letter-spacing:.3px;}
.honor-cat-section{margin-bottom:48px;padding-top:8px;}
@media(max-width:900px){.honor-gallery{grid-template-columns:repeat(2,1fr);gap:20px;} .honor-gallery-lg{grid-template-columns:repeat(2,1fr);gap:22px;}}
@media(max-width:600px){.honor-gallery{grid-template-columns:repeat(2,1fr);gap:14px;} .honor-gallery-lg{grid-template-columns:repeat(2,1fr);gap:16px;} .honor-card-lg .honor-plaque img{max-height:300px;width:auto;margin:0 auto;display:block;} .biz-grid{grid-template-columns:repeat(2,1fr);gap:12px;}}
/* dept nav on people page */
.dept-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:40px;padding:18px 22px;background:var(--glass);border:1px solid var(--glass-bd);border-radius:14px;}
.dept-nav-label{font-size:13px;color:var(--muted);font-weight:600;letter-spacing:1px;}
.dept-nav-link{display:inline-block;padding:7px 16px;border-radius:999px;font-size:13.5px;color:var(--navy);background:rgba(255,255,255,.6);border:1px solid var(--line);text-decoration:none;transition:all .25s;font-weight:600;}
.dept-nav-link:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
.dept-section{scroll-margin-top:80px;padding-top:30px;}
/* philosophy band */
.philo{background:rgba(255,255,255,.55);padding:90px 0;text-align:center;backdrop-filter:blur(6px);position:relative;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.philo:before{content:"";position:absolute;left:50%;top:50%;width:600px;height:600px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(181,147,78,.12),transparent 70%);filter:blur(12px);}
.philo .wrap{position:relative;z-index:2;}
.philo-cn{font-family:var(--serif);font-size:clamp(22px,3.5vw,36px);color:var(--navy);font-weight:700;letter-spacing:6px;margin-bottom:28px;line-height:1.4;}
.philo .q{font-family:var(--serif);font-size:clamp(22px,3vw,38px);color:var(--ink);line-height:1.6;max-width:820px;margin:0 auto;font-weight:600;position:relative;}
.philo .q:before{content:"C";color:var(--gold);font-size:64px;line-height:0;position:absolute;left:-40px;top:16px;font-family:Georgia,serif;}
.philo .by{color:var(--navy-soft);font-size:13.5px;letter-spacing:4px;margin-top:32px;text-transform:uppercase;font-weight:600;}
