/* ============================================
   湖北山河律师事务所 - AnqiCMS Template
   配色：深藏青蓝 #1a3a5c + 金色 #c9a84c
   ============================================ */

/* === Reset === */
body {
	margin: 0;
	font: 0.14rem/1.5 Microsoft YaHei, Source Han Sans CN, PingFang SC, sans-serif;
	color: #333;
}

h1,h2,h3,h4,h5,h6 {
	margin: 0;
	font-size: 100%;
	font-weight: normal;
}

ul,ol,li,dl,dt,dd {
	margin: 0;
	padding: 0;
	list-style: none;
}

p { margin: 0; }

img {
	display: block;
	margin: 0 auto;
	object-fit: contain;
	max-width: 100%;
	max-height: 100%;
	border-radius: 0.03rem;
}

a {
	text-decoration: none;
	color: #1a3a5c;
	transition: all .4s ease-in-out 0s;
}

a:hover {
	color: #c9a84c;
}

.clearfix::after {
	content: "";
	display: block;
	height: 0;
	line-height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}

table {
	max-width: 100%;
	margin-top: 0.15rem;
	border-collapse: collapse;
}

table,th,td {
	border: 0.01rem solid #e8e8e8;
}

th {
	background: #1a3a5c;
	color: #fff;
	font-weight: 100;
}

th,td {
	text-align: center;
	padding: 0.1rem;
}

input {
	font-family: 'Montserrat-Regular';
	padding: 0.15rem;
	margin-bottom: 0.15rem;
	height: 0.3rem;
	border: 0.01rem solid #dadada;
}

textarea {
	font-family: 'Montserrat-Regular';
	padding: 0.15rem;
	margin-bottom: 0.15rem;
	border: 0.01rem solid #dadada;
}

input:focus,textarea:focus {
	outline: 0.01rem solid #1a3a5c;
}

.hide { display: none; }

.formbtn {
	background: #1a3a5c;
	color: #fff;
	padding: 0.15rem 0.5rem;
	border: none;
	font-size: 0.18rem;
	text-transform: uppercase;
}

.formbtn:hover {
	background: #c9a84c;
	color: #fff;
}

.imgitem {
	position: relative;
	height: 0;
	padding-bottom: 66.66%;
}

.imgitem img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* === Tool Bar === */
.tool-bar { position: fixed; }

.tool-item-cap {
	background: rgba(26, 58, 92, .7);
	display: block;
	width: 100%;
	height: 100%;
	text-align: center;
	color: #fff;
}

.tool-item-cap .fa { line-height: 1; }

.tool-item-cap.active {
	background: #1a3a5c;
	color: #fff;
}

.tool-bar .back-top { cursor: pointer; }

.tool-qrcode {
	position: absolute;
	background: #fff;
	text-align: center;
}

.tool-tel {
	position: absolute;
	right: 0;
	background: #1a3a5c;
	color: #fff;
	text-align: center;
	white-space: nowrap;
}

.tool-tel a {
	display: block;
	color: #fff;
}

.tool-item-sub {
	visibility: hidden;
	opacity: 0;
	transition: opacity .2s, visibility .2s;
}

.tool-item:hover .tool-item-sub,
.tool-item.active .tool-item-sub {
	visibility: visible;
	opacity: 1;
}

/* === Mobile Menu === */
.m-menu-open,.m-menu-close { display: none; }
.nav-menu-child { display: none; }

/* === Accordion (Sidebar / Nav) === */
.accordion {
	display: flex;
	flex-direction: column;
}

.accordion-item {
	background-color: #f6f6f6;
	font-size: 0.16rem;
	border: none;
	color: #1a3a5c;
	cursor: pointer;
	padding: 15px;
	text-align: left;
	outline: none;
	transition: background-color 0.6s ease;
	border-bottom: 0.01rem solid #fff;
}

.accordion-item.active {
	background-color: #f6f6f6;
}

.accordion-item-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.6s ease;
}

.ind-pro-nav-ul li a {
	position: relative;
	font-size: 0.15rem;
	display: block;
	padding: 0.1rem;
}

.ind-pro-nav-ul li a:hover {
	background: #1a3a5c;
	color: #fff;
}

.ind-pro-nav-ul li a::before {
	content: "\f196";
	font-family: FontAwesome;
	display: inline-block;
	margin-right: 0.05rem;
}

/* === Sticky Nav === */
.sticky-nav {
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
}

.main-body {
    /* 无需额外 padding-top，sticky 自然占位 */
}

/* === Top Bar === */
.top {
    background: #1a3a5c;
    color: #fff;
    padding: 0.1rem 0;
}

.top-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.top-item a {
	display: inline-block;
	color: #fff;
	padding: 0 0.1rem;
}

.top-item a:nth-child(n+2) {
	border-left: 0.01rem solid rgba(255,255,255,.3);
}

.top-item a:hover {
	color: #c9a84c;
}

/* === Header === */
.header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.logo img { max-height: 0.5rem; }

/* === Hot Search Tag === */
.ind-tag {
	background: #f6f6f6;
	padding: 0.15rem 0;
}

.ind-tag span {
	font-weight: bold;
	color: #1a3a5c;
	font-size: 0.16rem;
}

.ind-tag a {
	display: inline-block;
	padding: 0 0.1rem;
}

/* === Section Title === */
.ind-pro-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.3rem;
	border-bottom: 0.01rem solid #f0f0f0;
}

.ind-pro-title h2 {
	position: relative;
	font-size: 0.2rem;
	font-weight: bold;
	padding: 0.05rem 0;
}

.ind-pro-title h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -0.01rem;
	width: 0.8rem;
	height: 0.02rem;
	background: #1a3a5c;
}

.ind-pro-title .more { color: #c9a84c; }
.ind-pro-title .more:hover { color: #1a3a5c; }

.ind-pro-ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.ind-pro-ul li {
	box-sizing: border-box;
	margin-bottom: 0.3rem;
	width: 49%;
}

.ind-pro-ul .list-item {
	background: #f6f6f6;
	border: 0.01rem solid #f1f1f1;
	transition: 0.4s;
}

.ind-pro-ul .list-item:hover {
	transform: translateY(-0.1rem);
	box-shadow: 0 4px 12px rgba(26,58,92,.1);
}

.ind-pro-ul .list-item-text {
	padding: 0.15rem;
	text-align: center;
}

.ind-pro-ul .list-item-text h3 {
	white-space: nowrap;
	overflow: hidden;
}

.ind-pro-nav h2 {
	background: #1a3a5c;
	font-size: 0.2rem;
	font-weight: bold;
	color: #fff;
	padding: 0.15rem 0.1rem;
}

/* === About Section === */
.ind-about {
	background: #f8f8f6;
}

/* --- About Video Player --- */
.about-video-wrap {
	position: relative;
	width: 100%;
	border-radius: 6px;
	overflow: hidden;
	cursor: pointer;
	background: #000;
}

.about-video-wrap video {
	width: 100%;
	display: block;
	border-radius: 6px;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.about-video-play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 50%;
	border: 3px solid #fff;
	background: rgba(26,58,92,.55);
	color: #fff;
	font-size: 0.28rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .35s;
	z-index: 2;
}

.about-video-play:hover {
	background: rgba(201,168,76,.7);
	border-color: #c9a84c;
	transform: scale(1.1);
}

.about-video-wrap.playing .about-video-play {
	opacity: 0;
	pointer-events: none;
}

.about-video-wrap.playing:hover .about-video-play {
	opacity: 1;
	pointer-events: auto;
}

.ind-about-text h2 {
	font-size: 0.26rem;
	font-weight: bold;
	color: #1a3a5c;
	margin: 0.15rem 0;
}

.ind-about-text p {
	font-size: 0.15rem;
	line-height: 0.26rem;
	margin-bottom: 0.15rem;
}

.ind-about-text .more {
	display: inline-block;
	padding: 0.15rem 0.3rem;
	background: #1a3a5c;
	color: #fff;
	font-size: 0.16rem;
	font-weight: bold;
}

.ind-about-text .more:hover {
	background: #c9a84c;
	color: #fff;
}

/* === Business Areas Grid (Enhanced) === */
.ind-business {
	background: #fff;
}

.ind-business-desc {
	text-align: center;
	color: #666;
	margin-bottom: 0.4rem;
	font-size: 0.15rem;
}

.ind-business-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.3rem;
}

.business-card {
	box-sizing: border-box;
	background: #f8f8f6;
	border: 2px solid transparent;
	padding: 0.35rem 0.25rem;
	text-align: center;
	transition: all .35s cubic-bezier(.4,0,.2,1);
	display: block;
	width: calc(33.33% - 0.3rem);
	position: relative;
	overflow: hidden;
}

.business-card::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 3px;
	background: #c9a84c;
	transition: width .35s ease;
}

.business-card:hover::before {
	width: 100%;
}

.business-card:hover {
	border-color: #c9a84c;
	background: #fff;
	box-shadow: 0 8px 28px rgba(201,168,76,.18);
	transform: translateY(-0.08rem);
	color: #1a3a5c;
}

