* { margin: 0; padding: 0; box-sizing: border-box; }
:root {
    --purple: #8b5cf6;
    --orange: #fb923c;
    --pink: #f472b6;
    --deep: #2e1065;
    --font: 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
html { scroll-behavior: smooth; }
body {
    font-family: var(--font);
    color: #fff;
    background: linear-gradient(135deg, #2e1065, #7c3aed, #db2777, #f97316, #7c3aed, #2e1065);
    background-size: 400% 400%;
    animation: gradientFlow 18s ease infinite;
    line-height: 1.7;
    overflow-x: hidden;
}
@keyframes gradientFlow {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }

.grad-text { background: linear-gradient(90deg, #f472b6, #fb923c); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }

/* 玻璃面板 */
.panel-a { background: linear-gradient(115deg, rgba(139,92,246,0.22), rgba(255,255,255,0.05) 45%, rgba(244,114,182,0.16)); }
.panel-b { background: linear-gradient(65deg, rgba(251,146,60,0.16), rgba(255,255,255,0.04) 50%, rgba(139,92,246,0.18)); }
.panel-c { background: linear-gradient(150deg, rgba(244,114,182,0.18), rgba(255,255,255,0.04) 40%, rgba(251,146,60,0.16)); }

/* 导航 */
.navbar { position: fixed; top: 0; width: 100%; z-index: 1000; background: rgba(30,10,50,0.45); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border-bottom: 1px solid rgba(255,255,255,0.14); transition: all 0.3s; }
.nav-container { display: flex; justify-content: space-between; align-items: center; height: 72px; }
.logo { font-size: 22px; font-weight: 900; color: #fff; text-decoration: none; letter-spacing: 2px; }
.logo .grad { background: linear-gradient(90deg, #f472b6, #fb923c); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.logo::after { content: '™'; font-size: 11px; vertical-align: super; background: linear-gradient(90deg, #8b5cf6, #f472b6); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.nav-menu { display: flex; list-style: none; gap: 30px; }
.nav-menu a { text-decoration: none; color: rgba(255,255,255,0.82); font-size: 15px; font-weight: 500; padding: 8px 4px; position: relative; transition: 0.3s; }
.nav-menu a::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: linear-gradient(90deg, #f472b6, #fb923c); border-radius: 2px; transition: 0.3s; }
.nav-menu a:hover, .nav-menu a.active { color: #fff; }
.nav-menu a:hover::after, .nav-menu a.active::after { width: 100%; }
.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; }
.hamburger span { width: 26px; height: 3px; border-radius: 3px; background: #fff; transition: 0.3s; }

/* 按钮 */
.btn { display: inline-block; padding: 14px 36px; border-radius: 50px; text-decoration: none; font-weight: 700; font-size: 15px; transition: 0.3s; cursor: pointer; border: none; }
.btn-grad { background: linear-gradient(135deg, #8b5cf6, #f472b6, #fb923c); color: #fff; }
.btn-grad:hover { transform: translateY(-3px); box-shadow: 0 14px 34px rgba(139,92,246,0.55); }
.btn-glass { background: rgba(255,255,255,0.12); color: #fff; border: 1px solid rgba(255,255,255,0.35); backdrop-filter: blur(10px); }
.btn-glass:hover { background: rgba(255,255,255,0.25); transform: translateY(-3px); }

/* 玻璃卡片 */
.glass-card {
    background: linear-gradient(rgba(255,255,255,0.12), rgba(255,255,255,0.05)) padding-box,
        linear-gradient(135deg, #8b5cf6, #fb923c, #f472b6) border-box;
    border: 2px solid transparent;
    border-radius: 20px;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

/* Hero */
.hero { min-height: 100vh; padding: 80px 24px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; position: relative; overflow: hidden; }
.orb { position: absolute; border-radius: 50%; filter: blur(90px); opacity: 0.55; pointer-events: none; }
.orb.purple { width: 340px; height: 340px; background: #8b5cf6; top: 8%; left: 4%; }
.orb.orange { width: 280px; height: 280px; background: #fb923c; bottom: 12%; right: 8%; }
.orb.pink { width: 240px; height: 240px; background: #f472b6; top: 45%; right: 30%; }
.hero-badge { display: inline-flex; align-items: center; gap: 10px; padding: 10px 26px; border-radius: 40px; background: rgba(255,255,255,0.12); backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,0.28); color: #fff; font-size: 14px; letter-spacing: 3px; margin-bottom: 30px; position: relative; }
.hero-badge::before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: linear-gradient(90deg, #f472b6, #fb923c); }
.hero h1 { font-size: clamp(42px, 6vw, 76px); font-weight: 900; color: #fff; line-height: 1.12; letter-spacing: 2px; text-shadow: 0 0 30px rgba(139,92,246,0.7), 0 0 60px rgba(251,146,60,0.4), 0 0 100px rgba(244,114,182,0.35); position: relative; }
.hero .sub { color: rgba(255,255,255,0.85); font-size: 19px; margin-top: 22px; max-width: 640px; position: relative; }
.hero-actions { margin-top: 40px; display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; position: relative; }
.hero-chips { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 40px; position: relative; }
.hero-chips span { padding: 8px 20px; border-radius: 30px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); font-size: 13px; color: rgba(255,255,255,0.9); backdrop-filter: blur(8px); }
.hero-stats { display: flex; gap: 30px; margin-top: 48px; flex-wrap: wrap; justify-content: center; position: relative; }
.hero-stats div { padding: 18px 34px; border-radius: 18px; }
.hero-stats span { display: block; font-size: 30px; font-weight: 900; background: linear-gradient(90deg, #f472b6, #fb923c); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.hero-stats small { font-size: 12px; color: rgba(255,255,255,0.75); letter-spacing: 2px; }

/* 区块标题 */
.sec-head { padding: 70px 0 40px; text-align: center; }
.sec-head .tag { font-size: 13px; letter-spacing: 4px; color: rgba(255,255,255,0.65); display: block; margin-bottom: 10px; }
.sec-head h2 { font-size: clamp(30px, 4vw, 46px); font-weight: 900; background: linear-gradient(90deg, #fff, #f472b6, #fb923c); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.sec-head .sub { color: rgba(255,255,255,0.7); margin-top: 10px; font-size: 15px; }

/* 渐变美学 */
.aesthetic { padding-bottom: 40px; }
.ax-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; padding-bottom: 60px; }
.ax-card { padding: 34px; text-align: center; }
.ax-card .ax-num { font-size: 44px; font-weight: 900; font-family: Georgia, serif; background: linear-gradient(135deg, #f472b6, #fb923c); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; display: block; margin-bottom: 12px; }
.ax-card h3 { font-size: 18px; margin-bottom: 8px; }
.ax-card p { font-size: 14px; color: rgba(255,255,255,0.75); }

/* 服务 */
.services { padding-bottom: 40px; }
.svc-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-bottom: 60px; }
.svc-card { padding: 30px 22px; text-align: center; }
.svc-card .s-ic { width: 68px; height: 68px; margin: 0 auto 16px; border-radius: 50%; background: linear-gradient(135deg, #8b5cf6, #f472b6); display: flex; align-items: center; justify-content: center; font-size: 26px; box-shadow: 0 10px 26px rgba(139,92,246,0.5); }
.svc-card:nth-child(even) .s-ic { background: linear-gradient(135deg, #f472b6, #fb923c); box-shadow: 0 10px 26px rgba(251,146,60,0.4); }
.svc-card h3 { font-size: 16px; margin-bottom: 8px; }
.svc-card p { font-size: 13px; color: rgba(255,255,255,0.75); }

/* 作品 */
.works { padding-bottom: 40px; }
.work-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; padding-bottom: 60px; }
.work-card { overflow: hidden; }
.grad-frame { margin: 10px; border-radius: 14px; padding: 3px; background: linear-gradient(135deg, #8b5cf6, #fb923c, #f472b6); }
.grad-frame img { width: 100%; height: 230px; object-fit: cover; display: block; border-radius: 11px; }
.work-body { padding: 0 20px 22px; }
.work-body h3 { font-size: 17px; margin-bottom: 4px; }
.work-body p { font-size: 13px; color: rgba(255,255,255,0.7); }

/* 动态/新闻 */
.updates { padding-bottom: 40px; }
.upd-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding-bottom: 60px; }
.upd-card { overflow: hidden; }
.upd-card img { width: 100%; height: 180px; object-fit: cover; display: block; }
.upd-body { padding: 22px; }
.upd-date { display: inline-block; padding: 4px 14px; border-radius: 20px; font-size: 12px; background: linear-gradient(135deg, #8b5cf6, #f472b6); margin-bottom: 10px; }
.upd-body h3 { font-size: 16px; margin-bottom: 6px; }
.upd-body p { font-size: 13px; color: rgba(255,255,255,0.72); }

/* ---------- 页头 ---------- */
.page-hero { padding: 72px 0 0; }
.page-hero-inner { text-align: center; padding: 80px 0; position: relative; }
.page-hero-inner h1 { font-size: clamp(36px, 4.6vw, 58px); font-weight: 900; text-shadow: 0 0 30px rgba(139,92,246,0.6), 0 0 60px rgba(251,146,60,0.35); }
.page-hero-inner p { color: rgba(255,255,255,0.8); margin-top: 12px; letter-spacing: 2px; }
.crumbs { font-size: .85rem; margin-top: 14px; color: rgba(255,255,255,0.65); position: relative; }
.crumbs a { color: #f472b6; text-decoration: underline; }
.form-success { display: none; background: rgba(255,255,255,0.1); border: 1px solid rgba(244,114,182,0.5); color: #fff; padding: 14px 18px; border-radius: 14px; margin-bottom: 18px; font-size: .9rem; }
.form-success.show { display: block; }
.team-placeholder { width: 104px; height: 104px; border-radius: 50%; margin: 0 auto 14px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #8b5cf6, #f472b6); color: #fff; font-size: 2.4rem; font-weight: 900; }

/* 关于 */
.story-flex { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; align-items: center; padding-bottom: 50px; }
.story-img { border-radius: 24px; overflow: hidden; padding: 4px; background: linear-gradient(135deg, #8b5cf6, #fb923c); }
.story-img img { width: 100%; height: 420px; object-fit: cover; display: block; border-radius: 20px; }
.story-text .tag { color: #f472b6; font-weight: 700; letter-spacing: 3px; margin-bottom: 12px; display: block; }
.story-text h2 { font-size: clamp(26px, 3vw, 38px); margin-bottom: 16px; }
.story-text p { color: rgba(255,255,255,0.8); margin-bottom: 14px; }
.ax-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding-bottom: 60px; }
.val-card { padding: 30px 22px; text-align: center; }
.val-card .v-ic { font-size: 34px; margin-bottom: 12px; }
.val-card h3 { font-size: 16px; margin-bottom: 6px; }
.val-card p { font-size: 13px; color: rgba(255,255,255,0.72); }
.team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-bottom: 60px; }
.team-card { padding: 28px 16px; text-align: center; }
.team-card .ava { width: 110px; height: 110px; margin: 0 auto 14px; border-radius: 50%; padding: 3px; background: linear-gradient(135deg, #8b5cf6, #fb923c, #f472b6); }
.team-card .ava img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }
.team-card h3 { font-size: 16px; }
.team-card span { font-size: 12px; color: #f472b6; }

/* 作品页筛选 */
.filter-wrap { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-bottom: 42px; }
.filter-btn { padding: 10px 28px; border-radius: 40px; border: 1px solid rgba(255,255,255,0.35); background: rgba(255,255,255,0.1); color: #fff; font-size: 14px; cursor: pointer; font-weight: 600; font-family: inherit; backdrop-filter: blur(8px); transition: 0.3s; }
.filter-btn:hover, .filter-btn.active { background: linear-gradient(135deg, #8b5cf6, #f472b6); border-color: transparent; }

/* 联系 */
.contact-wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; padding-bottom: 60px; }
.info-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-content: start; }
.info-card { padding: 26px; }
.info-card .i-ic { width: 50px; height: 50px; border-radius: 50%; background: linear-gradient(135deg, #8b5cf6, #f472b6); display: flex; align-items: center; justify-content: center; font-size: 20px; margin-bottom: 14px; }
.info-card:nth-child(even) .i-ic { background: linear-gradient(135deg, #f472b6, #fb923c); }
.info-card h3 { font-size: 15px; margin-bottom: 6px; }
.info-card p { font-size: 13px; color: rgba(255,255,255,0.75); }
.contact-form { padding: 36px; }
.contact-form h2 { font-size: 24px; margin-bottom: 6px; }
.contact-form > p { color: rgba(255,255,255,0.75); font-size: 14px; margin-bottom: 22px; }
.form-group { margin-bottom: 16px; }
.form-group label { display: block; font-size: 13px; color: #f472b6; font-weight: 600; margin-bottom: 6px; }
.form-group input, .form-group textarea, .form-group select { width: 100%; padding: 13px 18px; border-radius: 14px; border: 1px solid rgba(255,255,255,0.25); background: rgba(255,255,255,0.1); color: #fff; font-size: 15px; outline: none; font-family: inherit; backdrop-filter: blur(8px); transition: 0.3s; }
.form-group input::placeholder, .form-group textarea::placeholder { color: rgba(255,255,255,0.45); }
.form-group select option { color: #2e1065; }
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: #f472b6; box-shadow: 0 0 0 4px rgba(244,114,182,0.2); }
.form-group input.error, .form-group textarea.error { border-color: #f97316; }
.form-group textarea { min-height: 110px; resize: vertical; }

/* 页脚 */
.footer { background: rgba(20,5,40,0.55); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border-top: 1px solid rgba(255,255,255,0.14); padding: 56px 0 0; margin-top: 20px; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1.5fr; gap: 40px; padding-bottom: 36px; }
.footer-brand h3 { font-size: 21px; margin-bottom: 12px; }
.footer-brand p { font-size: 13px; color: rgba(255,255,255,0.7); line-height: 1.8; }
.footer-links h4, .footer-contact h4 { font-size: 15px; margin-bottom: 14px; }
.footer-links a { display: block; color: rgba(255,255,255,0.7); text-decoration: none; font-size: 13px; padding: 4px 0; transition: 0.3s; }
.footer-links a:hover { color: #fb923c; padding-left: 6px; }
.footer-contact p { font-size: 13px; color: rgba(255,255,255,0.7); padding: 4px 0; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,0.14); padding: 18px 0; text-align: center; font-size: 12px; color: rgba(255,255,255,0.55); }

.reveal { opacity: 0; transform: translateY(24px); transition: all 0.7s ease-out; }
.reveal.visible { opacity: 1; transform: translateY(0); }

@media (max-width: 1024px) {
    .story-flex { grid-template-columns: 1fr; }
    .ax-grid, .upd-grid { grid-template-columns: 1fr 1fr; }
    .svc-grid { grid-template-columns: 1fr 1fr; }
    .work-grid, .team-grid { grid-template-columns: 1fr 1fr; }
    .contact-wrap { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
    .nav-menu { position: fixed; top: 72px; left: -100%; width: 78%; height: calc(100vh - 72px); background: rgba(30,10,50,0.95); flex-direction: column; padding: 32px; gap: 20px; transition: 0.3s; backdrop-filter: blur(24px); z-index: 999; }
    .nav-menu.active { left: 0; }
    .hamburger { display: flex; }
    .hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(6px, 6px); }
    .hamburger.active span:nth-child(2) { opacity: 0; }
    .hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(6px, -6px); }
    .ax-grid, .svc-grid, .work-grid, .upd-grid, .team-grid, .ax-values, .info-cards { grid-template-columns: 1fr; }
    .hero-stats div { padding: 14px 22px; }
    .footer-grid { grid-template-columns: 1fr; }
    .honor-grid { grid-template-columns: 1fr; }
}

/* ---------- CMS 适配 ---------- */
.cms-section { padding: 60px 24px 80px; }
.cms-detail { max-width: 900px; margin: 0 auto; }
.cms-detail > img { border-radius: 20px; margin: 0 auto 12px; max-width: 100%; display: block; }
.cms-detail h1 { font-size: 2rem; margin: 18px 0; color: #fff; }
.cms-detail .lead { color: rgba(255,255,255,0.8); margin-bottom: 20px; font-size: 1.05rem; }
.cms-detail .news-date-label { display: inline-block; background: linear-gradient(135deg, #8b5cf6, #f472b6); color: #fff; font-size: .82rem; font-weight: 700; padding: 4px 14px; border-radius: 20px; }
.cms-content h2 { font-size: 1.5rem; margin: 24px 0 12px; color: #fff; }
.cms-content h3 { font-size: 1.25rem; margin: 20px 0 10px; color: #fff; }
.cms-content p, .cms-content ul, .cms-content li { color: rgba(255,255,255,0.85); margin-bottom: 15px; line-height: 1.9; }
.cms-content ul { padding-left: 18px; list-style: disc; }
.cms-content img { border-radius: 20px; max-width: 100%; }
.cms-back { display: inline-block; color: #f472b6; font-size: .9rem; font-weight: 700; margin-bottom: 20px; }
.cms-back:hover { text-decoration: underline; }
.spec-list { list-style: none; padding: 0; margin: 0; }
.spec-list li { color: rgba(255,255,255,0.85); padding: 10px 0; border-bottom: 1px dashed rgba(255,255,255,0.25); font-size: .9rem; }
.spec-list li b { color: #fb923c; }
.cms-pager { padding: 30px 0; text-align: center; }
.cms-pager .pagination { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; }
.cms-pager .page-link { padding: 10px 16px; border: 1px solid rgba(255,255,255,0.3); border-radius: 40px; background: rgba(255,255,255,0.1); color: #fff; font-size: 14px; transition: .3s; display: inline-block; }
.cms-pager .page-link:hover { border-color: #f472b6; color: #f472b6; }
.cms-pager .page-item.active .page-link { background: linear-gradient(135deg, #8b5cf6, #f472b6); border-color: transparent; color: #fff; }
.cms-pager .page-item.disabled .page-link { opacity: .5; pointer-events: none; }
.form-alert-err { background: rgba(255,255,255,0.1); border: 1px solid rgba(249,115,22,0.6); color: #fb923c; padding: 14px 18px; border-radius: 14px; margin-bottom: 18px; }
.form-alert-err li { color: #fb923c; }
.form-submit { width: 100%; color: #fff; }

/* ---------- 首页筛选（服务/产品分类） ---------- */
.cat-tabs { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-bottom: 42px; }
.cat-tab { padding: 10px 28px; border-radius: 40px; border: 1px solid rgba(255,255,255,0.35); background: rgba(255,255,255,0.1); color: #fff; font-size: 14px; cursor: pointer; font-weight: 600; font-family: inherit; backdrop-filter: blur(8px); transition: .3s; }
.cat-tab:hover, .cat-tab.active { background: linear-gradient(135deg, #8b5cf6, #f472b6); border-color: transparent; }

/* ---------- 服务卡（后台分类渲染时价格/链接） ---------- */
.svc-card h3 a, .work-body h3 a, .upd-body h3 a { color: #fff; text-decoration: none; }
.svc-card .s-price { color: #fb923c; font-weight: 700; font-size: 14px; margin-top: 4px; }
.work-body a, .upd-body a { color: #fb923c; }

/* ---------- 荣誉资质 ---------- */
.honor-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; padding-bottom: 60px; }
.honor-card { padding: 26px 20px; text-align: center; }
.honor-card .honor-img { width: 96px; height: 96px; margin: 0 auto 14px; border-radius: 50%; padding: 3px; background: linear-gradient(135deg, #8b5cf6, #fb923c, #f472b6); overflow: hidden; }
.honor-card .honor-img img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block; }
.honor-card h3 { font-size: 15px; margin-bottom: 6px; }
.honor-card p { font-size: 13px; color: rgba(255,255,255,0.75); }
.honor-card .honor-date { display: inline-block; margin-top: 8px; padding: 3px 12px; border-radius: 20px; font-size: 12px; background: linear-gradient(135deg, #8b5cf6, #f472b6); }
@media (max-width: 1024px) { .honor-grid { grid-template-columns: 1fr 1fr; } }

/* ===== CMS global link-color reset (fixes default blue/underline) ===== */
a:has(h1), a:has(h2), a:has(h3), a:has(h4), a:has(img),
a.logo, a.logo *, .logo, .logo *,
a.news-thumb, a.news-thumb *, a.prod-thumb, a.prod-thumb *,
a.img-wrap, a.img-wrap *, a.thumb, a.thumb *, a.cover, a.cover *,
a[style*='background-image'], a[style*='background'],
a.card, a.card *, a.work-card, a.work-card *, a.product-card, a.product-card *,
a.news-card, a.news-card *, a.news-item, a.news-item *, a.case-card, a.case-card *,
a.service-card, a.service-card *, a.svc-card, a.svc-card *, a.item-card, a.item-card * {
  color: inherit !important;
  text-decoration: none !important;
}
a:has(h1):hover, a:has(h2):hover, a:has(h3):hover, a:has(h4):hover,
a.logo:hover, .logo:hover, a.card:hover, a.card *:hover,
a.news-thumb:hover, a.prod-thumb:hover, a.work-card:hover, a.product-card:hover,
a.news-card:hover, a.news-item:hover, a.case-card:hover, a.service-card:hover { color: inherit !important; }
a.prod-img-link, a.prod-img-link *,
a.img-link, a.img-link *, a.thumb-link, a.thumb-link *,
a.cover-link, a.cover-link *, a.media-link, a.media-link *,
a[class*='-thumb'], a[class*='-img'], a[class*='-cover'],
a[class*='thumb-'], a[class*='img-'],
a.img-side, a.img-side *, a.pic, a.pic *, a.pic-link, a.pic-link * {
  color: inherit !important;
  text-decoration: none !important;
}

/* ===== fix svc-card image overflow ===== */
.svc-card .s-ic, .svc-card .s-ic img { overflow: hidden; }
.svc-card .s-ic img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
/* ===== CMS heading-link reset (anchor inside heading) ===== */
h1 a, h2 a, h3 a, h4 a, h5 a {
  color: inherit !important;
  text-decoration: none !important;
}
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover { color: inherit !important; }
