/* ==========================================================================
   泽亨官网 · 视觉精修层 (zeheng-polish.css)
   仅调整呈现：字体、留白节奏、层级、对齐、卡片/按钮一致性、页头页脚、图片处理、
   悬停与过渡、移动端细节。不改变任何结构、内容与脚本行为。
   色板（中性方案 neutral）：白 / 浅灰底 #F2F3F5，墨色 #1F2329 / 灰字，酒红 #79171C 仅用于 Logo、拨号与错误态。
   必须作为每页最后一个样式表加载（覆盖既有 !important 叠层）。
   ========================================================================== */

:root {
    --zp-accent: #79171C;
    --zp-accent-hover: #5B1115;
    --zp-accent-soft: rgba(121, 23, 28, 0.06);
    /* 中性方案：酒红仅留给 Logo/印章、移动端拨号按钮与错误态；其余强调统一用墨色 */
    --zp-emph: #1F2329;
    --zp-emph-hover: #3A3F45;
    --zp-ink: #1f2329;
    --zp-ink-2: #2b2f35;
    --zp-body: #3a3f45;
    --zp-muted: #55595f;
    --zp-faint: #6b7075;
    --zp-hint: #9a9ea3;
    --zp-line: #e5e6e8;
    --zp-line-strong: #d3d5d8;
    --zp-bg: #ffffff;
    --zp-bg-alt: #f2f3f5;
    --zp-footer: #1f2329;
    --zp-radius: 4px;
    --zp-shadow: 0 1px 3px rgba(31, 35, 41, 0.06), 0 4px 16px rgba(31, 35, 41, 0.05);
    --zp-shadow-hover: 0 2px 6px rgba(31, 35, 41, 0.06), 0 14px 32px rgba(31, 35, 41, 0.08);
    --zp-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --zp-serif: "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;
    --zp-sans: "Work Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", system-ui, -apple-system, sans-serif;

    /* 既有变量收口到同一套色板 */
    --zeheng-red: var(--zp-emph);
    --zeheng-red-deep: var(--zp-emph-hover);
    --zeheng-gold: var(--zp-emph);
    --zeheng-paper: var(--zp-bg);
    --zeheng-ink: var(--zp-ink-2);
    --red: var(--zp-emph);
    --gold: var(--zp-emph);
    --gold-deep: var(--zp-emph);
    --paper: var(--zp-bg);
    --paper-low: var(--zp-bg-alt);
    --paper-mid: #f2f3f5;
    --text: var(--zp-ink);
    --muted: #55595f;
    --outline: var(--zp-line);
    --ink: var(--zp-ink);
    --ink-soft: var(--zp-ink-2);
    --sans: var(--zp-sans);
    --serif: var(--zp-serif);
}

/* ---------- 1. 全局基础：排版、选区、焦点、滚动条 ---------- */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-padding-top: 80px;
}

html body {
    background-color: var(--zp-bg);
    color: var(--zp-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: "kern" 1, "palt" 0;
}

::selection {
    background: var(--zp-emph);
    color: #fff;
}

html {
    scrollbar-color: #d3d5d8 transparent;
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #d3d5d8; border: 2px solid #fff; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #9a9ea3; }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid var(--zp-emph) !important;
    outline-offset: 3px !important;
    border-radius: 1px;
}

main :where(h1, h2, h3) {
    text-wrap: balance;
}

main :where(p, li) {
    text-wrap: pretty;
}

main a {
    text-underline-offset: 0.22em;
    text-decoration-thickness: 1px;
}

time,
.about-news-meta,
.news-date,
[class*="date"] {
    font-variant-numeric: tabular-nums;
}

input::placeholder,
textarea::placeholder {
    color: var(--zp-faint) !important;
    opacity: 1;
}

input,
textarea,
select {
    caret-color: var(--zp-emph);
}


/* 全站正文字阶：中文不使用负字距；正文 15px / 移动 14px，行高放宽（20261028 密度） */
:root {
    --zeheng-type-body: 14px;
    --zeheng-type-body-compact: 14px;
}

@media (max-width: 768px) {
    :root {
        --zeheng-type-body: 14px;
        --zeheng-type-body-compact: 13px;
    }
}

html body main#main-content :where(h1, h2) {
    letter-spacing: 0.04em !important;
}

html body main#main-content :where(h3, h4) {
    letter-spacing: 0.02em !important;
}

html body main#main-content :where(p, li) {
    line-height: 1.85 !important;
}

/* 浅色底统一：去掉米色/纸色，仅保留白与极浅灰 */
html body.bg-paper-white,
html body.bg-surface,
html body.bg-background,
html body .bg-surface-bright {
    background-color: var(--zp-bg) !important;
}

/* 全站照片保留原色（不做灰度/去饱和），仅轻微提升通透感 */
html body main img,
html body .group img,
html body .responsibility-carousel-slide img,
html body [data-lawyer-photo-frame] img,
html body .team-card-photo img,
html body .lawyer-mini-card img,
html body .about-stitch-intro-media img {
    filter: none !important;
    opacity: 1 !important;
}

/* ---------- 2. 页头 ---------- */
html body .site-header,
html body[class*="nav-theme-"] .site-header {
    background: rgba(255, 255, 255, 0.92) !important;
    border-bottom: 1px solid var(--zp-line) !important;
    -webkit-backdrop-filter: saturate(160%) blur(14px) !important;
    backdrop-filter: saturate(160%) blur(14px) !important;
    box-shadow: none !important;
    transition: background-color 360ms var(--zp-ease), border-color 360ms var(--zp-ease), box-shadow 360ms var(--zp-ease) !important;
}

html body .site-header.is-scrolled,
html body .site-header.is-over-hero.is-scrolled,
html body.menu-open .site-header,
html body[class*="nav-theme-"] .site-header.is-scrolled,
html body[class*="nav-theme-"] .site-header.is-over-hero.is-scrolled,
html body[class*="nav-theme-"].menu-open .site-header {
    background: rgba(255, 255, 255, 0.96) !important;
    border-bottom-color: var(--zp-line) !important;
    box-shadow: 0 1px 0 rgba(31, 35, 41, 0.02), 0 8px 24px rgba(31, 35, 41, 0.05) !important;
}

html body .site-header.is-over-hero:not(.is-scrolled),
html body[class*="nav-theme-"] .site-header.is-over-hero:not(.is-scrolled) {
    background: transparent !important;
    border-bottom-color: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

html body .site-nav {
    max-width: 1320px !important;
    margin: 0 auto !important;
    padding: 0 40px !important;
}

/* 印章 + 所名：品牌区 */
html body .site-header .site-brand {
    gap: 12px !important;
    color: var(--zp-ink) !important;
}

html body .site-header .site-brand img.brand-mark {
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    filter: none !important;
}

html body .site-header .brand-text {
    display: inline-block !important;
    font-family: var(--zp-serif) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: none !important;
    line-height: 1 !important;
    color: var(--zp-ink) !important;
    padding-left: 12px !important;
    border-left: 1px solid var(--zp-line-strong) !important;
    transition: color 240ms ease, border-color 240ms ease !important;
}

html body .site-header .site-brand:hover .brand-text {
    color: var(--zp-emph) !important;
}

/* 导航链接 */
html body .site-header .main-nav {
    gap: 36px !important;
    margin-right: 0 !important;
}

html body .site-header .main-nav a,
html body .site-header .nav-item > a,
html body .site-header .main-nav > a,
html body[class*="nav-theme-"] .site-header .main-nav a,
html body[class*="nav-theme-"] .site-header.is-scrolled .main-nav a,
html body[class*="nav-theme-"].menu-open .site-header .main-nav a {
    color: var(--zp-body) !important;
    font-family: var(--zp-sans) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    transition: color 200ms ease !important;
}

html body .site-header .main-nav a:hover,
html body .site-header .nav-item:hover > a,
html body .site-header .main-nav a[aria-current="page"],
html body[class*="nav-theme-"] .site-header .main-nav a:hover,
html body[class*="nav-theme-"] .site-header .main-nav a[aria-current="page"],
html body[class*="nav-theme-"] .site-header.is-scrolled .main-nav a:hover,
html body[class*="nav-theme-"] .site-header.is-scrolled .main-nav a[aria-current="page"] {
    color: var(--zp-emph) !important;
}

html body .site-header .main-nav a[aria-current="page"] {
    font-weight: 600 !important;
}

html body .site-header .main-nav a::after,
html body .site-header .nav-item > a::after,
html body[class*="nav-theme-"] .site-header .main-nav a::after {
    bottom: 0 !important;
    width: 100% !important;
    height: 2px !important;
    background: var(--zp-emph) !important;
    transition: transform 280ms var(--zp-ease) !important;
}

/* 压在首屏大图上时：白字 */
html body .site-header.is-over-hero:not(.is-scrolled) .brand-text,
html body .site-header.is-over-hero:not(.is-scrolled) .site-brand,
html body .site-header.is-over-hero:not(.is-scrolled) .main-nav a,
html body .site-header.is-over-hero:not(.is-scrolled) .nav-item > a,
html body[class*="nav-theme-"] .site-header.is-over-hero:not(.is-scrolled) .brand-text,
html body[class*="nav-theme-"] .site-header.is-over-hero:not(.is-scrolled) .main-nav a,
html body[class*="nav-theme-"] .site-header.is-over-hero:not(.is-scrolled) .nav-item > a {
    color: rgba(255, 255, 255, 0.92) !important;
}

html body .site-header.is-over-hero:not(.is-scrolled) .brand-text {
    border-left-color: rgba(255, 255, 255, 0.32) !important;
}

html body .site-header.is-over-hero:not(.is-scrolled) .main-nav a:hover,
html body .site-header.is-over-hero:not(.is-scrolled) .main-nav a[aria-current="page"],
html body[class*="nav-theme-"] .site-header.is-over-hero:not(.is-scrolled) .main-nav a:hover,
html body[class*="nav-theme-"] .site-header.is-over-hero:not(.is-scrolled) .main-nav a[aria-current="page"] {
    color: #fff !important;
}

html body .site-header.is-over-hero:not(.is-scrolled) .main-nav a::after {
    background: #fff !important;
}

/* 汉堡按钮 */
html body .site-header .menu-toggle,
html body[class*="nav-theme-"] .site-header .menu-toggle {
    width: 44px !important;
    height: 44px !important;
    color: var(--zp-ink) !important;
    border: 1px solid var(--zp-line) !important;
    border-radius: var(--zp-radius) !important;
    background: transparent !important;
    transition: border-color 200ms ease, color 200ms ease !important;
}

html body .site-header .menu-toggle:hover {
    color: var(--zp-emph) !important;
    border-color: var(--zp-emph) !important;
}

html body .site-header.is-over-hero:not(.is-scrolled) .menu-toggle,
html body[class*="nav-theme-"] .site-header.is-over-hero:not(.is-scrolled) .menu-toggle {
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.36) !important;
}

/* 移动端全屏菜单 */
html body .mobile-menu {
    background: var(--zp-footer) !important;
    padding: 96px 28px 40px !important;
}