.business-card-icon {
	width: 0.7rem;
	height: 0.7rem;
	line-height: 0.7rem;
	margin: 0 auto 0.18rem;
	background: #1a3a5c;
	color: #c9a84c;
	font-size: 0.28rem;
	border-radius: 50%;
	transition: all .35s ease;
}

.business-card:hover .business-card-icon {
	background: #c9a84c;
	color: #fff;
	transform: scale(1.1);
}

.business-card h3 {
	font-size: 0.18rem;
	font-weight: bold;
	color: #1a3a5c;
	margin-bottom: 0.1rem;
	transition: color .3s;
}

.business-card:hover h3 {
	color: #c9a84c;
}

.business-card p {
	font-size: 0.14rem;
	color: #888;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	transition: color .3s;
}

.business-card:hover p {
	color: #555;
}

/* === Case Section === */
.ind-case-title {
	position: relative;
	text-align: center;
	font-size: 0.26rem;
	font-weight: bold;
	color: #1a3a5c;
	margin-bottom: 0.4rem;
}

.ind-case-title::after {
	content: "";
	display: block;
	margin: 0 auto;
	width: 0.8rem;
	height: 0.03rem;
	background: #c9a84c;
	margin-top: 0.1rem;
}

.ind-case-ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.ind-case-ul li {
	box-sizing: border-box;
	margin-bottom: 0.3rem;
}

.ind-case-ul .list-item {
	border: 0.01rem solid #f0f0f0;
	overflow: hidden;
	border-radius: 4px;
	transition: all .3s ease;
}

.ind-case-ul .list-item:hover {
	box-shadow: 0 4px 16px rgba(26,58,92,.1);
}

.ind-case-ul .list-item-text {
	padding: 0.15rem;
}

.ind-case-ul .list-item-text h3 {
	font-size: 0.16rem;
	font-weight: bold;
	margin-bottom: 0.1rem;
	color: #1a3a5c;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ind-case-ul .list-item-text p {
	color: #797979;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* === Team Carousel (New) === */
.ind-team {
	background: #f8f8f6;
}

.team-carousel-wrap {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.15rem;
}

.team-carousel-viewport {
	overflow: hidden;
	flex: 1;
}

.team-carousel-track {
	display: flex;
	transition: transform .45s cubic-bezier(.4,0,.2,1);
	will-change: transform;
	gap: 0.2rem;
}

.lawyer-card {
	flex: 0 0 auto;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 6px;
	text-align: center;
	padding: 0.25rem 0.15rem 0.2rem;
	transition: all .3s ease;
	cursor: pointer;
}

.lawyer-card:hover {
	border-color: #c9a84c;
	box-shadow: 0 6px 20px rgba(201,168,76,.15);
	transform: translateY(-0.05rem);
}

.lawyer-photo {
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto 0.15rem;
	border: 3px solid #c9a84c;
}

.lawyer-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

.lawyer-name {
	font-size: 0.17rem;
	font-weight: bold;
	color: #1a3a5c;
	margin-bottom: 0.06rem;
}

.lawyer-field {
	font-size: 0.13rem;
	color: #c9a84c;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.team-arrow {
	flex-shrink: 0;
	width: 0.44rem;
	height: 0.44rem;
	border-radius: 50%;
	border: 2px solid #1a3a5c;
	background: #fff;
	color: #1a3a5c;
	font-size: 0.22rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .3s;
	z-index: 2;
}

.team-arrow:hover {
	background: #1a3a5c;
	color: #fff;
}

.team-arrow:disabled {
	opacity: .35;
	cursor: default;
}

.team-dots {
	display: flex;
	justify-content: center;
	gap: 0.08rem;
	margin-top: 0.25rem;
}

.team-dot {
	width: 0.1rem;
	height: 0.1rem;
	border-radius: 50%;
	background: #ddd;
	cursor: pointer;
	transition: background .3s, transform .3s;
}

.team-dot.active {
	background: #c9a84c;
	transform: scale(1.3);
}

/* === Firm Showcase — Waterfall Layout === */
.ind-showcase {
	background: #1a3a5c;
	color: #fff;
}

.ind-showcase .ind-case-title {
	color: #fff;
}

.ind-showcase .ind-case-title::after {
	background: #c9a84c;
}

/* CSS Columns 瀑布流：自动适配 16:9 / 3:2 不同比例图片 */
.showcase-gallery {
	columns: 3;
	column-gap: 0.15rem;
}

.showcase-gallery-item {
	break-inside: avoid;
	margin-bottom: 0.15rem;
	border-radius: 6px;
	overflow: hidden;
	cursor: pointer;
	position: relative;
	transition: transform .35s, box-shadow .35s;
	-webkit-column-break-inside: avoid;
}

.showcase-gallery-item:hover {
	transform: scale(1.025);
	box-shadow: 0 10px 30px rgba(0,0,0,.4);
}

.showcase-gallery-item img {
	width: 100%;
	display: block;
	border-radius: 6px 6px 0 0;
}

.showcase-gallery-caption {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(transparent, rgba(0,0,0,.75));
	color: #fff;
	padding: 0.35rem 0.12rem 0.1rem;
	font-size: 0.13rem;
	opacity: 0;
	transition: opacity .35s;
	border-radius: 0 0 6px 6px;
}

.showcase-gallery-item:hover .showcase-gallery-caption {
	opacity: 1;
}

/* --- Lightbox（支持前后切换） --- */
.showcase-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.92);
	z-index: 2100;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.showcase-lightbox.active {
	display: flex;
}

.showcase-lightbox-img {
	max-width: 88vw;
	max-height: 76vh;
	display: flex;
	align-items: center;
	justify-content: center;
}

.showcase-lightbox-img img {
	max-width: 100%;
	max-height: 76vh;
	object-fit: contain;
	border-radius: 4px;
	box-shadow: 0 0 50px rgba(0,0,0,.5);
}

.showcase-lightbox-close {
	position: absolute;
	top: 0.2rem;
	right: 0.25rem;
	font-size: 0.45rem;
	color: #fff;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 2;
	line-height: 1;
	transition: opacity .3s;
}

.showcase-lightbox-close:hover {
	opacity: .7;
}

.showcase-lightbox-prev,
.showcase-lightbox-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255,255,255,.12);
	color: #fff;
	border: none;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	font-size: 0.28rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .3s;
	z-index: 2;
}

.showcase-lightbox-prev:hover,
.showcase-lightbox-next:hover {
	background: rgba(255,255,255,.28);
}

.showcase-lightbox-prev { left: 0.2rem; }
.showcase-lightbox-next { right: 0.2rem; }

.showcase-lightbox-prev.disabled,
.showcase-lightbox-next.disabled {
	opacity: .25;
	cursor: default;
	pointer-events: none;
}

.showcase-lightbox-counter {
	color: rgba(255,255,255,.55);
	font-size: 0.14rem;
	margin-top: 0.15rem;
	user-select: none;
}

/* === Blog Section === */
.ind-blog {
	border-top: 0.01rem solid #f0f0f0;
	background: #fff;
}

.ind-blog-ul .list-item {
	display: flex;
	justify-content: space-between;
	align-content: stretch;
	background: #f8f8f6;
	padding: 0.15rem;
}

.ind-blog-ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.ind-blog-ul li {
	box-sizing: border-box;
	margin-bottom: 0.3rem;
}

.ind-blog-time {
	box-sizing: border-box;
	width: 20%;
	background: #1a3a5c;
	color: #fff;
	padding: 0.1rem 0;
	text-align: center;
	margin: auto;
}

.ind-blog-text {
	box-sizing: border-box;
	width: 80%;
	padding-left: 0.15rem;
}

