/* 浙江泰嘉律师事务所 PC 模版 */
:root {
	--ink: #1c1915;
	--ink-soft: #2a2622;
	--red: #b42318;
	--red-deep: #8c1c14;
	--paper: #f6f3ee;
	--paper-2: #efeae3;
	--card: #ffffff;
	--line: #e5dfd6;
	--muted: #6f6860;
	--text: #2e2a26;
	--gold: #8d7352;
	--shadow: 0 16px 40px rgba(28, 25, 21, 0.08);
	--wrap: 1160px;
	--serif: "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", "SimSun", serif;
	--sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	color: var(--text);
	background: #fff;
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.75;
}
img { max-width: 100%; height: auto; vertical-align: middle; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font-family: inherit; }
p { margin: 0 0 0.8em; }
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 600; line-height: 1.35; margin: 0; }

.tj-wrap {
	width: min(var(--wrap), calc(100% - 40px));
	margin: 0 auto;
}

/* header */
.tj-topbar {
	background: var(--ink);
	color: rgba(255, 255, 255, 0.78);
	font-size: 13px;
	letter-spacing: 0.04em;
}
.tj-topbar .tj-wrap {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	min-height: 36px;
	gap: 16px;
}
.tj-topbar span { margin-right: auto; }
.tj-topbar a { color: #fff; }
.tj-header {
	position: sticky;
	top: 0;
	z-index: 40;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: saturate(1.2) blur(10px);
	border-bottom: 1px solid transparent;
}
.tj-header.is-stuck { border-bottom-color: var(--line); box-shadow: 0 8px 24px rgba(28, 25, 21, 0.05); }
.tj-bar {
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: 84px;
}
.tj-logo { flex: 0 0 auto; display: flex; align-items: center; }
.tj-logo img { height: 54px; width: auto; display: block; }
.tj-nav-list {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-left: auto;
	list-style: none;
	padding: 0;
}
.tj-nav-list > li > a {
	display: block;
	padding: 8px 12px;
	font-size: 15px;
	color: var(--ink);
	letter-spacing: 0.04em;
}
.tj-nav-list > li { position: relative; }
.tj-nav-list > li > a:hover,
.tj-nav-list > li.on > a { color: var(--red); }
.tj-sub {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 148px;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: #fff;
	border: 1px solid var(--line);
	box-shadow: var(--shadow);
	z-index: 30;
}
.tj-nav-list > li:hover > .tj-sub { display: block; }
.tj-sub a { display: block; padding: 8px 16px; font-size: 14px; white-space: nowrap; }
.tj-sub a:hover, .tj-sub li.on a { color: var(--red); }
a.tj-card { display: block; color: inherit; }
a.tj-card h3 { color: var(--ink); }
.tj-morelink { display: inline-block; margin-top: 14px; color: var(--red); font-size: 13px; letter-spacing: 0.12em; }
.tj-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.tj-cta h2 { font-size: 32px; margin: 8px 0 10px; }
.tj-cta p { margin: 0; color: rgba(255,255,255,.78); }
.tj-actions { display: flex; align-items: center; gap: 10px; margin-left: 8px; }
.tj-search-btn, .tj-burger {
	width: 40px;
	height: 40px;
	border: 1px solid var(--line);
	background: #fff;
	border-radius: 50%;
	cursor: pointer;
	color: var(--ink);
}
.tj-search-btn svg, .tj-burger svg { display: block; margin: 0 auto; }
.tj-burger { display: none; }
.tj-search {
	display: none;
	border-top: 1px solid var(--line);
	background: #fff;
	padding: 16px 0 18px;
}
.tj-search.open { display: block; }
.tj-search form { display: flex; gap: 10px; }
.tj-search input {
	flex: 1;
	height: 46px;
	border: 1px solid var(--line);
	padding: 0 14px;
	font-size: 15px;
	background: var(--paper);
}
.tj-search button {
	height: 46px;
	padding: 0 22px;
	border: 0;
	background: var(--ink);
	color: #fff;
	cursor: pointer;
}

.tj-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 20px;
	border: 1px solid transparent;
	cursor: pointer;
	letter-spacing: 0.08em;
	font-size: 14px;
	transition: 0.2s ease;
}
.tj-btn-red { background: var(--red); color: #fff; }
.tj-btn-red:hover { background: var(--red-deep); }
.tj-btn-line { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.tj-btn-line:hover { background: #fff; color: var(--ink); }
.tj-btn-ink { background: var(--ink); color: #fff; }
.tj-btn-ink:hover { background: #000; }
.tj-btn-ghost { background: #fff; color: var(--ink); border-color: var(--line); }
.tj-btn-ghost:hover { border-color: var(--ink); }

/* hero */
.tj-hero {
	position: relative;
	min-height: 480px;
	color: #fff;
	display: flex;
	align-items: center;
	background: #1c1915 68% center/cover no-repeat;
}
.tj-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(16, 12, 9, 0.62) 0%, rgba(16, 12, 9, 0.28) 38%, rgba(16, 12, 9, 0.05) 68%);
}
.tj-hero h1, .tj-hero .tj-lead { text-shadow: 0 1px 8px rgba(0,0,0,.25); }
.tj-hero .tj-wrap { position: relative; z-index: 1; padding: 64px 0 72px; }
.tj-kicker {
	margin: 0 0 14px;
	color: var(--red);
	letter-spacing: 0.22em;
	font-size: 13px;
}
.tj-hero .tj-kicker { color: #f0d2cc; }
.tj-hero h1 {
	max-width: 7em;
	font-size: 48px;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin-bottom: 18px;
}
.tj-en {
	margin: 0 0 22px;
	letter-spacing: 0.18em;
	font-size: 13px;
	text-transform: uppercase;
	color: rgba(255,255,255,.72);
}
.tj-hero .tj-lead {
	max-width: 560px;
	font-size: 18px;
	color: rgba(255,255,255,.88);
	margin-bottom: 28px;
}
.tj-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* sections */
.tj-sec { padding: 88px 0; }
.tj-sec-paper { background: var(--paper); }
.tj-sec-ink { background: var(--ink); color: #fff; }
.tj-sec-head { max-width: 680px; margin: 0 auto 42px; text-align: center; }
.tj-sec-head h2 { font-size: 36px; letter-spacing: 0.06em; margin-bottom: 12px; }
.tj-sec-head p:last-child { color: var(--muted); margin: 0; }
.tj-sec-ink .tj-sec-head p:last-child { color: rgba(255,255,255,.72); }
.tj-rule {
	width: 36px;
	height: 2px;
	background: var(--red);
	margin: 0 auto 16px;
}

.tj-services {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}
.tj-card {
	background: #fff;
	border: 1px solid var(--line);
	padding: 28px 26px 24px;
	min-height: 220px;
	transition: 0.2s ease;
}
.tj-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: transparent; }
.tj-card .no {
	font-family: var(--serif);
	color: var(--red);
	letter-spacing: 0.12em;
	font-size: 13px;
}
.tj-card h3 { font-size: 22px; margin: 10px 0 10px; }
.tj-card p { color: var(--muted); font-size: 14px; margin: 0; }

.tj-about {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 48px;
	align-items: center;
}
.tj-about img { width: 100%; height: 460px; object-fit: cover; display: block; }
.tj-about h2 { font-size: 34px; letter-spacing: 0.06em; margin: 8px 0 16px; }
.tj-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-top: 22px;
}
.tj-stat {
	background: #fff;
	border: 1px solid var(--line);
	padding: 16px 14px;
}
.tj-stat b {
	display: block;
	font-family: var(--serif);
	font-size: 28px;
	color: var(--red);
	font-weight: 600;
	letter-spacing: 0.04em;
}
.tj-stat span { color: var(--muted); font-size: 13px; }

.tj-motto {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}
.tj-motto article {
	border-top: 1px solid rgba(255,255,255,.2);
	padding-top: 18px;
}
.tj-motto h3 { font-size: 26px; margin-bottom: 10px; }
.tj-motto p { color: rgba(255,255,255,.75); margin: 0; }

.tj-team {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.tj-lawyer {
	background: #fff;
	border: 1px solid var(--line);
	padding: 26px 20px 22px;
	min-height: 100%;
}
.tj-lawyer .role {
	color: var(--red);
	font-size: 13px;
	letter-spacing: 0.12em;
	margin-bottom: 8px;
}
.tj-lawyer h3 { font-size: 26px; margin-bottom: 10px; }
.tj-lawyer p { color: var(--muted); font-size: 14px; margin: 0; }

.tj-ways {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.tj-ways article {
	padding-right: 12px;
}
.tj-ways h3 { font-size: 20px; margin-bottom: 8px; }
.tj-ways p { color: var(--muted); font-size: 14px; margin: 0; }

.tj-honors {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
.tj-honors figure {
	margin: 0;
	background: #fff;
	border: 1px solid var(--line);
	padding: 10px;
}
.tj-honors img { width: 100%; height: 180px; object-fit: contain; background: var(--paper); }
.tj-honors figcaption { font-size: 13px; color: var(--muted); padding: 8px 4px 2px; min-height: 42px; }
.tj-note { margin-top: 18px; font-size: 13px; color: var(--muted); }

.tj-lectures {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.tj-lectures a {
	position: relative;
	display: block;
	overflow: hidden;
	height: 280px;
	background: #ddd;
}
.tj-lectures img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tj-lectures span {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 28px 14px 12px;
	color: #fff;
	font-size: 14px;
	background: linear-gradient(transparent, rgba(0,0,0,.62));
}

.tj-news {
	display: grid;
	gap: 0;
	border-top: 1px solid var(--line);
}
.tj-news a {
	display: grid;
	grid-template-columns: 120px 1fr auto;
	gap: 18px;
	align-items: center;
	padding: 22px 0;
	border-bottom: 1px solid var(--line);
}
.tj-news time { font-family: var(--serif); color: var(--red); letter-spacing: 0.04em; }
.tj-news h3 { font-size: 20px; font-family: var(--sans); font-weight: 600; }
.tj-news p { margin: 4px 0 0; color: var(--muted); font-size: 14px; }
.tj-news em { font-style: normal; color: var(--gold); letter-spacing: 0.12em; font-size: 13px; }
.tj-center { text-align: center; margin-top: 28px; }

.tj-contact {
	display: grid;
	grid-template-columns: 0.9fr 1.1fr;
	gap: 40px;
	align-items: start;
}
.tj-contact-card {
	background: var(--ink);
	color: #fff;
	padding: 36px 32px;
	min-height: 100%;
}
.tj-contact-card h2 { font-size: 32px; margin: 8px 0 12px; }
.tj-contact-card a.tel {
	display: block;
	font-family: var(--serif);
	font-size: 32px;
	letter-spacing: 0.04em;
	margin: 8px 0 16px;
	color: #fff;
}
.tj-contact-card p { color: rgba(255,255,255,.78); }
.tj-contact-card .addr { color: #fff; }

.tj-form .tj-field { display: block; margin-bottom: 14px; }
.tj-form .tj-field > span { display: block; margin-bottom: 6px; font-size: 13px; color: var(--muted); }
.tj-form .eyou_form_text,
.tj-form .eyou_form_textarea,
.tj-form .eyou_form_select,
.tj-form input[type="text"],
.tj-form textarea,
.tj-form select {
	width: 100%;
	border: 1px solid var(--line);
	background: #fff;
	height: 46px;
	padding: 0 12px;
	font-size: 15px;
	color: var(--text);
	border-radius: 0;
}
.tj-form textarea,
.tj-form .eyou_form_textarea { height: 120px; padding: 12px; resize: vertical; }
.tj-form .eyou_form_attr { margin: 0; }
.tj-verify-row { display: flex; gap: 10px; align-items: center; }
.tj-verify-row input { flex: 1; }
.tj-verify-row img { height: 46px; cursor: pointer; background: #fff; }
.tj-form-note { font-size: 12px; color: var(--muted); margin: 10px 0 0; }
.tj-form button { margin-top: 6px; border: 0; }

.tj-faq { display: grid; gap: 10px; }
.tj-faq details {
	background: #fff;
	border: 1px solid var(--line);
	padding: 14px 18px;
}
.tj-faq summary { cursor: pointer; font-weight: 600; }
.tj-faq p { margin: 10px 0 0; color: var(--muted); }

/* page */
.tj-pageban {
	position: relative;
	min-height: 380px;
	display: flex;
	align-items: flex-end;
	color: #fff;
	background: var(--ink);
}
.tj-pageban-bg {
	position: absolute;
	inset: 0;
	background: url("../images/tj/meeting.jpg") center/cover no-repeat;
}
.tj-pageban-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(18,14,10,.78), rgba(18,14,10,.45));
}
.tj-pageban .tj-wrap { position: relative; z-index: 1; padding: 54px 0 32px; }
.tj-pageban h1 { font-size: 40px; letter-spacing: 0.1em; }
.tj-crumb { margin-top: 8px; font-size: 13px; color: rgba(255,255,255,.78); }
.tj-crumb a { color: #fff; }

.tj-page { padding: 42px 0 80px; }
.tj-subnav { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.tj-subnav:not(:has(a)) { display: none; }
.tj-subnav a {
	border: 1px solid var(--line);
	padding: 6px 14px;
	font-size: 14px;
	background: #fff;
}
.tj-subnav a.on, .tj-subnav a:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

.tj-list { display: grid; gap: 16px; }
.tj-item {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 22px;
	background: #fff;
	border: 1px solid var(--line);
	padding: 16px;
}
.tj-item img { width: 100%; height: 140px; object-fit: cover; background: var(--paper); }
.tj-item h2 { font-family: var(--sans); font-size: 20px; font-weight: 600; margin-bottom: 8px; }
.tj-item h2 a:hover { color: var(--red); }
.tj-item p { color: var(--muted); margin: 0; font-size: 14px; }
.tj-item time { display: block; margin-top: 10px; color: var(--gold); font-size: 13px; }

.tj-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.tj-grid a.tile {
	display: block;
	background: #fff;
	border: 1px solid var(--line);
}
.tj-grid a.tile img { width: 100%; height: 190px; object-fit: cover; background: var(--paper); }
.tj-grid a.tile span { display: block; padding: 12px 14px 16px; }

.tj-detail {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 280px;
	gap: 36px;
	align-items: start;
}
.tj-article h1 { font-size: 34px; letter-spacing: 0.04em; margin-bottom: 12px; }
.tj-meta { color: var(--muted); font-size: 13px; margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.tj-meta span { margin-right: 16px; }
.tj-content { font-size: 16px; }
.tj-content img { height: auto; }
.tj-content h2, .tj-content h3 { margin: 1.2em 0 0.5em; }
.tj-content p { margin: 0 0 1em; }
.tj-content table { width: 100%; border-collapse: collapse; }
.tj-content td, .tj-content th { border: 1px solid var(--line); padding: 8px; }
.tj-prenext { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--line); display: grid; gap: 8px; }
.tj-prenext a:hover { color: var(--red); }
.tj-side {
	position: sticky;
	top: 108px;
	background: var(--paper);
	padding: 22px 20px;
	border: 1px solid var(--line);
}
.tj-side strong { display: block; font-family: var(--serif); font-size: 26px; margin: 6px 0; }
.tj-side p { color: var(--muted); font-size: 14px; }

.tj-pager { display: flex; justify-content: center; gap: 6px; list-style: none; padding: 28px 0 0; margin: 0; flex-wrap: wrap; }
.tj-pager li { list-style: none; }
.tj-pager a, .tj-pager span, .tj-pager li {
	display: inline-flex;
	min-width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	border: 1px solid var(--line);
	background: #fff;
	color: var(--text);
}
.tj-pager .active, .tj-pager a:hover { background: var(--ink); color: #fff; border-color: var(--ink); }

.tj-empty { color: var(--muted); padding: 24px 0; }
.tj-license { display: grid; grid-template-columns: 280px 1fr; gap: 28px; align-items: center; margin-top: 28px; }
.tj-license img { width: 100%; border: 1px solid var(--line); background: #fff; }

.tj-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.tj-tags a { border: 1px solid var(--line); padding: 6px 12px; font-size: 14px; background: #fff; }
.tj-tags a:hover { border-color: var(--red); color: var(--red); }

.tj-video { background: #111; color: #fff; padding: 24px 0; }
.tj-video-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; }
.tj-video video { width: 100%; background: #000; max-height: 520px; }
.tj-playlist { max-height: 520px; overflow: auto; background: #1c1915; }
.tj-playlist a { display: block; padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.86); font-size: 14px; }
.tj-playlist a:hover { background: rgba(255,255,255,.05); }

/* footer */
.tj-footer {
	background: #f7f4ef;
	color: #5e5852;
	border-top: 1px solid var(--line);
	padding: 42px 0 0;
	font-size: 14px;
}
.tj-footer a:hover { color: var(--red); }
.tj-foot-grid {
	display: grid;
	grid-template-columns: 300px 1fr 1.15fr;
	gap: 28px 40px;
	padding-bottom: 28px;
	align-items: start;
}
.tj-footer h3 { color: var(--ink); font-size: 15px; letter-spacing: 0.12em; margin-bottom: 14px; font-family: var(--sans); }
.tj-footer .logo-foot {
	display: block;
	height: 48px;
	width: auto;
	background: transparent;
	padding: 0;
	margin-bottom: 14px;
}
.tj-foot-nav { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.tj-copy {
	border-top: 1px solid var(--line);
	padding: 16px 0 22px;
	display: flex;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	font-size: 12px;
	color: #8a837a;
}
.tj-links { margin-top: 10px; }
.tj-links a { margin-right: 12px; }

.tj-callbar {
	display: none;
	position: fixed;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 50;
	height: 48px;
	background: var(--red);
	color: #fff;
	align-items: center;
	justify-content: center;
	letter-spacing: 0.08em;
	box-shadow: var(--shadow);
}

@media (max-width: 1100px) {
	.tj-burger { display: inline-flex; align-items: center; justify-content: center; }
	.tj-nav-list {
		display: none;
		position: absolute;
		top: 100%;
		left: 50%;
		right: auto;
		transform: translateX(-50%);
		width: 100vw;
		background: #fff;
		flex-direction: column;
		align-items: stretch;
		padding: 8px 8px 16px;
		border-bottom: 1px solid var(--line);
		margin: 0;
		box-shadow: var(--shadow);
	}
	.tj-nav-list.open { display: flex; }
	.tj-nav-list.open .tj-sub {
		display: block;
		position: static;
		width: auto;
		min-width: 0;
		transform: none;
		border: 0;
		box-shadow: none;
		padding: 0 0 8px 16px;
	}
	.tj-bar { position: static; }
	.tj-header { position: sticky; }
	.tj-wrap.tj-bar { position: relative; }
	.tj-actions .tj-btn { display: none; }
}
@media (max-width: 1024px) {
	.tj-services, .tj-team, .tj-ways, .tj-honors { grid-template-columns: 1fr 1fr; }
	.tj-cta { flex-direction: column; align-items: flex-start; }
	.tj-about, .tj-contact, .tj-detail, .tj-video-grid, .tj-license, .tj-foot-grid { grid-template-columns: 1fr; }
	.tj-lectures { grid-template-columns: 1fr 1fr; }
	.tj-lectures a { height: 200px; }
	.tj-hero h1 { font-size: 40px; }
	.tj-side { position: static; }
}
@media (max-width: 780px) {
	.tj-bar { min-height: 68px; }
	.tj-logo img { height: 42px; }
	.tj-hero { min-height: 400px; background-position: center; }
	.tj-pageban { min-height: 280px; }
	.tj-hero h1 { font-size: 32px; letter-spacing: 0.04em; }
	.tj-sec { padding: 56px 0; }
	.tj-sec-head h2 { font-size: 28px; }
	.tj-services, .tj-team, .tj-ways, .tj-honors, .tj-stats, .tj-grid, .tj-motto { grid-template-columns: 1fr; }
	.tj-item { grid-template-columns: 1fr; }
	.tj-item img { height: 180px; }
	.tj-news a { grid-template-columns: 1fr; gap: 4px; }
	.tj-about img { height: 240px; }
	.tj-lectures { grid-template-columns: 1fr; }
	.tj-lectures a { height: 200px; }
	.tj-topbar span { display: none; }
	.tj-callbar { display: flex; }
	body { padding-bottom: 72px; }
	.tj-pageban h1 { font-size: 30px; }
}