html body .mobile-menu a {
    font-family: var(--zp-serif) !important;
    font-size: 21px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    color: #f2f3f5 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: 20px 0 !important;
}

html body .mobile-menu a[aria-current="page"],
html body .mobile-menu a:hover {
    color: #fff !important;
    text-decoration: underline;
    text-decoration-color: var(--zp-emph);
    text-decoration-thickness: 2px;
    text-underline-offset: 10px;
}

html body .mobile-menu .mobile-close {
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: var(--zp-radius);
}

@media (max-width: 960px) {
    html body .site-header,
    html body[class*="nav-theme-"] .site-header {
        background: rgba(255, 255, 255, 0.96) !important;
    }

    html body .site-nav {
        padding: 0 20px !important;
    }

    html body .site-header .brand-text {
        font-size: 16px !important;
        letter-spacing: 0.06em !important;
        padding-left: 10px !important;
    }

    html body .site-header .site-brand {
        gap: 10px !important;
    }

    html body .site-header .site-brand img.brand-mark {
        width: 21px !important;
        min-width: 21px !important;
        max-width: 21px !important;
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
    }
}

@media (max-width: 360px) {
    html body .site-header .brand-text {
        font-size: 14px !important;
        letter-spacing: 0.02em !important;
    }
}

/* ---------- 3. 页脚 ---------- */
html body .site-footer {
    background: var(--zp-footer) !important;
    border-top: 0 !important;
    color: #d3d5d8 !important;
}

html body .site-footer::before {
    display: none !important;
}

html body .site-footer .footer-grid {
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

html body .site-footer .footer-grid > div:first-child {
    border-left: 0 !important;
    padding-left: 0 !important;
}

html body .site-footer .footer-brand {
    font-family: var(--zp-serif) !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    border: 0 !important;
    padding-left: 0 !important;
}

html body .site-footer .footer-brand + p,
html body .site-footer p {
    color: rgba(229, 230, 232, 0.66) !important;
    font-size: 13px !important;
    line-height: 1.9 !important;
    max-width: 30em;
}

html body .site-footer h4,
html body .site-footer h5 {
    color: rgba(229, 230, 232, 0.48) !important;
    font-family: var(--zp-sans) !important;
}

html body .site-footer h4 span,
html body .site-footer h5 span {
    color: rgba(229, 230, 232, 0.62) !important;
}

html body .site-footer h4 span + span,
html body .site-footer h5 span + span {
    color: #fff !important;
    font-size: 14px !important;
    letter-spacing: 0.08em !important;
}

html body .site-footer h4::before,
html body .site-footer h5::before {
    display: none !important;
}

html body .site-footer a,
html body .site-footer li {
    color: rgba(229, 230, 232, 0.72) !important;
    font-size: 13px !important;
    transition: color 180ms ease !important;
}

html body .site-footer a:hover {
    color: #fff !important;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, 0.4);
    text-underline-offset: 4px;
}

html body .site-footer ul,
html body .site-footer .footer-grid > div:not(:first-child):not(.footer-bottom) {
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}

html body .site-footer .footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    color: rgba(229, 230, 232, 0.46) !important;
    font-size: 12px !important;
}

html body .site-footer .footer-bottom a,
html body .site-footer .footer-bottom span {
    color: rgba(229, 230, 232, 0.52) !important;
    font-size: 12px !important;
}

html body .back-to-top {
    background: var(--zp-ink) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: var(--zp-radius) !important;
    box-shadow: var(--zp-shadow) !important;
    transition: background-color 200ms ease, transform 200ms var(--zp-ease), opacity 200ms ease !important;
}

html body .back-to-top:hover {
    background: var(--zp-emph) !important;
}

/* ---------- 4. 移动端底部咨询栏（脚本注入，仅重设颜色） ---------- */
@media (max-width: 768px) {
    html body #zeheng-mobile-bar {
        background: rgba(255, 255, 255, 0.97) !important;
        border-top: 1px solid var(--zp-line) !important;
        box-shadow: 0 -6px 20px rgba(31, 35, 41, 0.06) !important;
    }

    html body #zeheng-mobile-bar .zmb-btn {
        color: var(--zp-body) !important;
        font-size: 12px !important;
        letter-spacing: 0.04em !important;
    }

    html body #zeheng-mobile-bar .zmb-btn svg {
        stroke: var(--zp-muted) !important;
    }

    html body #zeheng-mobile-bar .zmb-btn.zmb-wechat {
        border-left: 1px solid var(--zp-line) !important;
        border-right: 1px solid var(--zp-line) !important;
    }

    html body #zeheng-mobile-bar .zmb-btn.zmb-phone {
        background: var(--zp-accent) !important;
        color: #fff !important;
        font-weight: 600 !important;
    }

    html body #zeheng-mobile-bar .zmb-btn.zmb-phone svg {
        stroke: #fff !important;
    }

    html body #zeheng-mobile-bar .zmb-btn:active {
        background: var(--zp-bg-alt) !important;
    }

    html body #zmb-modal .zmb-modal-header {
        background: var(--zp-ink) !important;
        border-bottom: 2px solid var(--zp-emph) !important;
    }

    html body #zmb-modal .zmb-modal-brand p {
        color: rgba(229, 230, 232, 0.7) !important;
    }

    html body #zmb-modal .zmb-modal-box {
        border-radius: 6px !important;
    }

    html body #zmb-modal .zmb-copy-btn {
        background: var(--zp-ink) !important;
        color: #fff !important;
    }

    html body #zmb-modal .zmb-copy-btn:hover,
    html body #zmb-modal .zmb-direct-call {
        background: var(--zp-accent) !important;
        box-shadow: none !important;
    }

    html body #zmb-modal .zmb-direct-call:hover {
        background: var(--zp-accent-hover) !important;
    }
}

/* ---------- 5. 栅格对齐：页头 / 页脚 / 内容统一到 1280 内容宽 ---------- */
@media (min-width: 961px) {
    html body .site-nav {
        max-width: 1360px !important;
        padding: 0 40px !important;
    }

    html body .site-footer .footer-grid {
        max-width: 1360px !important;
        padding-left: 40px !important;
        padding-right: 40px !important;
        padding-top: 72px !important;
        padding-bottom: 28px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

@media (max-width: 768px) {
    html body .site-footer .footer-grid {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    html body .site-footer,
    html body .site-footer p,
    html body .site-footer li,
    html body .site-footer .footer-bottom,
    html body .site-footer .footer-bottom span {
        text-align: left !important;
        text-align-last: auto !important;
        letter-spacing: 0.02em !important;
        word-break: normal;
        overflow-wrap: anywhere;
    }
}

/* ---------- 6. 通用按钮与文字链（统一描边按钮、主按钮、箭头链接） ---------- */
html body main#main-content a[data-publication-link="primary"],
html body main#main-content .cta-btn,
html body main#main-content .btn-outline {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 26px !important;
    border: 1px solid var(--zp-ink) !important;
    border-radius: var(--zp-radius) !important;
    background: transparent !important;
    color: var(--zp-ink) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.12em !important;
    transition: background-color 220ms ease, color 220ms ease, border-color 220ms ease !important;
}

html body main#main-content a[data-publication-link="primary"]:hover,
html body main#main-content .cta-btn:hover,
html body main#main-content .btn-outline:hover {
    background: var(--zp-ink) !important;
    border-color: var(--zp-ink) !important;
    color: #fff !important;
}

html body main#main-content .cta-btn-primary,
html body main#main-content button[type="submit"] {
    background: var(--zp-emph) !important;
    border-color: var(--zp-emph) !important;
    color: #fff !important;
    border-radius: var(--zp-radius) !important;
    transition: background-color 220ms ease, transform 220ms var(--zp-ease) !important;
}

html body main#main-content .cta-btn-primary:hover,
html body main#main-content button[type="submit"]:hover {
    background: var(--zp-emph-hover) !important;
    border-color: var(--zp-emph-hover) !important;
}

html body main#main-content .about-text-button {
    color: var(--zp-ink) !important;
    font-size: 13px !important;
    letter-spacing: 0.1em !important;
    font-weight: 600 !important;
    transition: color 200ms ease !important;
}

html body main#main-content .about-text-button:hover {
    color: var(--zp-emph) !important;
}

/* ---------- 7. 首页 / 关于泽亨（共用模块） ---------- */
/* 首屏 */
html body #main-content .about-hero h1 {
    letter-spacing: 0.12em !important;
    font-weight: 600 !important;
    text-shadow: 0 2px 24px rgba(31, 35, 41, 0.45) !important;
}

html body #main-content .about-hero h1 + div {
    width: 40px !important;
    height: 2px !important;
    background: var(--zp-emph) !important;
    box-shadow: none !important;
    margin-bottom: 28px !important;
}

html body #main-content .about-hero p {
    color: rgba(255, 255, 255, 0.84) !important;
    font-size: 16px !important;
    line-height: 1.9 !important;
    letter-spacing: 0.04em !important;
    max-width: 40em !important;
}

@media (min-width: 961px) {
    html body #main-content .about-hero h1 {
        font-size: 52px !important;
        line-height: 1.2 !important;
    }
}

/* 小标签（走近泽亨 / 出版标签）：细横线代替色块与左竖条 */
html body #main-content .about-stitch-intro-kicker,
html body #main-content .about-section-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding-left: 0 !important;
    border-left: 0 !important;
    color: var(--zp-emph) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.16em !important;
}

html body #main-content .about-stitch-intro-kicker::before,
html body #main-content .about-section-tag::before {
    content: "" !important;
    display: inline-block !important;
    width: 28px !important;
    height: 1px !important;
    background: var(--zp-emph) !important;
}

/* 简介 */
html body #main-content .about-stitch-intro {
    background: var(--zp-bg) !important;
    border-bottom: 0 !important;
}

html body #main-content .about-stitch-intro-firm {
    font-size: var(--zeheng-type-display, 28px) !important;
    letter-spacing: 0.04em !important;
    color: var(--zp-ink) !important;
}

html body #main-content .about-stitch-intro-copy {
    max-width: 34em !important;
}

html body #main-content .about-stitch-intro-copy p {
    color: #55595f !important;
    font-size: 16px !important;
    line-height: 1.95 !important;
    letter-spacing: 0.02em;
}

html body #main-content .about-stitch-intro-media {
    border: 0 !important;
    background: var(--zp-bg-alt) !important;
    box-shadow: var(--zp-shadow) !important;
    border-radius: var(--zp-radius) !important;
}

/* 执业准则 */
html body #main-content .about-principles-shell {
    background: var(--zp-bg-alt) !important;
    border-top: 1px solid var(--zp-line) !important;
    border-bottom: 1px solid var(--zp-line) !important;
}

html body #main-content .about-principles-heading {
    color: var(--zp-ink) !important;
    font-family: var(--zp-serif) !important;
    font-size: var(--zeheng-type-display, 28px) !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    line-height: 1.3 !important;
    margin-bottom: 48px !important;
}

html body #main-content .about-principles-heading::after {
    content: "";
    display: block;
    width: 32px;
    height: 2px;
    margin: 18px auto 0;
    background: var(--zp-emph);
}