.ind-blog-text h3 {
	font-weight: bold;
	font-size: 0.15rem;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ind-blog-text p {
	color: #797979;
	margin: 0.06rem 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ind-blog-time span {
	font-size: 0.3rem;
	font-weight: bold;
	display: inline-block;
	border-bottom: 0.01rem solid #c9a84c;
}

.ind-blog-time p { margin: 0.05rem 0; }

/* === Contact Grid (New) === */
.ind-contact {
	background: #fff;
}

.ind-contact-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.3rem;
}

.contact-info-card {
	box-sizing: border-box;
	background: #f8f8f6;
	border: 1px solid #eee;
	padding: 0.25rem 0.2rem;
	text-align: center;
	transition: all .3s ease;
	width: calc(50% - 0.3rem);
}

.contact-info-card:hover {
	border-color: #c9a84c;
	box-shadow: 0 4px 12px rgba(201,168,76,.1);
}

.contact-info-card .fa {
	font-size: 0.3rem;
	color: #c9a84c;
	margin-bottom: 0.1rem;
}

.contact-info-card h4 {
	font-size: 0.16rem;
	font-weight: bold;
	color: #1a3a5c;
	margin-bottom: 0.08rem;
}

.contact-info-card p {
	font-size: 0.14rem;
	color: #666;
}

/* === Friend Link === */
.flink {
	background: #f6f6f6;
	padding: 0.15rem 0;
}

.flink a {
	display: inline-block;
	padding: 0.05rem 0.1rem;
}

/* === Footer === */
.footer {
	background: #1a3a5c;
	color: #fff;
}

.foot img {
	max-width: 1.5rem;
	display: inline-block;
}

.foot a { color: rgba(255,255,255,.85); }
.foot a:hover { color: #c9a84c; }

.foot h2 {
	font-size: 0.18rem;
	font-weight: bold;
	margin-bottom: 0.15rem;
	color: #c9a84c;
}

.foot p { margin: 0.1rem 0; }

.foot p i {
	display: inline-block;
	background: #c9a84c;
	color: #1a3a5c;
	border-radius: 0.04rem 0.1rem;
	width: 0.25rem;
	height: 0.25rem;
	line-height: 0.25rem;
	text-align: center;
}

.foot h3 { margin-bottom: 0.15rem; }

.footer-ul li {
	margin: 0.05rem 0 0.05rem 0.05rem;
	font-size: 0.15rem;
}

.footer-bottom {
	border-top: 0.01rem solid rgba(255,255,255,.1);
	text-align: center;
	padding: 0.15rem 0;
}

.footer-bottom a { color: rgba(255,255,255,.7); }
.footer-bottom a:hover { color: #c9a84c; }

/* === Crumb === */
.crumb {
	background: #f6f6f6;
	font-size: 0.15rem;
	padding: 0.15rem;
}

/* === List Product === */
.list-pro-ul {
	display: flex;
	flex-wrap: wrap;
}

.list-pro-ul li {
	box-sizing: border-box;
	width: 50%;
	padding: 0.1rem;
	margin-bottom: 0.3rem;
	transition: 0.4s;
}

.list-pro-ul li:hover { transform: translateY(-0.1rem); }

.sidebar { margin-top: 0.3rem; }
.side { margin-bottom: 0.3rem; }

.side h2 {
	padding: 0.15rem 0.1rem;
	background: #1a3a5c;
	color: #fff;
	font-weight: bold;
	font-size: 0.2rem;
}

.side-item { border: 0.01rem solid #f0f0f0; }

.side-pro-ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 0.15rem;
}

.side-pro-ul li {
	box-sizing: border-box;
	width: 49%;
	margin-bottom: 0.15rem;
}

.side-pro-ul .list-item-text {
	padding: 0.15rem;
	text-align: center;
	background: #f8f8f6;
}

.side-pro-ul .list-item-text h3 {
	white-space: nowrap;
	overflow: hidden;
}

.side-item p {
	padding: 0.05rem 0 0.1rem 0.1rem;
}

.side-blog-ul { padding: 0.1rem; }

.side-blog-ul li:nth-child(n+2) {
	margin-top: 0.1rem;
	padding-top: 0.1rem;
	border-top: 0.01rem dashed #eee;
}

.side-blog-ul li a {
	display: block;
	width: 100%;
}

.list-pro-ul .list-item {
	border: 0.01rem solid #f1f1f1;
}

.list-pro-ul .list-item-text {
	padding: 0.15rem;
	text-align: center;
	background: #f8f8f6;
}

.list-pro-ul .list-item-text h3 {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* === Pagination === */
.pagnavi {
	padding: 0.5rem 0;
	text-align: center;
}

.pagnavi a {
	display: inline-block;
	padding: 0.05rem 0.15rem;
	border: 0.01rem solid #1a3a5c;
}

.pagnavi a:hover {
	background: #1a3a5c;
	color: #fff;
}

.pagnavi .current {
	background: #1a3a5c;
	color: #fff;
}

/* === Single Product (Business Detail Top) === */
.toppro { padding-top: 0.5rem; }

.toppro-text h1 {
	font-size: 0.26rem;
	font-weight: bold;
	color: #1a3a5c;
	margin: 0.15rem 0;
}

.toppro-text p {
	color: #666;
	font-size: 0.15rem;
	line-height: 0.24rem;
	margin: 0.15rem 0;
}

.toppro-text .more {
	font-size: 0.16rem;
	border-radius: 0.04rem;
	display: inline-block;
	border: 0.01rem solid #1a3a5c;
	background: #1a3a5c;
	color: #fff;
	padding: 0.1rem 0.3rem;
}

.toppro-text .more:hover {
	border: 0.01rem solid #c9a84c;
	color: #1a3a5c;
	background: #c9a84c;
}

/* === Content Typography === */
.single-arc h2 {
	font-size: 0.22rem;
	margin-top: 0.15rem;
	font-weight: bold;
	color: #1a3a5c;
}

.single-arc h3 {
	font-size: 0.2rem;
	margin-top: 0.15rem;
	font-weight: bold;
}

.single-arc h4 {
	font-size: 0.18rem;
	margin-top: 0.15rem;
	font-weight: bold;
}

.single-arc h5 {
	font-size: 0.16rem;
	margin-top: 0.15rem;
	font-weight: bold;
}

.single-arc h6 {
	font-size: 0.14rem;
	margin-top: 0.15rem;
	font-weight: bold;
}

.single-arc p {
	margin-top: 0.15rem;
	line-height: 0.28rem;
}

.single-arc a { color: #1a3a5c; }
.single-arc a:hover { color: #c9a84c; }

.single-arc img {
	margin-top: 0.15rem;
	max-width: 100%;
	width: auto;
}

.single-arc iframe {
	display: block;
	margin-top: 0.15rem;
}

/* === Related Items === */
.rel { margin-bottom: 0.3rem; }

.rel h2 {
	font-size: 0.22rem;
	font-weight: bold;
	color: #1a3a5c;
	border-bottom: 0.02rem solid #c9a84c;
	padding-bottom: 0.1rem;
	margin-bottom: 0.3rem;
}

.rel-pro-ul {
	display: flex;
	flex-wrap: wrap;
}

.rel-pro-ul li {
	box-sizing: border-box;
	width: 50%;
	padding: 0.1rem;
}

.rel-pro-ul .list-item-text {
	padding: 0.15rem;
	text-align: center;
	background: #f8f8f6;
	border: 0.01rem solid #f1f1f1;
}

/* === List Solution === */
.list-sol-ul li {
	margin-bottom: 0.3rem;
	transition: 0.4s;
}

.list-sol-ul li:hover { transform: translateY(-0.1rem); }

.list-sol-ul .list-item-text {
	padding: 0.15rem;
	background: #f8f8f6;
}

.list-sol-ul .list-item-text h3 {
	font-size: 0.17rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.list-sol-ul .list-item-text p {
	color: #797979;
	margin: 0.15rem 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* === List Case === */
.list-case-ul .list-item-text { padding: 0.15rem; }

.list-case-ul .list-item-text h3 {
	font-size: 0.17rem;
	color: #1a3a5c;
}

.list-case-ul .list-item-text p {
	margin: 0.1rem 0;
	color: #797979;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.list-case-ul li:nth-child(n+2) {
	border-top: 0.01rem solid #f0f0f0;
	margin-top: 0.3rem;
	padding-top: 0.3rem;
}

/* === List Blog === */
.list-blog-ul li {
	margin-bottom: 0.3rem;
	background: #f8f8f6;
	padding: 0.15rem;
}

.list-blog-ul li h3 {
	font-size: 0.17rem;
	margin: 0.1rem 0;
	position: relative;
	padding-left: 0.1rem;
}

.list-blog-ul li h3::before {
	content: "";
	width: 0.05rem;
	height: 0.15rem;
	display: block;
	background: #c9a84c;
	position: absolute;
	left: 0;
	top: 0.05rem;
}

.list-blog-ul li p {
	margin: 0.15rem 0;
	color: #797979;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* === Single Content Title === */
.single-content-title {
	font-size: 0.22rem;
	position: relative;
	color: #1a3a5c;
	font-weight: bold;
	border-bottom: 0.01rem solid #f0f0f0;
	margin-bottom: 0.3rem;
}

.single-content-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0.9rem;
	height: 0.03rem;
	background: #c9a84c;
}

.single-title {
	border-bottom: 0.01rem solid #f0f0f0;
	padding-bottom: 0.15rem;
}

.single-title h1 {
	font-size: 0.26rem;
	font-weight: bold;
	color: #1a3a5c;
	margin-bottom: 0.1rem;
}

.tags { margin: 0.15rem 0; }
.tags a { margin-right: 0.1rem; color: #c9a84c; }

.prenext {
	border-top: 0.01rem solid #f0f0f0;
	border-bottom: 0.01rem solid #f0f0f0;
	margin: 0.15rem 0;
}

.prenext p { margin: 0.15rem 0; }
.prenext span { font-weight: bold; }

/* === 404 === */
.page404 {
	text-align: center;
	padding: 1rem 0;
	border-top: 0.01rem solid #f0f0f0;
}

.page404 h1 {
	font-weight: bold;
	font-size: 1rem;
	color: #1a3a5c;
	margin-bottom: 0.3rem;
}

/* === Languages === */
.languages { margin-left: 10px; }

.language-item {
	display: flex;
	align-items: center;
}

.language-icon {
	width: 20px;
	height: 16px;
	object-fit: contain;
	margin-right: 5px;
}

/* === Index Product (Business) === */
.index-pro-item:nth-child(even) { margin-top: 0.3rem; }

.index-pro-item h2 {
	text-align: center;
	font-size: 0.24rem;
	font-weight: bold;
	color: #1a3a5c;
	position: relative;
	margin-bottom: 0.3rem;
}

.index-pro-ul {
	display: flex;
	flex-wrap: wrap;
}

.index-pro-ul li {
	box-sizing: border-box;
	width: 50%;
	padding: 0.1rem;
	margin-bottom: 0.3rem;
	transition: 0.4s;
}

.index-pro-ul li:hover { transform: translateY(-0.1rem); }

.index-pro-ul .list-item-text {
	padding: 0.15rem;
	text-align: center;
	background: #f8f8f6;
	border: 0.01rem solid #f1f1f1;
}

.index-pro-ul .list-item-text h3 {
	white-space: nowrap;
	overflow: hidden;
}

/* === Banner Slider (Multi-slide + Overlay) === */
.banner-slider {
	position: relative;
	overflow: hidden;
	height: 5rem;
	min-height: 2.4rem;
}

.banner-track {
	display: flex;
	height: 100%;
	transition: transform .6s cubic-bezier(.4,0,.2,1);
	will-change: transform;
}

.banner-slide {
	flex: 0 0 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.banner-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(26,58,92,.55) 0%, rgba(0,0,0,.35) 100%);
	z-index: 1;
}

.banner-content {
	position: relative;
	z-index: 2;
	text-align: center;
	color: #fff;
	padding: 0 0.6rem;
	max-width: 9rem;
}

.banner-title {
	font-size: 0.42rem;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 0.1rem;
	text-shadow: 0 2px 8px rgba(0,0,0,.3);
}

.banner-desc {
	font-size: 0.17rem;
	line-height: 1.6;
	margin-bottom: 0.25rem;
	opacity: .92;
	text-shadow: 0 1px 4px rgba(0,0,0,.3);
}

.banner-cta {
	display: inline-block;
	padding: 0.14rem 0.4rem;
	border: 2px solid #c9a84c;
	background: rgba(201,168,76,.15);
	color: #fff;
	font-size: 0.16rem;
	font-weight: bold;
	border-radius: 4px;
	transition: all .3s;
}

.banner-cta:hover {
	background: #c9a84c;
	color: #fff;
}

.banner-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	border: 2px solid rgba(255,255,255,.4);
	background: rgba(0,0,0,.25);
	color: #fff;
	font-size: 0.24rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .3s;
	opacity: 0;
}

.banner-slider:hover .banner-arrow { opacity: 1; }

.banner-arrow:hover {
	background: rgba(0,0,0,.55);
	border-color: #c9a84c;
}

.banner-arrow-prev { left: 0.25rem; }
.banner-arrow-next { right: 0.25rem; }

.banner-dots {
	position: absolute;
	bottom: 0.25rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	gap: 0.1rem;
}

.banner-dot {
	width: 0.12rem;
	height: 0.12rem;
	border-radius: 50%;
	background: rgba(255,255,255,.45);
	cursor: pointer;
	transition: all .3s;
	border: none;
}

.banner-dot.active {
	background: #c9a84c;
	transform: scale(1.4);
	box-shadow: 0 0 6px rgba(201,168,76,.6);
}

/* === Team List Grid (列表页) === */
.team-list-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0.3rem;
}

.team-list-card {
	box-sizing: border-box;
	width: calc(33.33% - 0.3rem);
	background: #fff;
	border: 1px solid #eee;
	border-radius: 6px;
	overflow: hidden;
	text-align: center;
	transition: all .35s;
	display: block;
}

.team-list-card:hover {
	border-color: #c9a84c;
	box-shadow: 0 6px 22px rgba(201,168,76,.15);
	transform: translateY(-0.05rem);
}

.team-list-photo {
	width: 100%;
	padding-bottom: 100%;
	position: relative;
	overflow: hidden;
	background: #f0f0f0;
}

.team-list-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

.team-list-name {
	font-size: 0.18rem;
	font-weight: bold;
	color: #1a3a5c;
	padding: 0.15rem 0.1rem 0;
}

.team-list-field {
	font-size: 0.13rem;
	color: #c9a84c;
	padding: 0.05rem 0.1rem 0.15rem;
}

/* === Team Detail (详情页) === */
.team-detail-header {
	display: flex;
	gap: 0.4rem;
	align-items: flex-start;
	margin-bottom: 0.3rem;
	padding-bottom: 0.3rem;
	border-bottom: 1px solid #f0f0f0;
}

.team-detail-photo {
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	border-radius: 6px;
	overflow: hidden;
	border: 3px solid #c9a84c;
}

.team-detail-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 4px;
}

.team-detail-info h3 {
	font-size: 0.24rem;
	font-weight: bold;
	color: #1a3a5c;
	margin-bottom: 0.1rem;
}

.team-detail-info .team-detail-field {
	font-size: 0.15rem;
	color: #c9a84c;
	font-weight: bold;
	margin-bottom: 0.08rem;
}

.team-detail-info .team-detail-desc {
	font-size: 0.14rem;
	color: #666;
	line-height: 1.8;
}

/* === Service Pages (corporate / marriage) === */
.svc-hero {
	text-align: center;
	padding: 0.6rem 0 0.4rem;
}

.svc-hero h2 {
	font-size: 0.3rem;
	font-weight: bold;
	color: #1a3a5c;
	margin-bottom: 0.12rem;
}

.svc-hero .svc-hero-sub {
	font-size: 0.16rem;
	color: #666;
	margin-bottom: 0.15rem;
}

.svc-hero .svc-hero-stats {
	font-size: 0.16rem;
	color: #c9a84c;
	font-weight: bold;
	margin-bottom: 0.2rem;
}

.svc-hero .svc-hero-cta {
	display: inline-block;
	padding: 0.15rem 0.4rem;
	background: #1a3a5c;
	color: #fff;
	font-size: 0.16rem;
	font-weight: bold;
	border-radius: 4px;
	transition: all .3s;
}

.svc-hero .svc-hero-cta:hover {
	background: #c9a84c;
	color: #fff;
}

.svc-section {
	padding: 0.4rem 0;
}

.svc-section-title {
	text-align: center;
	font-size: 0.24rem;
	font-weight: bold;
	color: #1a3a5c;
	margin-bottom: 0.35rem;
	position: relative;
}

.svc-section-title::after {
	content: "";
	display: block;
	margin: 0.1rem auto 0;
	width: 0.7rem;
	height: 0.03rem;
	background: #c9a84c;
}

.svc-card-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	justify-content: center;
}

.svc-card {
	box-sizing: border-box;
	width: calc(25% - 0.25rem);
	background: #f8f8f6;
	border: 2px solid transparent;
	border-radius: 6px;
	padding: 0.3rem 0.2rem;
	text-align: center;
	transition: all .35s;
}

.svc-card:hover {
	border-color: #c9a84c;
	background: #fff;
	box-shadow: 0 6px 20px rgba(201,168,76,.12);
	transform: translateY(-0.05rem);
}

.svc-card-icon {
	width: 0.6rem;
	height: 0.6rem;
	line-height: 0.6rem;
	background: #1a3a5c;
	color: #c9a84c;
	font-size: 0.24rem;
	border-radius: 50%;
	margin: 0 auto 0.15rem;
	transition: background .3s, color .3s;
}

.svc-card:hover .svc-card-icon {
	background: #c9a84c;
	color: #fff;
}

.svc-card h4 {
	font-size: 0.17rem;
	font-weight: bold;
	color: #1a3a5c;
	margin-bottom: 0.08rem;
}

.svc-card p {
	font-size: 0.13rem;
	color: #888;
	line-height: 1.6;
}

.svc-pricing-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	justify-content: center;
}

.svc-pricing-card {
	box-sizing: border-box;
	width: calc(33.33% - 0.25rem);
	background: #fff;
	border: 2px solid #eee;
	border-radius: 8px;
	padding: 0.35rem 0.25rem;
	text-align: center;
	transition: all .35s;
	position: relative;
}

.svc-pricing-card:hover {
	border-color: #c9a84c;
	box-shadow: 0 8px 24px rgba(201,168,76,.15);
}

.svc-pricing-card.featured {
	border-color: #c9a84c;
	box-shadow: 0 4px 16px rgba(201,168,76,.15);
}

.svc-pricing-card .svc-price {
	font-size: 0.36rem;
	font-weight: bold;
	color: #1a3a5c;
	margin: 0.15rem 0;
}

.svc-pricing-card .svc-price small {
	font-size: 0.14rem;
	font-weight: normal;
	color: #888;
}

.svc-pricing-card ul {
	text-align: left;
	padding: 0.15rem;
	margin: 0.15rem 0;
}

.svc-pricing-card ul li {
	padding: 0.06rem 0;
	font-size: 0.13rem;
	color: #555;
	border-bottom: 1px dashed #f0f0f0;
}

.svc-pricing-card ul li::before {
	content: "✓ ";
	color: #c9a84c;
}

.svc-flow-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0.2rem;
	justify-content: center;
}

.svc-flow-item {
	box-sizing: border-box;
	width: calc(20% - 0.2rem);
	text-align: center;
	padding: 0.25rem 0.1rem;
	position: relative;
}

.svc-flow-num {
	width: 0.5rem;
	height: 0.5rem;
	line-height: 0.5rem;
	background: #1a3a5c;
	color: #fff;
	font-size: 0.2rem;
	font-weight: bold;
	border-radius: 50%;
	margin: 0 auto 0.12rem;
}

.svc-flow-item h4 {
	font-size: 0.15rem;
	font-weight: bold;
	color: #1a3a5c;
	margin-bottom: 0.06rem;
}

.svc-flow-item p {
	font-size: 0.12rem;
	color: #888;
}

.svc-nav-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem;
	justify-content: center;
	margin-bottom: 0.35rem;
}

.svc-nav-tab {
	padding: 0.1rem 0.25rem;
	border: 2px solid #1a3a5c;
	color: #1a3a5c;
	font-size: 0.15rem;
	font-weight: bold;
	border-radius: 4px;
	cursor: pointer;
	transition: all .3s;
	background: #fff;
}

.svc-nav-tab:hover, .svc-nav-tab.active {
	background: #1a3a5c;
	color: #fff;
}

.svc-tab-panel { display: none; }
.svc-tab-panel.active { display: block; }

.svc-section.alt {
	background: #f8f8f6;
}

.svc-section.dark {
	background: #1a3a5c;
	color: #fff;
}

.svc-section.dark .svc-section-title { color: #fff; }

.svc-cta-section {
	text-align: center;
	padding: 0.6rem 0;
	background: #1a3a5c;
	color: #fff;
}

.svc-cta-section h2 {
	font-size: 0.26rem;
	font-weight: bold;
	margin-bottom: 0.15rem;
}

.svc-cta-section p {
	font-size: 0.15rem;
	opacity: .85;
	margin-bottom: 0.25rem;
}

.svc-cta-section .btn-gold {
	display: inline-block;
	padding: 0.15rem 0.4rem;
	background: #c9a84c;
	color: #fff;
	font-size: 0.17rem;
	font-weight: bold;
	border-radius: 4px;
	transition: all .3s;
	margin: 0 0.1rem;
}

.svc-cta-section .btn-gold:hover {
	background: #fff;
	color: #1a3a5c;
}

/* ============================================
   PC Style (min-width: 768px)
   ============================================ */
@media screen and (min-width: 768px) {
	html { font-size: 625%; }

	.container {
		width: 7.6rem;
		margin: 0 auto;
	}

	/* Banner tablet */
	.banner-slider { height: 3.5rem; }
	.banner-title { font-size: 0.32rem; }
	.banner-desc { font-size: 0.15rem; }

	/* Tool Bar */
	.tool-bar {
		right: 5px;
		bottom: 200px;
		z-index: 99;
	}

	.tool-item {
		position: relative;
		width: 80px;
		height: 64px;
		margin-bottom: 1px;
	}

	.tool-item-cap { border-radius: 4px; }
	.tool-item-cap:hover { background: #c9a84c; }

	.tool-item-cap .fa {
		margin-top: 10px;
		font-size: 24px;
	}

	.tool-item-name { font-size: 13px; }

	.tool-qrcode {
		top: 0;
		right: 80px;
		padding: 10px 10px 1px;
		box-shadow: 0 2px 4px 0 rgba(0,0,0,.1);
		border-radius: 4px;
	}

	.tool-qrcode .wechat-qrcode { margin-bottom: 10px; }

	.tool-qrcode .wechat-qrcode .qrcode {
		height: 128px;
		width: 128px;
		border: 1px solid #eaeaea;
		border-radius: 4px;
		padding: 3px;
		margin-bottom: 4px;
	}

	.tool-qrcode .qrcode img {
		height: 120px;
		width: 120px;
	}

	.tool-qrcode .qrcode-name {
		margin-bottom: 10px;
		font-size: 13px;
		color: #666;
	}

	.tool-tel {
		top: 0;
		width: 280px;
		height: 64px;
		border-radius: 4px;
		line-height: 64px;
		font-size: 28px;
	}

	.tool-tel .fa { margin-right: 20px; }

	/* Header */
	.header { padding: 0.3rem 0; }

	.logo-tel { margin-left: 0.6rem; }

	.logo-tel p {
		font-weight: bold;
		font-size: 0.15rem;
	}

	.logo-tel a {
		color: #1a3a5c;
		font-weight: bold;
		font-size: 0.3rem;
		line-height: 0.3rem;
	}

	.logo-tel a:hover { color: #c9a84c; }

	/* Layout */
	.section { padding: 0.6rem 0; }

	.ind-case-ul li { width: 49%; }
	.ind-blog-ul li { width: 49%; }

	/* Footer */
	.footer-item {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.foot {
		box-sizing: border-box;
		width: 49%;
	}

	.foot:nth-child(3),
	.foot:nth-child(4) { margin: 0.3rem 0; }

	/* List solution */
	.list-sol-ul {
		display: flex;
		flex-wrap: wrap;
	}

	.list-sol-ul li {
		box-sizing: border-box;
		width: 50%;
		padding: 0.1rem;
	}

	.list-case-ul .list-item {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.list-case-ul .list-item-img { width: 30%; }
	.list-case-ul .list-item-text {
		width: 70%;
		padding-left: 0.3rem;
	}

	/* Business grid tablet */
	.business-card { width: calc(50% - 0.3rem); }

	/* Team carousel tablet: show 3 cards */
	.lawyer-card { width: calc(33.33% - 0.15rem); }

	/* Showcase gallery tablet: 2 columns waterfall */
	.showcase-gallery { columns: 2; }
}

/* ============================================
   Large PC Style (min-width: 1200px)
   ============================================ */
@media screen and (min-width: 1200px) {
	html { font-size: 625%; }
	.container { width: 11.7rem; }

	/* Banner desktop full size */
	.banner-slider { height: 5rem; }
	.banner-title { font-size: 0.42rem; }
	.banner-desc { font-size: 0.17rem; }

	/* Header */
	.navbar {
		display: flex;
		align-items: center;
	}

	.nav-menu { display: flex; }

	.nav-menu-child-child {
		display: none;
		width: 2rem;
		background: #f6f6f6;
		box-shadow: 0 0.05rem 0.05rem rgba(0,0,0,.1);
		z-index: 99;
	}

	.nav-menu-child-child>li { display: block; }

	.nav-menu-child-child>li:nth-child(n+2) {
		border-top: 0.01rem solid rgba(0,0,0,.1);
	}

	.nav-menu-child-child>li>a {
		display: block;
		width: 100%;
		text-align: center;
		padding: 0.1rem 0;
	}

	.nav-menu-child-child>li>a:hover {
		background: #1a3a5c;
		color: #fff;
	}

	.nav-menu>li {
		position: relative;
		display: inline-block;
	}

	.nav-menu>li>a {
		font-size: 0.15rem;
		font-weight: 500;
		display: block;
		padding: 0.15rem;
	}

	.nav-menu-child>li { position: relative; }

	.nav-menu-child>li:nth-child(n+2) {
		border-top: 0.01rem solid rgba(0,0,0,.1);
	}

	.nav-menu-child>li:hover .nav-menu-child-child {
		display: block;
		position: absolute;
		left: 100%;
		top: 0;
	}

	.nav-menu-child>li>a {
		display: block;
		text-align: center;
		padding: 0.1rem 0.05rem;
	}

	.nav-menu-child>li>a:hover {
		background: #1a3a5c;
		color: #fff;
	}

	.nav-menu>li:hover .nav-menu-child {
		display: block;
		position: absolute;
		z-index: 99;
		width: 120%;
		left: 0;
		background: #f6f6f6;
		box-shadow: 0 0.05rem 0.05rem rgba(0,0,0,.1);
	}

	/* Layout */
	.ind-pro-item {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}

	.ind-pro-list {
		box-sizing: border-box;
		width: 80%;
	}

	.ind-pro-nav {
		box-sizing: border-box;
		width: 20%;
		padding-right: 0.3rem;
	}

	.ind-pro-ul li { width: 24%; }

	.ind-about-item {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.ind-about-img {
		box-sizing: border-box;
		width: 40%;
	}

	.ind-about-text {
		box-sizing: border-box;
		width: 60%;
		padding: 0.3rem;
	}

	.ind-case-ul li { width: 24%; }
	.foot { width: 24%; }
	.foot:nth-child(3),
	.foot:nth-child(4) { margin: 0; }

	.index-pro-ul li { width: 25%; }

	/* Business grid desktop */
	.business-card { width: calc(33.33% - 0.3rem); }
	.contact-info-card { width: calc(25% - 0.3rem); }

	/* Team carousel desktop: show 4 cards */
	.lawyer-card { width: calc(25% - 0.18rem); }

	/* Team list desktop: 4-column grid */
	.team-list-card { width: calc(25% - 0.3rem); }

	/* Svc cards desktop: 4 / 3 columns */
	.svc-card { width: calc(25% - 0.25rem); }
	.svc-pricing-card { width: calc(33.33% - 0.25rem); }
	.svc-flow-item { width: calc(20% - 0.2rem); }

	/* Showcase gallery desktop: 3 columns waterfall */
	.showcase-gallery { columns: 3; }

	.page-item {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}

	.page-content {
		box-sizing: border-box;
		width: 75%;
	}

	.sidebar {
		box-sizing: border-box;
		width: 25%;
		padding-right: 0.3rem;
		margin-top: 0;
	}

	.list-pro-ul li { width: 33.33%; }

	.toppro {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.toppro-img { width: 45%; }
	.toppro-text {
		width: 55%;
		padding: 0.3rem 0.3rem 0.6rem 0.3rem;
	}

	.rel-pro-ul li { width: 25%; }
	.list-sol-ul li { width: 33.33%; }
}

/* ============================================
   Extra Large (min-width: 1400px)
   ============================================ */
@media screen and (min-width: 1400px) {
	html { font-size: 625%; }
	.container {
		width: 13.7rem;
		margin: 0 auto;
	}
}

/* ============================================
   Tablet / Mobile (max-width: 1200px)
   ============================================ */
@media screen and (max-width: 1200px) {
	.m-menu-open,.m-menu-close {
		width: 0.3rem;
		height: 0.3rem;
		line-height: 0.3rem;
		font-size: 0.3rem;
	}

	.m-menu-open { display: inline-block; }
	.m-nav-show .m-menu-open { display: none; }
	.m-nav-show .m-menu-close { display: inline-block; }
	.nav-menu { display: none; }

	.nav-menu>li>a {
		display: block;
		background: #fff;
		padding: 0.1rem;
	}

	.m-nav-show .nav-menu {
		display: block;
		position: absolute;
		z-index: 111;
		top: 15%;
		right: 0;
		width: 100%;
	}

	.m-nav-show .nav-menu li {
		display: block;
		border-top: 0.01rem solid #f0f0f0;
		text-align: center;
	}

	/* Tool bar mobile */
	.tool-bar {
		bottom: 0;
		z-index: 10;
		width: 100%;
		font-size: 0.16rem;
	}

	.tool-item {
		float: left;
		width: 25%;
		height: 0.8rem;
	}

	.tool-item-cap .fa {
		margin-top: 0.2rem;
		font-size: 0.3rem;
	}

	.tool-item-name {
		margin-top: 0.1rem;
		font-size: 0.18rem;
	}

	.tool-qrcode {
		bottom: 100%;
		left: 0;
		width: 100%;
		padding: 0.4rem 0 0.2rem;
	}

	.tool-qrcode .wechat-qrcode {
		display: inline-block;
		margin: 0 0.4rem;
	}

	.tool-qrcode .wechat-qrcode .qrcode {
		width: 2.08rem;
		height: 2.08rem;
		padding: 0.04rem;
	}

	.tool-qrcode .qrcode img {
		height: 2rem;
		width: 2rem;
	}

	.tool-tel {
		top: -100%;
		width: 100%;
		height: 1rem;
		line-height: 1rem;
	}

	.tool-tel a {
		font-size: 0.3rem;
		color: #fff;
	}
}

/* ============================================
   Small Mobile (max-width: 768px)
   ============================================ */
@media screen and (max-width: 768px) {
	.container {
		margin-left: 0.15rem;
		margin-right: 0.15rem;
	}

	/* Banner mobile */
	.banner-slider { height: 2.4rem; }
	.banner-title { font-size: 0.22rem; }
	.banner-desc { display: none; }
	.banner-cta { padding: 0.08rem 0.2rem; font-size: 0.13rem; }
	.banner-arrow { width: 0.34rem; height: 0.34rem; font-size: 0.16rem; }
	.banner-dot { width: 0.08rem; height: 0.08rem; }
	.banner-content { padding: 0 0.3rem; }

	/* About video mobile */
	.about-video-play { width: 0.48rem; height: 0.48rem; font-size: 0.2rem; }

	.tool-bar {
		left: 0;
		bottom: 0;
		width: 100%;
		border-top: 0.03rem solid #1a3a5c;
	}

	.tool-item {
		float: left;
		width: 25%;
	}

	.tool-item .fa {
		font-size: 0.18rem;
		margin-top: 0.18rem;
	}

	.top-left { display: none; }

	.top-right {
		width: 100%;
		text-align: center;
	}

	.header { padding: 0.15rem 0; }
	.logo-tel { display: none; }
	.section { padding: 0.3rem 0; }
	/* 给底部版权留出固定工具栏的空间 */
	.footer { padding-bottom: 0.65rem; }
	.foot { margin-bottom: 0.3rem; }
	.toppro { padding-top: 0.3rem; }
	.single-table { overflow-x: auto; width: 100%; }

	/* Business grid mobile */
	.business-card { width: 100%; }
	.contact-info-card { width: 100%; }

	.ind-about-item { flex-direction: column; }
	.ind-about-text { padding: 0.15rem 0; }

	/* Team carousel mobile: show 1 card, arrows overlaid */
	.team-carousel-wrap {
		position: relative;
		gap: 0;
	}
	.team-carousel-viewport {
		flex: none;
		width: 100%;
		padding: 0 0.28rem;
		box-sizing: border-box;
	}
	.lawyer-card {
		width: 100%;
		padding: 0.2rem 0.15rem;
	}
	.lawyer-photo {
		width: 1.2rem;
		height: 1.2rem;
		margin-bottom: 0.12rem;
		border-width: 3px;
	}
	.lawyer-name {
		font-size: 0.16rem;
		margin-bottom: 0.06rem;
	}
	.lawyer-field {
		font-size: 0.13rem;
	}
	.team-arrow {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 0.26rem;
		height: 0.26rem;
		font-size: 0.12rem;
		border: 1.5px solid #1a3a5c;
		background: rgba(255,255,255,.85);
		z-index: 3;
	}
	.team-arrow-prev { left: 0; }
	.team-arrow-next { right: 0; }
	.team-arrow:hover {
		background: #1a3a5c;
		color: #fff;
	}


	/* Showcase gallery mobile: single column */
	.showcase-gallery { columns: 1; }

	/* --- 移动端首页其他模块优化 --- */
	/* 案例列表改为单列 */
	.ind-case-ul li { width: 100%; }
	/* 博客列表改为单列 */
	.ind-blog-ul li { width: 100%; }
	/* 标题适当缩小 */
	.ind-case-title { font-size: 0.22rem; }
	/* 关于我们标题 */
	.ind-about-text h2 { font-size: 0.22rem; }

	/* 移动端 Lightbox 按钮适配 */
	.showcase-lightbox-prev,
	.showcase-lightbox-next {
		width: 0.38rem;
		height: 0.38rem;
		font-size: 0.22rem;
	}
	.showcase-lightbox-prev { left: 0.08rem; }
	.showcase-lightbox-next { right: 0.08rem; }
	.showcase-lightbox-img { max-width: 95vw; max-height: 70vh; }
	.showcase-lightbox-img img { max-height: 70vh; }

	/* Team list mobile */
	.team-list-card { width: calc(50% - 0.2rem); }
	.team-list-name { font-size: 0.15rem; }
	.team-list-field { font-size: 0.12rem; }

	/* Team detail mobile */
	.team-detail-header { flex-direction: column; align-items: center; text-align: center; }
	.team-detail-photo { width: 1.5rem; height: 1.5rem; }

	/* Svc pages mobile */
	.svc-hero { padding: 0.3rem 0; }
	.svc-hero h2 { font-size: 0.22rem; }
	.svc-card { width: calc(50% - 0.2rem); }
	.svc-pricing-card { width: 100%; }
	.svc-flow-item { width: calc(50% - 0.2rem); }
	.svc-nav-tab { font-size: 0.13rem; padding: 0.08rem 0.16rem; }
}

/* ============================================
   Sticky Nav Scrolled Enhancement
   ============================================ */
#sticky-nav {
    background: transparent;
}

#header {
    background: #fff;
}

.sticky-nav.scrolled {
    box-shadow: 0 3px 16px rgba(26,58,92,.18);
}

/* 保证 header 下拉菜单层级正确 */
#sticky-nav .nav-menu-child {
    z-index: 1001;
}

/* 移动端菜单展开时固定在 sticky-nav 内 */
@media screen and (max-width: 1200px) {
    .m-nav-show .nav-menu {
        top: 100%;
        position: fixed;
        left: 0;
        width: 100%;
        z-index: 1100;
        background: #fff;
        box-shadow: 0 4px 16px rgba(26,58,92,.15);
    }
}

/* ============================================
   Corporate Page - 企业法律服务专属样式
   ============================================ */

/* Hero */
.svc-hero-corp {
    text-align: center;
    padding: 0.7rem 0.3rem 0.5rem;
    background: linear-gradient(180deg, #f8f8f6 0%, #fff 100%);
    border-radius: 6px;
    margin-bottom: 0.4rem;
}
.svc-hero-corp .svc-hero-firm {
    color: #1a3a5c;
    font-size: 0.14rem;
    letter-spacing: 0.04rem;
    margin-bottom: 0.12rem;
}
.svc-hero-corp .svc-hero-title {
    font-size: 0.32rem;
    font-weight: bold;
    color: #1a3a5c;
    margin-bottom: 0.15rem;
    line-height: 1.4;
}
.svc-hero-corp .svc-hero-lead {
    font-size: 0.18rem;
    color: #c9a84c;
    font-weight: bold;
    margin-bottom: 0.08rem;
}
.svc-hero-corp .svc-hero-note {
    font-size: 0.14rem;
    color: #888;
}
.svc-hero-actions {
    margin-top: 0.25rem;
    display: flex;
    gap: 0.15rem;
    justify-content: center;
    flex-wrap: wrap;
}

/* Section header */
.svc-section-header {
    text-align: center;
    margin-bottom: 0.35rem;
}
.svc-section-title {
    font-size: 0.26rem;
    font-weight: bold;
    color: #1a3a5c;
    margin-bottom: 0.1rem;
}
.svc-section-title::after {
    content: "";
    display: block;
    width: 0.5rem;
    height: 3px;
    background: #c9a84c;
    margin: 0.1rem auto 0;
}
.svc-section-subtitle {
    font-size: 0.2rem;
    color: #1a3a5c;
    font-weight: bold;
    margin: 0.05rem 0;
}
.svc-section-desc {
    font-size: 0.14rem;
    color: #888;
    margin-top: 0.08rem;
}

/* 4-col card grid */
.svc-card-grid.four .svc-card { width: calc(25% - 0.25rem); }
.svc-card-grid.three .svc-card { width: calc(33.33% - 0.25rem); }

/* Advantage list (corporate) */
.svc-advantage-grid {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.svc-advantage-item {
    display: flex;
    align-items: flex-start;
    gap: 0.2rem;
    padding: 0.2rem;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #eee;
    transition: all .3s;
}
.svc-advantage-item:hover {
    border-color: #c9a84c;
    box-shadow: 0 4px 16px rgba(201,168,76,.12);
}
.svc-advantage-icon {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: #1a3a5c;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.22rem;
    flex-shrink: 0;
}
.svc-advantage-body h4 {
    font-size: 0.17rem;
    margin-bottom: 0.06rem;
    color: #1a3a5c;
}
.svc-advantage-body p {
    font-size: 0.14rem;
    color: #666;
    line-height: 1.6;
}

/* Pricing cards */
.svc-pricing-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
}
.svc-pricing-card {
    box-sizing: border-box;
    width: calc(33.33% - 0.2rem);
    border: 2px solid #eee;
    border-radius: 8px;
    padding: 0.3rem 0.25rem;
    text-align: center;
    position: relative;
    background: #fff;
    transition: all .3s;
}
.svc-pricing-card:hover {
    border-color: #c9a84c;
    box-shadow: 0 8px 24px rgba(201,168,76,.15);
    transform: translateY(-3px);
}
.svc-pricing-card.featured {
    border-color: #c9a84c;
    background: linear-gradient(180deg, #fffef5 0%, #fff 30%);
    box-shadow: 0 4px 20px rgba(201,168,76,.18);
    transform: scale(1.03);
}
.svc-pricing-card.featured:hover {
    transform: scale(1.03) translateY(-3px);
}
.svc-badge-recommend {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: #c9a84c;
    color: #fff;
    padding: 0.04rem 0.2rem;
    border-radius: 20px;
    font-size: 0.13rem;
    font-weight: bold;
    letter-spacing: 0.02rem;
}
.svc-pricing-label {
    font-size: 0.18rem;
    font-weight: bold;
    color: #1a3a5c;
    margin-bottom: 0.06rem;
}
.svc-pricing-fit {
    font-size: 0.13rem;
    color: #888;
    margin-bottom: 0.12rem;
}
.svc-price {
    font-size: 0.36rem;
    font-weight: bold;
    color: #c9a84c;
    margin-bottom: 0.05rem;
}
.svc-price small {
    font-size: 0.14rem;
    font-weight: normal;
    color: #888;
}
.svc-pricing-tagline {
    font-size: 0.13rem;
    color: #999;
    margin-bottom: 0.15rem;
}
.svc-pricing-features {
    text-align: left;
    padding: 0;
    list-style: none;
    margin-bottom: 0.2rem;
}
.svc-pricing-features li {
    padding: 0.07rem 0;
    font-size: 0.13rem;
    color: #555;
    border-bottom: 1px solid #f5f5f5;
}
.svc-pricing-features li::before {
    content: "✓ ";
    color: #c9a84c;
    font-weight: bold;
}

/* Buttons */
.svc-btn-primary {
    display: inline-block;
    padding: 0.12rem 0.3rem;
    background: #c9a84c;
    color: #fff;
    border-radius: 4px;
    font-size: 0.15rem;
    font-weight: bold;
    text-decoration: none;
    transition: all .3s;
    border: none;
    cursor: pointer;
}
.svc-btn-primary:hover {
    background: #b8943a;
    color: #fff;
    transform: translateY(-1px);
}
.svc-btn-outline {
    display: inline-block;
    padding: 0.12rem 0.3rem;
    border: 2px solid #c9a84c;
    color: #c9a84c;
    border-radius: 4px;
    font-size: 0.15rem;
    font-weight: bold;
    text-decoration: none;
    transition: all .3s;
    background: transparent;
}
.svc-btn-outline:hover {
    background: #c9a84c;
    color: #fff;
    transform: translateY(-1px);
}
.svc-btn-featured {
    display: inline-block;
    padding: 0.12rem 0.3rem;
    border: 2px solid #c9a84c;
    color: #c9a84c;
    border-radius: 4px;
    font-size: 0.15rem;
    font-weight: bold;
    text-decoration: none;
    transition: all .3s;
}
.svc-btn-featured:hover {
    background: #c9a84c;
    color: #fff;
}

/* Process timeline */
.svc-process-grid {
    display: grid;
    gap: 0;
}
.svc-process-item {
    display: flex;
    align-items: flex-start;
    gap: 0.15rem;
    position: relative;
    padding-bottom: 0.25rem;
}
.svc-process-num {
    width: 0.48rem;
    height: 0.48rem;
    border-radius: 50%;
    background: #1a3a5c;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.2rem;
    font-weight: bold;
    flex-shrink: 0;
    z-index: 1;
}
.svc-process-connector {
    display: none;
}
.svc-process-content h4 {
    font-size: 0.17rem;
    color: #1a3a5c;
    margin-bottom: 0.04rem;
}
.svc-process-content p {
    font-size: 0.13rem;
    color: #666;
}
.svc-process-time {
    display: inline-block;
    margin-top: 0.06rem;
    padding: 0.03rem 0.12rem;
    background: #f0f0f0;
    border-radius: 12px;
    font-size: 0.12rem;
    color: #888;
}
.svc-time-urgent {
    background: #fff3e0;
    color: #e65100;
    font-weight: bold;
}

/* Result cards */
.svc-result-card .svc-result-list {
    list-style: none;
    padding: 0.08rem 0 0;
    text-align: left;
}
.svc-result-card .svc-result-list li {
    padding: 0.04rem 0;
    font-size: 0.12rem;
    color: #666;
}
.svc-result-card .svc-result-list li::before {
    content: "· ";
    color: #c9a84c;
    font-weight: bold;
}

/* Guarantee cards */
.svc-guarantee-card.svc-guarantee-highlight {
    border-color: #c9a84c;
    background: linear-gradient(180deg, #fffef5 0%, #fff 100%);
}
.svc-guarantee-card.svc-guarantee-highlight strong {
    color: #c9a84c;
}

/* CTA section */
.svc-cta-section {
    text-align: center;
    padding: 0.6rem 0.3rem;
    background: linear-gradient(135deg, #1a3a5c 0%, #2a5a8c 100%);
    color: #fff;
    border-radius: 6px;
    margin: 0.4rem 0;
}
.svc-cta-section h2 {
    font-size: 0.26rem;
    font-weight: bold;
    margin-bottom: 0.1rem;
}
.svc-cta-section h3 {
    font-size: 0.2rem;
    font-weight: normal;
    margin-bottom: 0.1rem;
}
.svc-cta-section .svc-cta-lead {
    font-size: 0.15rem;
    opacity: .85;
    margin-bottom: 0.25rem;
}
.svc-contact-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.1rem;
    margin-bottom: 0.25rem;
}
.svc-contact-item {
    display: flex;
    align-items: center;
    gap: 0.1rem;
    font-size: 0.14rem;
}
.svc-contact-item i {
    color: #c9a84c;
    font-size: 0.16rem;
}
.svc-cta-buttons {
    display: flex;
    gap: 0.15rem;
    justify-content: center;
    flex-wrap: wrap;
}
.svc-cta-section .svc-btn-outline {
    border-color: rgba(255,255,255,.6);
    color: #fff;
}
.svc-cta-section .svc-btn-outline:hover {
    background: #fff;
    color: #1a3a5c;
}

/* Footer note */
.svc-footer-note {
    text-align: center;
    padding: 0.3rem 0;
    font-size: 0.13rem;
    color: #999;
    line-height: 1.8;
}
.svc-footer-disclaimer {
    font-size: 0.12rem;
    color: #bbb;
    margin-top: 0.15rem;
    padding-top: 0.15rem;
    border-top: 1px solid #eee;
}

/* ============================================
   Marriage Page - 婚姻家事专属样式
   ============================================ */

/* Hero */
.svc-hero-marriage {
    text-align: center;
    padding: 0.7rem 0.3rem 0.5rem;
    background: linear-gradient(180deg, #f8f8f6 0%, #fff 100%);
    border-radius: 6px;
    margin-bottom: 0.4rem;
}
.svc-hero-marriage .svc-hero-firm {
    color: #1a3a5c;
    font-size: 0.14rem;
    letter-spacing: 0.04rem;
    margin-bottom: 0.12rem;
}
.svc-hero-marriage .svc-hero-title {
    font-size: 0.32rem;
    font-weight: bold;
    color: #1a3a5c;
    margin-bottom: 0.12rem;
    line-height: 1.4;
}
.svc-hero-marriage .svc-hero-subtitle {
    font-size: 0.16rem;
    color: #666;
    line-height: 1.6;
    margin-bottom: 0.25rem;
}

/* Stats row */
.svc-hero-stats {
    display: flex;
    justify-content: center;
    gap: 0.4rem;
    margin-bottom: 0.25rem;
    flex-wrap: wrap;
}
.svc-stat-item {
    text-align: center;
}
.svc-stat-num {
    display: block;
    font-size: 0.36rem;
    font-weight: bold;
    color: #c9a84c;
}
.svc-stat-label {
    display: block;
    font-size: 0.13rem;
    color: #888;
    margin-top: 0.04rem;
}

/* Phase cards (entrance) */
.svc-phase-cards {
    gap: 0.15rem;
}
.svc-phase-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0.25rem 0.15rem;
    background: #fff;
    border: 2px solid #eee;
    border-radius: 8px;
    text-decoration: none;
    transition: all .3s;
    box-sizing: border-box;
    width: calc(25% - 0.15rem);
}
.svc-phase-card:hover {
    border-color: #c9a84c;
    box-shadow: 0 6px 20px rgba(201,168,76,.15);
    transform: translateY(-3px);
}
.svc-phase-emoji {
    font-size: 0.4rem;
    margin-bottom: 0.08rem;
}
.svc-phase-card .svc-phase-num {
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 50%;
    background: #1a3a5c;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.14rem;
    font-weight: bold;
    margin-bottom: 0.08rem;
}
.svc-phase-card h4 {
    font-size: 0.16rem;
    color: #1a3a5c;
    margin-bottom: 0.05rem;
}
.svc-phase-card p {
    font-size: 0.12rem;
    color: #888;
    margin-bottom: 0.1rem;
}
.svc-phase-tag {
    padding: 0.03rem 0.12rem;
    background: #f0f0f0;
    border-radius: 12px;
    font-size: 0.11rem;
    color: #1a3a5c;
}

/* Phase detail section */
.svc-phase-section {
    padding: 0.5rem 0;
    border-bottom: 1px solid #eee;
}
.svc-phase-header {
    text-align: center;
    margin-bottom: 0.25rem;
}
.svc-phase-badge {
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 50%;
    background: #1a3a5c;
    color: #fff;
    font-size: 0.22rem;
    font-weight: bold;
    line-height: 0.45rem;
    margin-bottom: 0.1rem;
}
.svc-phase-label {
    display: block;
    font-size: 0.13rem;
    color: #c9a84c;
    letter-spacing: 0.04rem;
    margin-bottom: 0.06rem;
}
.svc-phase-header h2 {
    font-size: 0.26rem;
    font-weight: bold;
    color: #1a3a5c;
}
.svc-phase-intro {
    background: #f8f8f6;
    padding: 0.2rem;
    border-radius: 6px;
    margin-bottom: 0.25rem;
    font-size: 0.14rem;
    color: #555;
    line-height: 1.8;
}
.svc-phase-intro strong {
    color: #1a3a5c;
}

/* FAQ box */
.svc-faq-box {
    background: #fff8e1;
    border-left: 4px solid #c9a84c;
    padding: 0.2rem 0.25rem;
    margin-bottom: 0.25rem;
    border-radius: 0 6px 6px 0;
}
.svc-faq-box h4 {
    font-size: 0.16rem;
    color: #1a3a5c;
    margin-bottom: 0.1rem;
    font-weight: bold;
}
.svc-faq-box ul {
    list-style: none;
    padding: 0;
}
.svc-faq-box ul li {
    padding: 0.06rem 0;
    font-size: 0.14rem;
    color: #555;
}
.svc-faq-box ul li::before {
    content: "❓ ";
}

/* Card emoji */
.svc-card-emoji {
    font-size: 0.4rem;
    margin-bottom: 0.1rem;
    text-align: center;
}
.svc-emoji-lg {
    font-size: 0.5rem;
}
.svc-card-tag {
    display: inline-block;
    margin-top: 0.08rem;
    padding: 0.03rem 0.12rem;
    background: #f0f0f0;
    border-radius: 12px;
    font-size: 0.11rem;
    color: #1a3a5c;
}

/* ============================================
   Services Page - 核心业务专题页
   ============================================ */

/* Service blocks */
.svc-services-grid {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.svc-service-block {
    display: flex;
    gap: 0.25rem;
    padding: 0.3rem;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
    transition: all .3s;
}
.svc-service-block:hover {
    border-color: #c9a84c;
    box-shadow: 0 4px 20px rgba(26,58,92,.1);
    transform: translateX(4px);
}
.svc-service-icon {
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.32rem;
    color: #fff;
    flex-shrink: 0;
}
.svc-service-body {
    flex: 1;
}
.svc-service-body h3 {
    font-size: 0.2rem;
    color: #1a3a5c;
    margin-bottom: 0.05rem;
}
.svc-service-tagline {
    font-size: 0.14rem;
    color: #c9a84c;
    font-weight: bold;
    margin-bottom: 0.08rem;
}
.svc-service-body p {
    font-size: 0.14rem;
    color: #666;
    line-height: 1.6;
    margin-bottom: 0.12rem;
}
.svc-service-features {
    display: flex;
    gap: 0.08rem;
    flex-wrap: wrap;
    margin-bottom: 0.12rem;
}
.svc-service-features span {
    padding: 0.04rem 0.12rem;
    background: #f0f0f0;
    border-radius: 12px;
    font-size: 0.12rem;
    color: #555;
}
.svc-service-link {
    font-size: 0.14rem;
    color: #c9a84c;
    font-weight: bold;
    text-decoration: none;
}
.svc-service-link:hover {
    text-decoration: underline;
}

/* Commitment grid */
.svc-commitment-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.2rem;
}
.svc-commitment-item {
    display: flex;
    gap: 0.15rem;
    padding: 0.2rem;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 6px;
    transition: all .3s;
}
.svc-commitment-item:hover {
    border-color: #c9a84c;
}
.svc-commitment-icon {
    width: 0.44rem;
    height: 0.44rem;
    border-radius: 50%;
    background: #1a3a5c;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.18rem;
    flex-shrink: 0;
}
.svc-commitment-body h4 {
    font-size: 0.15rem;
    color: #1a3a5c;
    margin-bottom: 0.04rem;
}
.svc-commitment-body p {
    font-size: 0.13rem;
    color: #888;
    line-height: 1.5;
}

/* ============================================
   Responsive: Service Pages
   ============================================ */

@media screen and (max-width: 992px) {
    .svc-card-grid.four .svc-card { width: calc(50% - 0.2rem); }
    .svc-card-grid.three .svc-card { width: calc(50% - 0.2rem); }
    .svc-pricing-card { width: calc(50% - 0.15rem); }
    .svc-pricing-card.featured { transform: none; }
    .svc-pricing-card.featured:hover { transform: translateY(-3px); }
    .svc-process-grid { grid-template-columns: repeat(3, 1fr); }
    .svc-phase-card { width: calc(50% - 0.15rem); }
    .svc-commitment-grid { grid-template-columns: repeat(2, 1fr); }
}

@media screen and (max-width: 768px) {
    .svc-hero-corp, .svc-hero-marriage {
        padding: 0.4rem 0.2rem 0.3rem;
    }
    .svc-hero-corp .svc-hero-title,
    .svc-hero-marriage .svc-hero-title {
        font-size: 0.24rem;
    }
    .svc-card-grid.four .svc-card { width: calc(50% - 0.15rem); }
    .svc-card-grid.three .svc-card { width: 100%; }
    .svc-pricing-card { width: 100%; }
    .svc-pricing-card.featured { transform: none; }
    .svc-pricing-card.featured:hover { transform: translateY(-2px); }
    .svc-process-grid { grid-template-columns: repeat(2, 1fr); }
    .svc-advantage-item { flex-direction: column; text-align: center; }
    .svc-advantage-icon { margin: 0 auto; }
    .svc-phase-card { width: calc(50% - 0.12rem); }
    .svc-service-block { flex-direction: column; text-align: center; }
    .svc-service-icon { margin: 0 auto; }
    .svc-service-features { justify-content: center; }
    .svc-commitment-grid { grid-template-columns: 1fr; }
    .svc-hero-stats { gap: 0.2rem; }
    .svc-stat-num { font-size: 0.28rem; }
}

@media screen and (max-width: 480px) {
    .svc-card-grid.four .svc-card { width: 100%; }
    .svc-card-grid.three .svc-card { width: 100%; }
    .svc-process-grid { grid-template-columns: 1fr; }
    .svc-phase-card { width: 100%; }
    .svc-commitment-grid { grid-template-columns: 1fr; }
    .svc-process-item { flex-direction: column; align-items: center; text-align: center; }
    .svc-cta-buttons { flex-direction: column; align-items: center; }
}