html body #main-content .about-stitch-principles {
    margin-top: 0 !important;
    border-top: 1px solid var(--zp-line-strong) !important;
    border-bottom: 1px solid var(--zp-line) !important;
}

html body #main-content .about-stitch-principle {
    padding: 36px 32px 40px !important;
    border-right: 1px solid var(--zp-line) !important;
    transition: background-color 300ms var(--zp-ease) !important;
}

html body #main-content .about-stitch-principle:last-child {
    border-right: 0 !important;
}

html body #main-content .about-stitch-principle:hover {
    background: var(--zp-bg);
}

html body main#main-content .about-stitch-principle h3 {
    color: var(--zp-ink) !important;
    font-size: 22px !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    margin-bottom: 14px !important;
    transition: color 220ms ease !important;
}

html body main#main-content .about-stitch-principle:hover h3 {
    color: var(--zp-emph) !important;
}

html body #main-content .about-stitch-principle p {
    color: var(--zp-muted) !important;
    font-size: 14px !important;
    line-height: 1.85 !important;
    letter-spacing: 0.04em;
}

@media (max-width: 960px) {
    html body #main-content .about-stitch-principles {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body #main-content .about-stitch-principle {
        padding: 26px 18px 28px !important;
        border-right: 0 !important;
        border-bottom: 1px solid var(--zp-line) !important;
    }

    html body #main-content .about-stitch-principle:nth-child(odd) {
        border-right: 1px solid var(--zp-line) !important;
    }

    html body #main-content .about-stitch-principle:nth-last-child(-n + 2) {
        border-bottom: 0 !important;
    }

    html body #main-content .about-stitch-principle h3 {
        font-size: 19px !important;
    }

    html body #main-content .about-stitch-principle p {
        font-size: 13px !important;
    }

    html body #main-content .about-principles-heading {
        margin-bottom: 32px !important;
    }
}

/* 区块标题：中文标题 + 英文小字 */
html body main#main-content .about-responsibility-title h2,
html body main#main-content section h2.font-headline-md.chinese-serif,
html body main#main-content section .flex.items-end.justify-between h2 {
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    color: var(--zp-ink) !important;
    font-size: var(--zeheng-type-display, 28px) !important;
}

html body main#main-content .about-responsibility-title h2 > span,
html body main#main-content section .flex.items-end.justify-between h2 > span {
    color: var(--zp-faint) !important;
    font-family: var(--zp-sans) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.22em !important;
    margin-left: 14px !important;
    vertical-align: 0.35em;
}

/* 公共责任 */
html body #main-content .about-responsibility-shell {
    background: var(--zp-bg) !important;
}

html body #main-content .about-responsibility-title {
    margin-bottom: 40px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid var(--zp-line) !important;
}

html body #main-content .about-responsibility-card > div:first-child {
    border: 0 !important;
    border-radius: var(--zp-radius);
    box-shadow: var(--zp-shadow);
    transition: box-shadow 400ms var(--zp-ease) !important;
}

html body #main-content .about-responsibility-card:hover > div:first-child {
    box-shadow: var(--zp-shadow-hover);
}

html body #main-content .responsibility-carousel-slide img {
    transition: transform 1200ms var(--zp-ease) !important;
}

html body #main-content .about-responsibility-card:hover .responsibility-carousel-slide img {
    transform: scale(1.025);
}

html body #main-content .responsibility-carousel-caption {
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    padding: 56px 96px 22px 26px !important;
    font-size: clamp(14px, 1.15vw, 17px) !important;
    line-height: 1.6 !important;
    letter-spacing: 0.02em !important;
    text-shadow: 0 1px 8px rgba(31, 35, 41, 0.4) !important;
    background: linear-gradient(0deg, rgba(31, 35, 41, 0.72) 0%, rgba(31, 35, 41, 0.32) 55%, rgba(31, 35, 41, 0) 100%) !important;
}

html body #main-content .responsibility-carousel-dots {
    right: 22px !important;
    bottom: 24px !important;
}

html body #main-content .responsibility-carousel-dot {
    width: 6px !important;
    height: 6px !important;
    background: rgba(255, 255, 255, 0.45) !important;
    transition: width 300ms var(--zp-ease), background-color 300ms ease !important;
}

html body #main-content .responsibility-carousel-dot.is-active {
    width: 18px !important;
    background: #fff !important;
}

html body main#main-content .about-responsibility-card h3 {
    font-size: 22px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    transition: color 220ms ease !important;
}

html body main#main-content .about-responsibility-card:hover h3 {
    color: var(--zp-emph) !important;
}

html body main#main-content .about-responsibility-card h3 + p,
html body #main-content .about-responsibility-card p {
    color: var(--zp-muted) !important;
    font-size: 15px !important;
    line-height: 1.85 !important;
}

@media (max-width: 640px) {
    html body #main-content .responsibility-carousel-caption {
        padding: 40px 64px 14px 16px !important;
        font-size: 13px !important;
    }

    html body #main-content .responsibility-carousel-dots {
        right: 14px !important;
        bottom: 16px !important;
    }
}

/* 学术著作 */
html body #main-content .about-academic-shell {
    background: var(--zp-bg-alt) !important;
    border-top: 1px solid var(--zp-line) !important;
    border-bottom: 1px solid var(--zp-line) !important;
}

html body #main-content .about-academic-frame {
    background: #fff !important;
    border: 1px solid var(--zp-line) !important;
    box-shadow: var(--zp-shadow-hover) !important;
    padding: 20px !important;
}

html body #main-content .about-academic-frame::after {
    display: none !important;
}

html body #main-content .about-academic-shell h2 {
    letter-spacing: 0.06em !important;
}

html body main#main-content .about-academic-shell h3[data-publication-title="primary"] {
    color: #55595f !important;
    font-size: 20px !important;
    letter-spacing: 0.04em !important;
}

html body #main-content .about-academic-shell p[data-publication-description="primary"] {
    color: var(--zp-muted) !important;
    font-size: 15px !important;
    line-height: 1.9 !important;
    max-width: 32em;
}

html body #main-content .about-academic-shell .space-y-6.border-t {
    border-top-color: var(--zp-line-strong) !important;
}

html body main#main-content .about-academic-shell h4[data-publication-eyebrow="secondary"] {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--zp-faint) !important;
    letter-spacing: 0.2em !important;
}

html body #main-content .about-academic-shell a[data-publication-link="secondary"] span[data-publication-title="secondary"] {
    color: var(--zp-ink) !important;
    font-size: 17px !important;
    transition: color 200ms ease !important;
}

html body #main-content .about-academic-shell a[data-publication-link="secondary"]:hover span {
    color: var(--zp-emph) !important;
}

html body #main-content .about-academic-shell a[data-publication-link="secondary"] .material-symbols-outlined {
    color: var(--zp-faint) !important;
    transition: color 200ms ease, transform 260ms var(--zp-ease) !important;
}

html body #main-content .about-academic-shell a[data-publication-link="secondary"]:hover .material-symbols-outlined {
    color: var(--zp-emph) !important;
    transform: translateX(4px);
}

html body #main-content .about-academic-shell a[data-publication-link="secondary"] .h-px {
    background: var(--zp-line) !important;
}

html body #main-content .about-academic-shell a[data-publication-link="secondary"]:hover .h-px {
    background: var(--zp-emph) !important;
}

/* 新闻洞察列表：与上方模块左对齐，日期列加宽，标题更易读 */
html body main#main-content section > .max-w-3xl.mx-auto:has(.about-news-list) {
    max-width: none !important;
}

html body #main-content .about-news-list {
    border-top: 1px solid var(--zp-line-strong) !important;
}

html body #main-content .about-news-item {
    grid-template-columns: 180px minmax(0, 1fr) !important;
    gap: 32px !important;
    padding: 22px 0 !important;
    border-bottom: 1px solid var(--zp-line) !important;
    transition: background-color 240ms ease !important;
}

html body #main-content .about-news-category {
    color: var(--zp-emph) !important;
    font-size: 12px !important;
    letter-spacing: 0.12em !important;
}

html body #main-content .about-news-meta,
html body #main-content .about-news-meta > div:not(.about-news-category) {
    color: var(--zp-faint) !important;
    font-size: 13px !important;
}

html body #main-content .about-news-link {
    color: var(--zp-ink) !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    letter-spacing: 0.02em !important;
    background-image: linear-gradient(var(--zp-emph), var(--zp-emph));
    background-size: 0 1px;
    background-repeat: no-repeat;
    background-position: 0 100%;
    transition: color 200ms ease, background-size 360ms var(--zp-ease) !important;
}

html body #main-content .about-news-item:hover .about-news-link,
html body #main-content .about-news-link:hover {
    color: var(--zp-emph) !important;
}

@media (max-width: 640px) {
    html body #main-content .about-news-item {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
        padding: 18px 0 !important;
    }

    html body #main-content .about-news-meta {
        display: flex;
        gap: 12px;
        align-items: baseline;
    }

    html body #main-content .about-news-category {
        margin-bottom: 0 !important;
    }

    html body #main-content .about-news-link {
        font-size: 17px !important;
    }
}

/* ---------- 8. 专业团队 lawyers.html ---------- */
html body.team-directory-page main#main-content > section:first-of-type {
    padding-top: 28px;
    margin-bottom: 24px !important;
}

html body.team-directory-page main#main-content > section:first-of-type h1 {
    font-family: var(--zp-serif) !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    color: var(--zp-ink) !important;
    margin-bottom: 12px !important;
}

html body.team-directory-page main#main-content > section:first-of-type h1 + p {
    color: #55595f !important;
    font-size: 14px !important;
    line-height: 1.75 !important;
    letter-spacing: 0.02em;
}

html body.team-directory-page main#main-content > section:first-of-type .text-cinnabar-red {
    letter-spacing: 0.24em !important;
}

/* 筛选条：更清晰的可点击层级 */
html body.team-directory-page main#main-content > section:nth-of-type(2) {
    padding-bottom: 20px;
    border-bottom: 1px solid var(--zp-line);
    margin-bottom: 56px !important;
}

html body.team-directory-page #main-content [data-lawyer-filter],
html body.team-directory-page #main-content [data-lawyer-reset] {
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    color: var(--zp-muted) !important;
    padding-bottom: 8px !important;
    transition: color 200ms ease, box-shadow 200ms ease !important;
}

html body.team-directory-page #main-content [data-lawyer-filter]:hover,
html body.team-directory-page #main-content [data-lawyer-reset]:hover {
    color: var(--zp-ink) !important;
    box-shadow: inset 0 -1px 0 0 var(--zp-line-strong) !important;
}

html body.team-directory-page #main-content [data-lawyer-filter].filter-active {
    color: var(--zp-ink) !important;
    font-weight: 600 !important;
    box-shadow: inset 0 -2px 0 0 var(--zp-emph) !important;
}

html body.team-directory-page #main-content [data-lawyer-reset] {
    color: var(--zp-faint) !important;
}

html body.team-directory-page main#main-content section .select-none.text-surface-dim {
    color: var(--zp-line-strong) !important;
}

html body.team-directory-page #main-content #lawyer-search {
    border-bottom: 1px solid var(--zp-line-strong) !important;
    color: var(--zp-ink) !important;
    padding-right: 28px !important;
    transition: border-color 200ms ease !important;
}

html body.team-directory-page #main-content #lawyer-search:focus {
    border-bottom-color: var(--zp-ink) !important;
    outline: none !important;
}

html body.team-directory-page #main-content #lawyer-search + .material-symbols-outlined {
    color: var(--zp-muted) !important;
}

html body.team-directory-page #main-content [data-lawyer-page-status] {
    color: var(--zp-faint) !important;
    letter-spacing: 0.08em !important;
}

/* 律师卡片 */
html body.team-directory-page main#main-content [data-lawyer-card] [data-lawyer-photo-frame] {
    background: #f2f3f5 !important;
    border: 0 !important;
    border-radius: var(--zp-radius) !important;
    box-shadow: 0 1px 2px rgba(31, 35, 41, 0.05) !important;
    transition: box-shadow 500ms var(--zp-ease) !important;
}

html body.team-directory-page main#main-content [data-lawyer-card] [data-lawyer-photo-frame]::after {
    display: none !important;
}

html body.team-directory-page main#main-content [data-lawyer-card]:hover [data-lawyer-photo-frame] {
    box-shadow: var(--zp-shadow-hover) !important;
}

html body main#main-content [data-lawyer-card] [data-lawyer-photo-frame] img,
html body main#main-content section [data-lawyer-photo-frame] img {
    filter: none !important;
}

html body.team-directory-page main#main-content [data-lawyer-card] img {
    transition: transform 900ms var(--zp-ease) !important;
}

html body.team-directory-page main#main-content [data-lawyer-card]:hover img {
    transform: scale(1.03) !important;
}

html body.team-directory-page main#main-content [data-lawyer-card] {
    transition: transform 500ms var(--zp-ease) !important;
}

html body.team-directory-page main#main-content [data-lawyer-card]:hover {
    transform: translateY(-4px) !important;
}

html body.team-directory-page main#main-content [data-lawyer-card] > .flex.justify-between {
    border-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 10px !important;
}

html body.team-directory-page main#main-content [data-lawyer-name] {
    font-family: var(--zp-serif) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    color: var(--zp-ink) !important;
    margin-bottom: 4px !important;
}

html body.team-directory-page main#main-content [data-lawyer-card]:hover [data-lawyer-name] {
    color: var(--zp-emph) !important;
}

html body.team-directory-page main#main-content [data-lawyer-role] {
    margin-top: 0 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.04em !important;
    color: var(--zp-faint) !important;
}

html body.team-directory-page main#main-content [data-lawyer-summary] {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    color: var(--zp-muted) !important;
    font-size: 12.5px !important;
    line-height: 1.65 !important;
}

html body.team-directory-page main#main-content [data-lawyer-tags] {
    padding-top: 8px !important;
    border-top: 1px solid var(--zp-line) !important;
    color: #55595f !important;
    font-size: 11px !important;
    letter-spacing: 0.04em !important;
}

html body.team-directory-page main#main-content [data-lawyer-card]:hover [data-lawyer-tags] {
    color: var(--zp-ink) !important;
}

/* 加载更多 */
html body.team-directory-page #main-content [data-lawyer-pagination] {
    border-top: 0 !important;
    padding-top: 24px !important;
    margin-top: 56px !important;
}

html body.team-directory-page #main-content [data-lawyer-pagination] button {
    min-height: 44px;
    padding: 0 28px !important;
    border: 1px solid var(--zp-line-strong) !important;
    border-radius: var(--zp-radius);
    color: var(--zp-ink) !important;
    font-size: 14px !important;
    letter-spacing: 0.12em !important;
    transition: border-color 200ms ease, color 200ms ease, background-color 200ms ease !important;
}

html body.team-directory-page #main-content [data-lawyer-pagination] button:hover:not(:disabled) {
    border-color: var(--zp-ink) !important;
    background: var(--zp-ink) !important;
    color: #fff !important;
}

@media (max-width: 767px) {
    html body.team-directory-page main#main-content > section:first-of-type {
        padding-top: 16px;
    }

    html body.team-directory-page main#main-content > section:nth-of-type(2) {
        margin-bottom: 36px !important;
    }

    html body.team-directory-page main#main-content section .flex.flex-wrap.gap-x-8 {
        column-gap: 20px !important;
        row-gap: 10px !important;
    }
}

/* 统一内容宽：带内边距的 1280 容器按“内容宽 1280”计算，使各区块左缘与页头对齐 */
@media (min-width: 768px) {
    html body main#main-content .max-w-container-max.md\:px-margin-desktop {
        max-width: 1408px !important;
    }

    html body main#main-content .max-w-container-max.px-gutter {
        max-width: 1344px !important;
    }
}

/* ---------- 9. 新闻洞察 news.html ---------- */
html body main#main-content[data-news-page],
html body main#main-content[data-news-page] .news-content-section {
    background: var(--zp-bg) !important;
}



html body main#main-content[data-news-page] .news-editorial-hero .label {
    letter-spacing: 0.24em !important;
    color: rgba(229, 230, 232, 0.8) !important;
}

html body main#main-content[data-news-page] .news-editorial-hero h1 {
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
}

html body main#main-content[data-news-page] .news-editorial-hero p {
    font-size: 16px !important;
    line-height: 1.85 !important;
    letter-spacing: 0.02em !important;
    color: rgba(255, 255, 255, 0.82) !important;
}

html body main#main-content[data-news-page] .news-filter-tab {
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    transition: color 200ms ease !important;
}

html body main#main-content[data-news-page] .news-filter-tab::after {
    transition: background-color 200ms ease !important;
}

html body main#main-content[data-news-page] .news-filter-tab.active {
    font-weight: 600 !important;
}

html body main#main-content[data-news-page] .news-filter-tab.active::after {
    background: #fff !important;
}

html body main#main-content[data-news-page] .news-section-label,
html body main#main-content[data-news-page] .news-sidebar-heading > span {
    color: var(--zp-faint) !important;
    letter-spacing: 0.22em !important;
}

html body main#main-content[data-news-page] .news-results-heading {
    border-bottom: 1px solid var(--zp-line-strong) !important;
}

html body main#main-content[data-news-page] .news-results-heading h2,
html body main#main-content[data-news-page] .news-sidebar-heading h3,
html body main#main-content[data-news-page] .news-search-block label {
    color: var(--zp-ink) !important;
    letter-spacing: 0.06em !important;
}

html body main#main-content[data-news-page] .news-result-count {
    color: var(--zp-faint) !important;
    font-variant-numeric: tabular-nums;
}

html body main#main-content[data-news-page] .news-item-meta {
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
}

html body main#main-content[data-news-page] .news-item-meta time {
    color: var(--zp-faint) !important;
    font-weight: 400 !important;
    font-variant-numeric: tabular-nums;
}

html body main#main-content[data-news-page] .news-feature {
    border-bottom: 1px solid var(--zp-line) !important;
}

html body main#main-content[data-news-page] .news-feature-media,
html body main#main-content[data-news-page] .news-row-media {
    border-radius: var(--zp-radius);
    background: #f2f3f5 !important;
}

html body main#main-content[data-news-page] .news-feature-image,
html body main#main-content[data-news-page] .news-row-image {
    transition: transform 700ms var(--zp-ease) !important;
}

html body main#main-content[data-news-page] .news-feature h3,
html body main#main-content[data-news-page] .news-editorial-row h3 {
    color: var(--zp-ink) !important;
    letter-spacing: 0.02em !important;
}

html body main#main-content[data-news-page] .news-feature h3 {
    font-size: 26px !important;
    line-height: 1.4 !important;
}

html body main#main-content[data-news-page] .news-editorial-row h3 {
    line-height: 1.5 !important;
}

html body main#main-content[data-news-page] .news-feature p,
html body main#main-content[data-news-page] .news-editorial-row p {
    color: var(--zp-muted) !important;
}

html body main#main-content[data-news-page] .news-feature p {
    font-size: 15px !important;
    line-height: 1.9 !important;
}

html body main#main-content[data-news-page] .news-editorial-row {
    border-bottom: 1px solid var(--zp-line) !important;
    padding: 26px 0 !important;
    gap: 28px !important;
    grid-template-columns: 148px minmax(0, 1fr) 24px !important;
}

html body main#main-content[data-news-page] .news-editorial-row:hover h3 a {
    color: var(--zp-emph) !important;
}

html body main#main-content[data-news-page] .news-row-arrow {
    color: var(--zp-faint) !important;
    transition: color 200ms ease, transform 260ms var(--zp-ease) !important;
}

html body main#main-content[data-news-page] .news-editorial-row:hover .news-row-arrow {
    color: var(--zp-emph) !important;
    transform: translate(2px, -2px);
}

html body main#main-content[data-news-page] .news-read-link {
    font-size: 13px !important;
    letter-spacing: 0.12em !important;
}

/* 侧栏 */
html body main#main-content[data-news-page] .news-search-block {
    border-bottom: 1px solid var(--zp-line) !important;
}

html body main#main-content[data-news-page] .news-search-control {
    border-bottom: 1px solid var(--zp-line-strong) !important;
    transition: border-color 200ms ease !important;
}

html body main#main-content[data-news-page] .news-search-control:focus-within {
    border-bottom-color: var(--zp-ink) !important;
}

html body main#main-content[data-news-page] .news-search-control input:focus-visible {
    outline: none !important;
}

html body main#main-content[data-news-page] .news-search-control span {
    color: var(--zp-muted) !important;
}

html body main#main-content[data-news-page] .news-category-rail-button {
    border-bottom: 1px solid var(--zp-line) !important;
    color: #55595f !important;
    font-size: 14px !important;
    padding: 13px 0 !important;
}

html body main#main-content[data-news-page] .news-category-rail-button:hover,
html body main#main-content[data-news-page] .news-category-rail-button.active {
    padding-left: 10px !important;
    color: var(--zp-emph) !important;
    box-shadow: inset 2px 0 0 var(--zp-emph);
}

html body main#main-content[data-news-page] .news-category-rail-button span:last-child {
    color: var(--zp-faint) !important;
    font-variant-numeric: tabular-nums;
}

html body main#main-content[data-news-page] .news-sidebar-note {
    border-top: 1px solid var(--zp-line) !important;
    color: var(--zp-faint) !important;
}

/* 分页 */
html body main#main-content[data-news-page] .news-pagination {
    gap: 8px !important;
    margin-top: 48px !important;
}

html body main#main-content[data-news-page] .news-pagination button {
    min-width: 40px !important;
    height: 40px !important;
    border: 1px solid var(--zp-line) !important;
    border-radius: var(--zp-radius) !important;
    color: var(--zp-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-variant-numeric: tabular-nums;
    transition: border-color 200ms ease, background-color 200ms ease, color 200ms ease !important;
}

html body main#main-content[data-news-page] .news-pagination button:hover:not(:disabled) {
    border-color: var(--zp-ink) !important;
    background: transparent !important;
    color: var(--zp-ink) !important;
}

html body main#main-content[data-news-page] .news-pagination button.active,
html body main#main-content[data-news-page] .news-pagination button.active:hover {
    border-color: var(--zp-emph) !important;
    background: var(--zp-emph) !important;
    color: #fff !important;
}

@media (max-width: 640px) {
    html body main#main-content[data-news-page] .news-feature h3 {
        font-size: 21px !important;
    }

    html body main#main-content[data-news-page] .news-editorial-row {
        grid-template-columns: 96px minmax(0, 1fr) !important;
        gap: 14px !important;
        padding: 18px 0 !important;
    }

    html body main#main-content[data-news-page] .news-editorial-row h3 {
        font-size: 16px !important;
    }

    html body main#main-content[data-news-page] .news-pagination button {
        min-width: 36px !important;
        height: 36px !important;
    }
}

/* ---------- 10. 新闻正文 news-article.html ---------- */
html body #main-content .article-detail-shell {
    padding-top: 32px;
}

html body #main-content .article-breadcrumb {
    color: var(--zp-faint) !important;
    font-size: 13px !important;
    letter-spacing: 0.04em;
}

html body #main-content .article-breadcrumb a {
    color: var(--zp-muted) !important;
    transition: color 200ms ease;
}

html body #main-content .article-breadcrumb a:hover,
html body #main-content .article-detail-back:hover {
    color: var(--zp-emph) !important;
}

html body #main-content .article-detail-back {
    color: var(--zp-body) !important;
    font-size: 14px !important;
    letter-spacing: 0.04em;
    transition: color 200ms ease, transform 260ms var(--zp-ease) !important;
}

html body main#main-content .article-detail-card,
html body main#main-content .article-detail-card:hover {
    border: 0 !important;
}

html body #main-content .article-detail-meta {
    color: var(--zp-faint) !important;
    font-size: 13px !important;
    font-variant-numeric: tabular-nums;
    margin-bottom: 24px !important;
}

html body #main-content .article-detail-category {
    color: var(--zp-emph) !important;
    letter-spacing: 0.16em !important;
}

html body main#main-content .article-detail-title {
    color: var(--zp-ink) !important;
    font-size: var(--zeheng-type-display, 28px) !important;
    line-height: 1.42 !important;
    letter-spacing: 0.03em !important;
    max-width: 720px !important;
}

html body #main-content .article-detail-rule {
    width: 40px !important;
    height: 2px !important;
    background: var(--zp-emph) !important;
    margin-bottom: 52px !important;
}

html body main#main-content .article-body {
    max-width: 700px !important;
    color: var(--zp-body) !important;
    font-size: 17px !important;
    letter-spacing: 0.02em !important;
}

html body main#main-content .article-body p,
html body main#main-content .article-body section,
html body main#main-content .article-body div {
    font-size: 17px !important;
    line-height: 2 !important;
    color: var(--zp-body) !important;
    margin-bottom: 1.3em !important;
}

html body main#main-content .article-body strong,
html body main#main-content .article-body b {
    color: var(--zp-ink) !important;
    font-weight: 600 !important;
}

html body main#main-content .article-body img {
    border-radius: var(--zp-radius) !important;
}

html body main#main-content .article-body a {
    color: var(--zp-emph) !important;
    border-bottom-color: rgba(31, 35, 41, 0.3) !important;
}

html body #main-content .article-cover img,
html body #main-content .article-gallery-grid img {
    border-radius: var(--zp-radius) !important;
}

@media (max-width: 720px) {
    html body #main-content .article-detail-shell {
        padding-top: 8px;
    }

    html body main#main-content .article-body p,
    html body main#main-content .article-body section,
    html body main#main-content .article-body div {
        font-size: 16px !important;
        line-height: 1.95 !important;
    }

    html body main#main-content .article-detail-title {
        font-size: var(--zeheng-type-display, 26px) !important;
    }
}

/* ---------- 11. 律师详情 lawyer-detail.html ---------- */
html body.lawyer-detail-page main#main-content > section:first-of-type,
html body main#main-content > section.pt-20:has([data-lawyer-photo-frame]) {
    padding-top: 112px !important;
    padding-bottom: 56px !important;
}

html body main#main-content > section [data-lawyer-photo-frame],
html body main#main-content > section [data-lawyer-photo-frame]:hover {
    border: 0 !important;
    border-radius: var(--zp-radius) !important;
    background: #f2f3f5 !important;
    box-shadow: var(--zp-shadow-hover) !important;
}

html body main#main-content > section:has([data-lawyer-photo-frame]) h1 {
    font-family: var(--zp-serif) !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    color: var(--zp-ink) !important;
    margin-bottom: 14px !important;
}

html body main#main-content > section:has([data-lawyer-photo-frame]) h1 + p {
    font-style: normal !important;
    font-family: var(--zp-sans) !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em !important;
    color: var(--zp-faint) !important;
}

html body main#main-content > section:has([data-lawyer-photo-frame]) .flex.flex-col.space-y-4 {
    border-top: 1px solid var(--zp-line) !important;
    margin-top: 28px;
    padding-top: 28px !important;
}

html body main#main-content > section:has([data-lawyer-photo-frame]) [data-lawyer-meta] {
    color: var(--zp-body) !important;
    font-size: 15px !important;
    letter-spacing: 0.02em;
}

html body main#main-content > section:has([data-lawyer-photo-frame]) .material-symbols-outlined {
    color: var(--zp-faint) !important;
    font-size: 20px !important;
}

html body main#main-content [data-lawyer-highlights-section] h2,
html body main#main-content article.space-y-6 > h2 {
    color: var(--zp-ink) !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--zp-line);
}

html body main#main-content article.space-y-6 p.font-medium {
    color: var(--zp-body) !important;
    font-weight: 400 !important;
    font-size: 16px !important;
    line-height: 2 !important;
}

html body #main-content [data-lawyer-highlight-card] {
    background: #fff !important;
    border: 1px solid var(--zp-line) !important;
    border-radius: var(--zp-radius) !important;
    padding: 24px 28px !important;
    transition: border-color 300ms ease, box-shadow 400ms var(--zp-ease), transform 400ms var(--zp-ease) !important;
}

html body #main-content [data-lawyer-highlight-card]::before {
    display: none !important;
}

html body #main-content [data-lawyer-highlight-card]:hover {
    background: #fff !important;
    border-color: var(--zp-line-strong) !important;
    box-shadow: var(--zp-shadow-hover) !important;
    transform: translateY(-2px);
}

html body main#main-content [data-lawyer-highlight-card] h3,
html body main#main-content [data-lawyer-highlight-card]:hover h3 {
    color: var(--zp-ink) !important;
    font-size: 19px !important;
    letter-spacing: 0.04em !important;
    font-weight: 600 !important;
}

html body #main-content [data-lawyer-highlight-card] p,
html body #main-content [data-lawyer-highlight-card]:hover p {
    color: var(--zp-muted) !important;
    font-size: 14px !important;
    line-height: 1.8 !important;
}

html body.lawyer-detail-page #main-content .lawyer-practice-panel,
html body #main-content .lawyer-practice-panel {
    background: var(--zp-bg-alt) !important;
    border: 1px solid var(--zp-line) !important;
    border-radius: var(--zp-radius) !important;
}

html body main#main-content .lawyer-practice-panel h3 {
    color: var(--zp-ink) !important;
    border-bottom-color: var(--zp-line) !important;
    letter-spacing: 0.08em !important;
    font-size: 20px !important;
}

html body #main-content .lawyer-practice-panel a {
    color: var(--zp-body) !important;
    font-size: 15px !important;
}

html body #main-content .lawyer-practice-panel a:hover,
html body #main-content .lawyer-practice-panel a:hover span {
    color: var(--zp-emph) !important;
}

@media (max-width: 767px) {
    html body.lawyer-detail-page main#main-content > section:first-of-type,
    html body main#main-content > section.pt-20:has([data-lawyer-photo-frame]) {
        padding-top: 88px !important;
        padding-bottom: 32px !important;
    }

    html body #main-content [data-lawyer-highlight-card] {
        padding: 20px !important;
    }
}

/* 照片保留原色：覆盖 Tailwind 的 grayscale-* 工具类（老板要求律师/环境照片彩色） */
html body main#main-content img,
html body main#main-content img[class*="grayscale"],
html body main#main-content .grayscale,
html body main#main-content .group:hover img {
    filter: none !important;
}

/* 页脚移动端：联系信息独占一行，避免邮箱被挤断 */
@media (max-width: 768px) {
    html body .site-footer .footer-grid > div:nth-child(4) {
        grid-column: 1 / -1 !important;
    }

    html body .site-footer a,
    html body .site-footer li {
        overflow-wrap: normal !important;
    }
}

/* ---------- 12. 业务领域 practice.html ---------- */
html body.nav-theme-practice main#main-content > section:first-of-type {
    margin-top: 48px !important;
}

html body.nav-theme-practice main#main-content .practice-panel h1,
html body.nav-theme-practice main#main-content .practice-panel h2,
html body.nav-theme-practice main#main-content section h2 {
    color: var(--zp-ink) !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
}

html body.nav-theme-practice main#main-content .practice-panel > p,
html body.nav-theme-practice main#main-content section p.font-body-md {
    color: #55595f !important;
}

html body.nav-theme-practice main#main-content h3.text-cinnabar-red {
    color: var(--zp-ink) !important;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--zp-line);
}

html body.nav-theme-practice main#main-content .text-cinnabar-red\/70 {
    color: var(--zp-faint) !important;
    font-variant-numeric: tabular-nums;
}

html body.nav-theme-practice main#main-content section .border-b,
html body.nav-theme-practice main#main-content section .border-t,
html body.nav-theme-practice main#main-content .h-px {
    border-color: var(--zp-line) !important;
}

html body.nav-theme-practice main#main-content .h-px {
    background: var(--zp-line) !important;
}

html body.nav-theme-practice main#main-content section img {
    border-radius: var(--zp-radius);
}

html body.nav-theme-practice main#main-content .py-6.border-b {
    transition: background-color 240ms ease !important;
}

html body.nav-theme-practice main#main-content .py-6.border-b:hover h3 {
    color: var(--zp-emph) !important;
}

/* ---------- 13. 联系我们 contact.html ---------- */
html body.nav-theme-office main#main-content .text-muted-gold {
    color: var(--zp-emph) !important;
}

html body.nav-theme-office main#main-content .contact-spotlight-hero .text-muted-gold {
    color: rgba(229, 230, 232, 0.8) !important;
    letter-spacing: 0.24em !important;
}

html body.nav-theme-office main#main-content .contact-spotlight-hero h1 {
    letter-spacing: 0.12em !important;
    font-weight: 600 !important;
}

html body.nav-theme-office main#main-content h2 {
    color: var(--zp-ink) !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
}

html body.nav-theme-office main#main-content .text-surface-container-highest {
    color: var(--zp-line-strong) !important;
}

html body.nav-theme-office main#main-content form[data-contact-form] input,
html body.nav-theme-office main#main-content form[data-contact-form] textarea,
html body.nav-theme-office main#main-content form[data-contact-form] select {
    border-bottom: 1px solid var(--zp-line-strong) !important;
    color: var(--zp-ink) !important;
    font-size: 16px !important;
    transition: border-color 200ms ease !important;
}

html body.nav-theme-office main#main-content form[data-contact-form] input:focus,
html body.nav-theme-office main#main-content form[data-contact-form] textarea:focus,
html body.nav-theme-office main#main-content form[data-contact-form] select:focus {
    border-bottom-color: var(--zp-ink) !important;
    outline: none !important;
}

html body.nav-theme-office main#main-content form[data-contact-form] .input-focus-line {
    background: var(--zp-emph) !important;
}

html body.nav-theme-office main#main-content form[data-contact-form] button[type="submit"],
html body.nav-theme-office main#main-content form[data-contact-form] button.bg-ink-charcoal {
    min-height: 48px;
    padding: 0 32px !important;
    letter-spacing: 0.16em !important;
}

html body.nav-theme-office main#main-content .consultation-notice {
    color: var(--zp-muted) !important;
    font-size: 13px !important;
    line-height: 1.85 !important;
    border-top: 1px solid var(--zp-line) !important;
}

html body.nav-theme-office main#main-content [data-hiring-card] {
    background: #fff !important;
    border: 1px solid var(--zp-line) !important;
    border-radius: var(--zp-radius) !important;
    transition: border-color 260ms ease, box-shadow 400ms var(--zp-ease), transform 400ms var(--zp-ease) !important;
}

html body.nav-theme-office main#main-content [data-hiring-card]:hover {
    border-color: var(--zp-line-strong) !important;
    box-shadow: var(--zp-shadow-hover) !important;
    transform: translateY(-2px);
}

html body.nav-theme-office main#main-content [data-hiring-card] h3 {
    color: var(--zp-ink) !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
}

/* ---------- 14. 动效偏好：尊重系统“减少动态效果” ---------- */
@media (prefers-reduced-motion: reduce) {
    html body *,
    html body *::before,
    html body *::after {
        transition-duration: 1ms !important;
        animation-duration: 1ms !important;
    }
}


/* ---------- 15. 设计检查（Impeccable detect）修正 ---------- */
/* 对齐方式：两端对齐只用于中文正文段落；标题、标签、导航、页脚一律左对齐，避免字距被拉散 */
html body,
html body li,
html body article,
html body .site-footer,
html body .site-footer p {
    text-align: start;
}

html body main#main-content .text-center,
html body main#main-content .text-center li {
    text-align: center;
}

/* 压在浅色照片上的导航文字加柔和投影，保证可读 */
html body .site-header.is-over-hero:not(.is-scrolled) .main-nav a,
html body .site-header.is-over-hero:not(.is-scrolled) .brand-text {
    text-shadow: 0 1px 10px rgba(31, 35, 41, 0.55);
}

/* 律师页状态提示、业务页清单文字：提升到 AA 对比度 */
html body.team-directory-page main#main-content [data-lawyer-page-status] {
    color: var(--zp-faint) !important;
}

html body.nav-theme-practice main#main-content section ul li,
html body.nav-theme-practice main#main-content section ul li span {
    color: #55595f !important;
}

/* 新闻正文页“延伸阅读”卡片（脚本内联样式，CSS 收口为同一色板） */
html body main#main-content .related-news-section a[href^="news-article.html"] {
    background: #fff !important;
    border: 1px solid var(--zp-line) !important;
    border-radius: var(--zp-radius) !important;
}

html body main#main-content .related-news-section a[href^="news-article.html"]:hover {
    border-color: var(--zp-line-strong) !important;
    box-shadow: var(--zp-shadow-hover) !important;
}

html body main#main-content .related-news-section span[style*="c9a56f"] {
    color: var(--zp-emph) !important;
}

html body main#main-content .related-news-section > div:first-child span {
    color: var(--zp-faint) !important;
}

html body main#main-content .related-news-section h4 {
    color: var(--zp-ink) !important;
    font-weight: 600 !important;
}

html body main#main-content .related-news-section p {
    color: var(--zp-muted) !important;
    text-align: start;
}

html body main#main-content .article-breadcrumb span[style*="c9a56f"] {
    color: var(--zp-hint) !important;
}

/* 404：两枚按钮统一字体与尺寸 */
html body main#main-content .btn {
    font-family: var(--zp-sans) !important;
    font-size: 14px !important;
    letter-spacing: 0.12em !important;
    font-weight: 500 !important;
}

/* 联系页：地址/邮箱等含西文的短段落左对齐，避免两端对齐拉开字距 */
html body main#main-content .flex.items-start p {
    text-align: start;
}


/* ==========================================================================
   第二轮精修（ui-polish-2）：首屏、人物照片、新闻配图、克制动效、390 移动端
   仅追加覆盖，不改结构与内容；色板仍为白 / 灰 / 石板灰 + 酒红 #79171C。
   ========================================================================== */

/* ---------- 16. 首页 / 关于泽亨首屏：提亮夜景，保留标题可读性 ---------- */
/* 照片：轻微提亮、略收青色饱和度（仍为彩色），取景上移让天际线落在标题下方 */
html body main#main-content .about-hero picture img {
    filter: brightness(1.1) saturate(0.88) contrast(1.03) !important;
    object-position: center 8% !important;
}

/* 原 70% 正片叠底的深色蒙层 → 26% 石板灰薄纱 */
html body main#main-content .about-hero > .absolute.inset-0 > div:nth-of-type(1) {
    background: rgba(31, 35, 41, 0.26) !important;
    mix-blend-mode: normal !important;
}

/* 原自下而上的满幅深色渐变 → 顶部保导航、底部收边、标题后方局部柔光压暗 */
html body main#main-content .about-hero > .absolute.inset-0 > div:nth-of-type(2) {
    background:
        radial-gradient(ellipse 46% 34% at 50% 46%, rgba(31, 35, 41, 0.5), rgba(31, 35, 41, 0.18) 60%, rgba(31, 35, 41, 0) 100%),
        linear-gradient(180deg, rgba(31, 35, 41, 0.6) 0%, rgba(31, 35, 41, 0) 20%, rgba(31, 35, 41, 0) 62%, rgba(31, 35, 41, 0.5) 100%) !important;
    opacity: 1 !important;
}

html body #main-content .about-hero p {
    text-shadow: 0 1px 12px rgba(31, 35, 41, 0.6);
}

@media (max-width: 700px) {
    html body main#main-content .about-hero > .absolute.inset-0 > div:nth-of-type(2) {
        background:
            radial-gradient(ellipse 80% 36% at 50% 46%, rgba(31, 35, 41, 0.5), rgba(31, 35, 41, 0.16) 65%, rgba(31, 35, 41, 0) 100%),
            linear-gradient(180deg, rgba(31, 35, 41, 0.6) 0%, rgba(31, 35, 41, 0) 22%, rgba(31, 35, 41, 0) 62%, rgba(31, 35, 41, 0.55) 100%) !important;
    }
}

/* 唯一的“入场时刻”：首屏照片极轻微地由 1.04 落定到 1，标题随后浮现。
   纯 CSS，无需脚本；系统开启“减少动态效果”时完全不播放。 */
@media (prefers-reduced-motion: no-preference) {
    html body main#main-content .about-hero picture img {
        animation: zp-hero-settle 2.2s var(--zp-ease) both;
        transform-origin: 50% 40%;
    }

    html body main#main-content .about-hero > .relative.z-10 {
        animation: zp-rise 1.1s var(--zp-ease) 0.15s both;
    }
}

@keyframes zp-hero-settle {
    from { transform: scale(1.04); }
    to { transform: scale(1); }
}

@keyframes zp-rise {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: none; }
}

/* ---------- 17. 律师照片：统一 3:4、同一底色与细边、面部靠上 ---------- */
/* 浅石板灰底 + 照片“正片叠底”：白底与灰底肖像统一融入同一底色，人物色彩不变 */
html body main#main-content [data-lawyer-photo-frame],
html body main#main-content .team-card-photo {
    isolation: isolate;
    background: #f2f3f5 !important;
}

html body main#main-content [data-lawyer-photo-frame] img,
html body main#main-content .team-card-photo img,
html body main#main-content .lawyer-mini-card img {
    mix-blend-mode: multiply;
}

/* 专业团队列表：照片铺满栅格列宽，与标题、筛选条左缘对齐 */
html body.team-directory-page main#main-content [data-lawyer-card] [data-lawyer-photo-frame] {
    width: 100% !important;
    margin: 0 0 10px !important;
    aspect-ratio: 3 / 4 !important;
    border-radius: var(--zp-radius) !important;
    border: 0 !important;
    box-shadow: inset 0 0 0 1px rgba(31, 35, 41, 0.06) !important;
    outline: 1px solid rgba(31, 35, 41, 0.06);
    outline-offset: -1px;
}

html body.team-directory-page main#main-content [data-lawyer-card] > :not([data-lawyer-photo-frame]) {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

html body.team-directory-page main#main-content [data-lawyer-card]:hover [data-lawyer-photo-frame] {
    box-shadow: var(--zp-shadow-hover) !important;
}

html body.team-directory-page main#main-content [data-lawyer-card] img {
    transform-origin: 50% 20% !important;
}

html body.team-directory-page main#main-content [data-lawyer-card]:hover {
    transform: translateY(-3px) !important;
}

html body.team-directory-page main#main-content [data-lawyer-card] [data-lawyer-name] {
    transition: color 240ms ease !important;
}

/* 律师详情：与列表同一底色，阴影收轻 */
html body.lawyer-detail-page main#main-content > section [data-lawyer-photo-frame],
html body main#main-content > section.pt-20 [data-lawyer-photo-frame] {
    aspect-ratio: 3 / 4 !important;
    box-shadow: 0 1px 2px rgba(31, 35, 41, 0.05), 0 18px 40px -12px rgba(31, 35, 41, 0.18) !important;
    outline: 1px solid rgba(31, 35, 41, 0.06);
    outline-offset: -1px;
}

/* 业务详情页“关联律师”头像：同底色、面部居上、细描边，悬停时描边转为酒红 */
html body main#main-content .lawyer-mini-card img {
    background: #f2f3f5 !important;
    object-fit: cover !important;
    object-position: center 18% !important;
    box-shadow: 0 0 0 1px var(--zp-line), 0 0 0 4px #fff, 0 0 0 5px transparent !important;
    transition: box-shadow 300ms var(--zp-ease) !important;
}

html body main#main-content .lawyer-mini-card:hover img {
    box-shadow: 0 0 0 1px var(--zp-line), 0 0 0 4px #fff, 0 0 0 5px rgba(31, 35, 41, 0.45) !important;
}

/* ---------- 18. 新闻配图：统一 3:2 裁切；无图时显示克制的品牌占位 ---------- */
html body main#main-content[data-news-page] .news-feature-media,
html body main#main-content[data-news-page] .news-row-media {
    aspect-ratio: 3 / 2 !important;
    position: relative;
    isolation: isolate;
}

html body main#main-content[data-news-page] .news-feature-media::after,
html body main#main-content[data-news-page] .news-row-media::after {
    content: "";
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 1px rgba(31, 35, 41, 0.06);
    pointer-events: none;
}

html body main#main-content[data-news-page] .news-feature-image,
html body main#main-content[data-news-page] .news-row-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

html body main#main-content[data-news-page] .news-image-placeholder {
    position: relative;
    background-color: #f2f3f5 !important;
    background-image: linear-gradient(180deg, #f2f3f5, #edeef0) !important;
}

html body main#main-content[data-news-page] .news-image-placeholder::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 18%;
    max-width: 44px;
    aspect-ratio: 642 / 1059;
    transform: translate(-50%, -50%);
    background: url("assets/zeheng-logo-2.png") center / contain no-repeat;
    opacity: 0.22;
}

/* 新闻正文“延伸阅读”：正文栏较窄，三张卡片改为单列，避免 2+1 的孤卡 */
html body main#main-content .related-news-section > div:last-child {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
}

html body main#main-content .related-news-section a[href^="news-article.html"] {
    padding: 20px 24px !important;
    transition: border-color 240ms ease, box-shadow 400ms var(--zp-ease), transform 400ms var(--zp-ease) !important;
}

html body main#main-content .related-news-section a[href^="news-article.html"]:hover h4 {
    color: var(--zp-emph) !important;
}

html body main#main-content .related-news-section h4 {
    transition: color 200ms ease;
}

/* 正文插图：居中、细边，避免不同尺寸配图贴边 */
html body main#main-content .article-body figure,
html body main#main-content .article-body p > img:only-child {
    margin-top: 28px !important;
    margin-bottom: 28px !important;
}

html body main#main-content .article-body img {
    display: block;
    max-width: 100% !important;
    height: auto !important;
    margin-left: auto;
    margin-right: auto;
    background: #f2f3f5;
}

/* ---------- 19. 克制动效：滚动浮现更短更轻，按钮按压反馈 ---------- */
/* 沿用站点既有 .reveal 机制（由脚本添加类；脚本未运行时内容始终可见） */
@media (prefers-reduced-motion: no-preference) {
    html body .reveal {
        transform: translate3d(0, 16px, 0);
        transition: opacity 0.8s var(--zp-ease), transform 0.9s var(--zp-ease);
    }

    html body .reveal.visible {
        transform: none;
    }

    html body main#main-content :is(a[data-publication-link="primary"], .cta-btn, .btn-outline, .cta-btn-primary, button[type="submit"], .btn):active {
        transform: translateY(1px);
    }
}

html body main#main-content .about-news-item,
html body main#main-content .about-news-link {
    transition: color 200ms ease, background-color 240ms ease !important;
}

/* ---------- 20. 390 移动端细节 ---------- */
@media (max-width: 768px) {
    /* 底部咨询栏：顶部细线更轻、按压态、为全面屏留出安全区 */
    html body #zeheng-mobile-bar {
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        box-shadow: 0 -1px 0 rgba(31, 35, 41, 0.04), 0 -8px 24px rgba(31, 35, 41, 0.06) !important;
    }

    html body #zeheng-mobile-bar .zmb-btn {
        gap: 4px !important;
        font-weight: 500 !important;
        transition: background-color 160ms ease !important;
    }

    html body #zeheng-mobile-bar .zmb-btn.zmb-phone:active {
        background: var(--zp-accent-hover) !important;
    }

    /* 全屏菜单：左对齐、行高更从容，当前页以酒红细线标识 */
    html body .mobile-menu {
        padding: 104px 28px 40px !important;
    }

    html body .mobile-menu a {
        text-align: left !important;
        font-size: 20px !important;
        letter-spacing: 0.14em !important;
        padding: 20px 2px !important;
        border-bottom-color: rgba(255, 255, 255, 0.1) !important;
        transition: color 200ms ease, padding-left 300ms var(--zp-ease) !important;
    }

    html body .mobile-menu a:active {
        padding-left: 8px !important;
    }
}

@media (max-width: 767px) {
    /* 专业团队：单列时照片不再缩到 88%，与文字同宽 */
    html body.team-directory-page main#main-content [data-lawyer-card] [data-lawyer-photo-frame],
    html body.team-directory-page main#main-content [data-lawyer-card] > :not([data-lawyer-photo-frame]) {
        width: 100% !important;
    }

    html body.team-directory-page main#main-content [data-lawyer-name] {
        font-size: 22px !important;
    }

    /* 律师详情：照片与正文同宽 */
    html body.lawyer-detail-page main#main-content > section [data-lawyer-photo-frame] {
        max-width: 100% !important;
    }
}

@media (max-width: 640px) {
    html body main#main-content[data-news-page] .news-editorial-row {
        grid-template-columns: 104px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    html body main#main-content[data-news-page] .news-row-media {
        align-self: start;
    }

    html body main#main-content .related-news-section a[href^="news-article.html"] {
        padding: 18px !important;
    }
}


/* ==========================================================================
   中性方案（ui-neutral）：OA / 官网 / 小程序共用中性灰
   墨色 #1F2329（标题、页脚）/ 正文 #3A3F45 / 次要 #55595F / 弱化 #6B7075（白底 5.0:1，AA）
   线 #E5E6E8 / 浅底 #F2F3F5。酒红 #79171C 仅保留：Logo 印章、移动端底栏拨号按钮、错误态。
   ========================================================================== */

/* ---------- 18. 编译后 Tailwind 工具类：石板灰 → 中性灰；点缀红 → 墨色（不重新编译） ---------- */
.border-ink-charcoal{border-color:rgb(43 47 53/var(--tw-border-opacity,1))}
.border-muted-gold{border-color:rgb(31 35 41/var(--tw-border-opacity,1))}
.border-outline-variant\/30{border-color:rgba(211,213,216,.3)}
.border-outline-variant\/60{border-color:rgba(211,213,216,.6)}
.border-primary-container{border-color:rgb(31 35 41/var(--tw-border-opacity,1))}
.border-surface-container{border-color:rgb(242 243 245/var(--tw-border-opacity,1))}
.border-surface-container-highest{border-color:rgb(229 230 232/var(--tw-border-opacity,1))}
.border-surface-dim{border-color:rgb(211 213 216/var(--tw-border-opacity,1))}
.border-surface-variant{border-color:rgb(229 230 232/var(--tw-border-opacity,1))}
.border-surface-variant\/20{border-color:rgba(229,230,232,.2)}
.border-surface-variant\/50{border-color:rgba(229,230,232,.5)}
.bg-cinnabar-red{background-color:rgb(31 35 41/var(--tw-bg-opacity,1))}
.bg-cinnabar-red\/30{background-color:rgba(31,35,41,.3)}
.bg-deep-blue{background-color:rgb(31 35 41/var(--tw-bg-opacity,1))}
.bg-ink-charcoal{background-color:rgb(43 47 53/var(--tw-bg-opacity,1))}
.bg-muted-gold\/30{background-color:rgba(31,35,41,.3)}
.bg-outline-variant\/20{background-color:rgba(211,213,216,.2)}
.bg-outline-variant\/60{background-color:rgba(211,213,216,.6)}
.bg-primary-container\/70{background-color:rgba(31,35,41,.7)}
.bg-secondary{background-color:rgb(31 35 41/var(--tw-bg-opacity,1))}
.bg-surface-container{background-color:rgb(242 243 245/var(--tw-bg-opacity,1))}
.bg-surface-container-highest{background-color:rgb(229 230 232/var(--tw-bg-opacity,1))}
.bg-surface-container-low{background-color:rgb(242 243 245/var(--tw-bg-opacity,1))}
.bg-surface-dim{background-color:rgb(211 213 216/var(--tw-bg-opacity,1))}
.from-deep-blue{--tw-gradient-from:#1f2329 var(--tw-gradient-from-position);--tw-gradient-to:rgba(31,35,41,0) var(--tw-gradient-to-position)}
.from-primary-container{--tw-gradient-from:#1f2329 var(--tw-gradient-from-position);--tw-gradient-to:rgba(31,35,41,0) var(--tw-gradient-to-position)}
.text-cinnabar-red{color:rgb(31 35 41/var(--tw-text-opacity,1))}
.text-cinnabar-red\/70{color:rgba(31,35,41,.7)}
.text-ink-charcoal{color:rgb(43 47 53/var(--tw-text-opacity,1))}
.text-muted-gold{color:rgb(31 35 41/var(--tw-text-opacity,1))}
.text-muted-gold\/20{color:rgba(31,35,41,.2)}
.text-on-background{color:rgb(31 35 41/var(--tw-text-opacity,1))}
.text-on-surface{color:rgb(31 35 41/var(--tw-text-opacity,1))}
.text-on-surface-variant{color:rgb(85 89 95/var(--tw-text-opacity,1))}
.text-on-surface-variant\/75{color:rgba(85,89,95,.75)}
.text-outline{color:rgb(107 112 117/var(--tw-text-opacity,1))}
.text-primary-container{color:rgb(31 35 41/var(--tw-text-opacity,1))}
.text-secondary{color:rgb(31 35 41/var(--tw-text-opacity,1))}
.text-surface-container-highest{color:rgb(229 230 232/var(--tw-text-opacity,1))}
.text-surface-dim{color:rgb(211 213 216/var(--tw-text-opacity,1))}
.text-surface-variant{color:rgb(229 230 232/var(--tw-text-opacity,1))}
.placeholder-on-surface-variant::-moz-placeholder{color:rgb(85 89 95/var(--tw-placeholder-opacity,1))}
.placeholder-on-surface-variant::placeholder{color:rgb(85 89 95/var(--tw-placeholder-opacity,1))}
.selection\:bg-muted-gold ::-moz-selection{background-color:rgb(31 35 41/var(--tw-bg-opacity,1))}
.selection\:bg-muted-gold ::selection{background-color:rgb(31 35 41/var(--tw-bg-opacity,1))}
.selection\:bg-muted-gold::-moz-selection{background-color:rgb(31 35 41/var(--tw-bg-opacity,1))}
.selection\:bg-muted-gold::selection{background-color:rgb(31 35 41/var(--tw-bg-opacity,1))}
.placeholder\:text-surface-dim::-moz-placeholder{color:rgb(211 213 216/var(--tw-text-opacity,1))}
.placeholder\:text-surface-dim::placeholder{color:rgb(211 213 216/var(--tw-text-opacity,1))}
.hover\:border-muted-gold:hover{border-color:rgb(31 35 41/var(--tw-border-opacity,1))}
.hover\:bg-ink-charcoal:hover{background-color:rgb(43 47 53/var(--tw-bg-opacity,1))}
.hover\:bg-muted-gold:hover{background-color:rgb(31 35 41/var(--tw-bg-opacity,1))}
.hover\:bg-primary-container:hover{background-color:rgb(31 35 41/var(--tw-bg-opacity,1))}
.hover\:text-cinnabar-red:hover{color:rgb(31 35 41/var(--tw-text-opacity,1))}
.hover\:text-ink-charcoal:hover{color:rgb(43 47 53/var(--tw-text-opacity,1))}
.hover\:text-muted-gold:hover{color:rgb(31 35 41/var(--tw-text-opacity,1))}
.focus\:border-muted-gold:focus{border-color:rgb(31 35 41/var(--tw-border-opacity,1))}
.focus\:border-on-background:focus{border-color:rgb(31 35 41/var(--tw-border-opacity,1))}
.group:hover .group-hover\:bg-secondary\/50{background-color:rgba(31,35,41,.5)}
.group:hover .group-hover\:text-cinnabar-red{color:rgb(31 35 41/var(--tw-text-opacity,1))}
.group:hover .group-hover\:text-muted-gold{color:rgb(31 35 41/var(--tw-text-opacity,1))}
.group:hover .group-hover\:text-secondary{color:rgb(31 35 41/var(--tw-text-opacity,1))}
@media (min-width:768px){.md\:border-outline-variant\/60{border-color:rgba(211,213,216,.6)}}

/* ---------- 19. 强调色收口：中灰标签 / 墨色交互态 ---------- */
html body.team-directory-page main#main-content [data-lawyer-role],
html body main#main-content .lawyer-mini-card .lm-role {
    color: var(--zp-faint) !important;
}

/* 律师详情：姓名下方的执业领域 → 浅灰底深灰字的标签 */
html body main#main-content > section:has([data-lawyer-photo-frame]) h1 + p {
    display: inline-block !important;
    color: var(--zp-body) !important;
    background: var(--zp-bg-alt) !important;
    border: 1px solid var(--zp-line) !important;
    border-radius: var(--zp-radius) !important;
    padding: 6px 14px !important;
    font-size: 14px !important;
    letter-spacing: 0.08em !important;
}

/* 新闻列表日期与分类、文章分类与面包屑：中灰 */
html body main#main-content[data-news-page] .news-item-meta,
html body main#main-content[data-news-page] .news-item-meta span,
html body #main-content .about-news-meta,
html body #main-content .about-news-category,
html body #main-content .article-detail-category,
html body #main-content .article-breadcrumb span {
    color: var(--zp-faint) !important;
}

/* 新闻列表：阅读链接、箭头、搜索图标、分类栏、分页 → 墨色 / 中灰 */
html body main#main-content[data-news-page] .news-read-link,
html body main#main-content[data-news-page] .news-read-link span {
    color: var(--zp-ink) !important;
    border-bottom-color: var(--zp-ink) !important;
}

html body main#main-content[data-news-page] .news-row-arrow,
html body main#main-content[data-news-page] .news-search-control span {
    color: var(--zp-faint) !important;
}

html body main#main-content[data-news-page] .news-category-rail-button.active span:last-child {
    color: var(--zp-ink) !important;
}

html body main#main-content[data-news-page] .news-pagination button {
    border-color: var(--zp-line) !important;
    color: var(--zp-body) !important;
}

html body main#main-content[data-news-page] .news-pagination button:hover:not(.active) {
    border-color: var(--zp-ink) !important;
    color: var(--zp-ink) !important;
}

html body main#main-content[data-news-page] .news-pagination button.active,
html body main#main-content[data-news-page] .news-pagination button.active:hover {
    color: #fff !important;
}

/* 新闻文章页：脚本内联的红色小字（推荐阅读 / 阅读全文 / 分类）→ 中灰；“查看全部”→ 墨色 */
html body main#main-content [style*="8b1416"] {
    color: var(--zp-faint) !important;
}

html body main#main-content .related-news-section a[href="news.html"] {
    color: var(--zp-ink) !important;
}

/* 首屏标题下短横线：深色首屏上用半透明白 */
html body #main-content .about-hero h1 + div {
    background: rgba(255, 255, 255, 0.72) !important;
}

/* 移动端咨询弹窗：仅“直接拨打”保留酒红；复制按钮悬停与顶边改为墨色 */
@media (max-width: 768px) {
    html body #zmb-modal {
        background: rgba(10, 11, 13, 0.72) !important;
    }

    html body #zmb-modal .zmb-copy-box {
        background: var(--zp-bg-alt) !important;
        border-color: var(--zp-line-strong) !important;
    }

    html body #zmb-modal .zmb-qr-wrap {
        border-color: var(--zp-line) !important;
    }

    html body #zmb-modal .zmb-copy-val {
        color: var(--zp-ink) !important;
    }

    html body #zmb-modal .zmb-copy-btn:hover {
        background: var(--zp-emph-hover) !important;
    }

    html body #zmb-modal .zmb-modal-header {
        border-bottom-color: rgba(255, 255, 255, 0.12) !important;
    }
}

/* 错误态：统一为酒红（与 OA / 小程序一致） */
html body [data-contact-status].text-cinnabar-red,
html body .form-status.is-error,
html body .field-error,
html body .required {
    color: var(--zp-accent) !important;
}

html body .field.is-invalid input,
html body .field.is-invalid textarea,
html body main#main-content [aria-invalid="true"] {
    border-color: var(--zp-accent) !important;
}

/* ---------- 20. 律师列表计数：加深、略放大 ---------- */
html body.team-directory-page main#main-content [data-lawyer-page-status],
html body.team-directory-page main#main-content [data-lawyer-page-status]:not(:empty) {
    opacity: 1 !important;
    color: var(--zp-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0.06em !important;
    top: -1.6rem !important;
}

/* ---------- 21. 首屏副标题后方的柔和暗角（仅 CSS，不加内容） ---------- */
html body main#main-content .about-hero > .relative.z-10 {
    isolation: isolate;
}

html body main#main-content .about-hero > .relative.z-10::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 58%;
    width: min(880px, 118%);
    height: 82%;
    transform: translate(-50%, -50%);
    background: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(20, 22, 26, 0.62) 0%, rgba(20, 22, 26, 0.38) 50%, rgba(20, 22, 26, 0) 100%);
    pointer-events: none;
}

@media (max-width: 700px) {
    html body main#main-content .about-hero > .relative.z-10::before {
        width: 128%;
        height: 92%;
        top: 60%;
        background: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(20, 22, 26, 0.62) 0%, rgba(20, 22, 26, 0.38) 55%, rgba(20, 22, 26, 0) 100%);
    }
}

/* ---------- 22. 版块英文小标签 → 中灰；页面内联样式中残留的点缀红 / 石板灰 ---------- */
html body main#main-content span.font-label-caps.text-cinnabar-red,
html body #main-content .about-section-tag,
html body #main-content .about-section-tag > span,
html body #main-content .about-stitch-intro-kicker,
html body main#main-content .section .container > span.label {
    color: var(--zp-faint) !important;
}

html body #main-content .about-section-tag::before,
html body #main-content .about-stitch-intro-kicker::before {
    background: var(--zp-line-strong) !important;
}

html body .thin-line-hover:hover {
    box-shadow: inset 0 -1px 0 0 var(--zp-emph) !important;
}

html body #main-content .academic-publications-list::before,
html body #main-content .about-stitch-intro-title::before,
html body main#main-content li.practice-list-square::before {
    background: var(--zp-emph) !important;
}

html body #main-content .academic-publication-item:hover h3,
html body #main-content .about-stitch-principle h3 {
    color: var(--zp-ink) !important;
}

html body #main-content .about-principles-heading::after {
    color: var(--zp-faint) !important;
}

html body #main-content .about-stitch-principle::before {
    color: rgba(31, 35, 41, 0.1) !important;
}

html body main#main-content [style*="071526"] {
    color: var(--zp-ink) !important;
}

html body main#main-content > div[style*="15, 23, 42"] {
    color: rgba(31, 35, 41, 0.035) !important;
}

html body main#main-content > section[style*="15, 23, 42"] {
    border-top-color: rgba(31, 35, 41, 0.18) !important;
}

html body main#main-content .article-body a {
    border-bottom-color: rgba(31, 35, 41, 0.3) !important;
}

@media (max-width: 768px) {
    html body #zmb-modal .zmb-tip {
        color: var(--zp-faint) !important;
    }

    html body #zmb-modal .zmb-modal-close {
        color: rgba(255, 255, 255, 0.6) !important;
    }
}

/* ---------- 23. 首页首屏“预约咨询”按钮：实心白底墨色字，悬停浅灰白，不用红 ---------- */
html body main#main-content .about-hero .zp-hero-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 48px;
    height: 48px;
    margin-top: 36px;
    padding: 0 32px;
    border: 1px solid #fff;
    border-radius: var(--zp-radius);
    background: #fff;
    color: #1F2329 !important;
    font-family: var(--zp-sans);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.12em;
    text-decoration: none !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    transition: background-color 220ms var(--zp-ease), border-color 220ms var(--zp-ease), box-shadow 220ms var(--zp-ease);
}

html body main#main-content .about-hero .zp-hero-cta span {
    color: inherit !important;
}

html body main#main-content .about-hero .zp-hero-cta:hover {
    background: #F2F3F5;
    border-color: #F2F3F5;
    color: #1F2329 !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
}

html body main#main-content .about-hero .zp-hero-cta:active {
    background: #E5E6E8;
    border-color: #E5E6E8;
    color: #1F2329 !important;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18);
}

html body main#main-content .about-hero .zp-hero-cta:focus-visible {
    outline: 2px solid #fff !important;
    outline-offset: 4px !important;
}

@media (max-width: 700px) {
    html body main#main-content .about-hero .zp-hero-cta {
        margin-top: 28px;
        min-height: 48px;
        height: 48px;
        padding: 0 32px;
        font-size: 16px;
    }
}

/* ---------- 24. 律师详情：隐藏姓名下方重复的执业领域标签（全部宽度） ----------
   姓名下 h1 + p 只是前 3 个领域，与下方信息行 [data-lawyer-meta="tags"]（完整领域）及“业务领域”面板重复；
   桌面与移动端均只保留信息行。 */
html body.lawyer-detail-page main#main-content > section:has([data-lawyer-photo-frame]) h1 + p {
    display: none !important;
}

/* ---------- 25. 标签去“胶囊”：小标签一律改为纯灰色文字，以“ / ”分隔 ----------
   业务实务页“关联律师”卡片 .lawyer-mini-card .lm-tags（静态 HTML 与 zeheng-lawyer-pages.js 渲染的同一结构）：
   原为浅墨底色 + 内边距小方块；现无底色、无描边、无内边距，每项不断行，整体居中按项换行，分隔符挂在前一项末尾。 */
html body main#main-content .lawyer-mini-card .lm-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 2px 0 !important;
    margin-top: 10px !important;
    color: #55595F !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
    letter-spacing: 0.04em !important;
}

html body main#main-content .lawyer-mini-card .lm-tags span {
    display: inline !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: inherit !important;
    font-size: inherit !important;
    white-space: nowrap !important;
}

html body main#main-content .lawyer-mini-card .lm-tags span:not(:last-child)::after {
    content: "/";
    margin: 0 0.5em;
    color: #9A9EA3;
}
