﻿/* Ozhailun 涓绘牱寮?
 * 閰嶈壊鍙橀噺榛樿鍊煎湪姝ゅ畾涔夛紝鍚庡彴鑷畾涔夐鑹蹭細閫氳繃鍐呰仈鏍峰紡瑕嗙洊銆?
 * --------------------------------------------------------------- */

:root {
    --oz-primary: #44759A;
    --oz-secondary: #68AAA8;
    --oz-accent: #F1EAD4;
    --oz-text: #24303a;
    --oz-muted: #6b7885;
    --oz-border: #e2e6ea;
    --oz-bg: #ffffff;
    --oz-bg-soft: #f6f8fa;
    --oz-radius: 6px;
    --oz-maxw: 1160px;
    --oz-font: -apple-system, "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: var(--oz-font); color: var(--oz-text); background: var(--oz-bg-soft); line-height: 1.7; font-size: 15px; }
a { color: var(--oz-primary); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; }
.container { width: 100%; max-width: var(--oz-maxw); margin: 0 auto; padding: 0 16px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.skip-link { position: absolute; left: -9999px; z-index: 999; background: var(--oz-primary); color: #fff; padding: 8px 16px; }
.skip-link:focus { left: 8px; top: 8px; }

.site-header { background: var(--oz-bg); border-bottom: 3px solid var(--oz-primary); }
.header-top { display: flex; justify-content: space-between; align-items: center; padding-top: 8px; padding-bottom: 8px; font-size: 13px; color: var(--oz-muted); border-bottom: 1px solid var(--oz-border); gap: 16px; }
.header-contact { display: flex; gap: 18px; flex-wrap: wrap; }
.header-contact a { color: var(--oz-muted); }
.header-main { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 24px; padding-top: 16px; padding-bottom: 16px; }
.site-title { font-size: 26px; font-weight: 800; color: var(--oz-primary); display: inline-block; }
.site-title:hover { text-decoration: none; }
.site-description { margin: 2px 0 0; font-size: 13px; color: var(--oz-muted); }
.header-banner img { display: block; border-radius: var(--oz-radius); }
.header-search { min-width: 200px; }

.primary-nav { background: var(--oz-primary); }
.primary-nav .container { display: flex; align-items: center; }
.primary-nav .nav-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.primary-nav .nav-menu li { position: relative; }
.primary-nav .nav-menu a { display: block; color: #fff; padding: 12px 18px; font-size: 15px; }
.primary-nav .nav-menu a:hover, .primary-nav .nav-menu .current-menu-item > a { background: rgba(255, 255, 255, 0.15); text-decoration: none; }
.primary-nav .nav-menu .sub-menu { position: absolute; left: 0; top: 100%; background: var(--oz-primary); list-style: none; margin: 0; padding: 6px 0; min-width: 200px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15); opacity: 0; visibility: hidden; transform: translateY(6px); transition: all 0.18s ease; z-index: 50; }
.primary-nav .nav-menu li:hover > .sub-menu, .primary-nav .nav-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.primary-nav .sub-menu a { padding: 10px 18px; white-space: nowrap; }
.menu-toggle { display: none; }

.search-form { display: flex; }
.search-field { flex: 1; min-width: 0; padding: 8px 12px; border: 1px solid var(--oz-border); border-radius: var(--oz-radius) 0 0 var(--oz-radius); font-size: 14px; }
.search-submit { border: none; cursor: pointer; background: var(--oz-secondary); color: #fff; padding: 0 14px; border-radius: 0 var(--oz-radius) var(--oz-radius) 0; }

.site-content { padding-top: 24px; padding-bottom: 40px; }
.oz-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 28px; align-items: start; }
.oz-main { background: var(--oz-bg); border-radius: var(--oz-radius); padding: 24px; }
.oz-sidebar { display: flex; flex-direction: column; gap: 20px; }
.oz-sidebar .widget { background: var(--oz-bg); border-radius: var(--oz-radius); padding: 18px; }
.widget-title { margin: 0 0 12px; font-size: 16px; color: var(--oz-primary); border-left: 4px solid var(--oz-secondary); padding-left: 10px; }

.oz-list-header { border-bottom: 2px solid var(--oz-primary); margin-bottom: 8px; padding-bottom: 8px; }
.oz-page-title { margin: 0; font-size: 20px; color: var(--oz-primary); }
.oz-page-title span { color: var(--oz-secondary); }
.oz-post-list { list-style: none; margin: 0; padding: 0; }
.oz-list-item { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 11px 6px; border-bottom: 1px dashed var(--oz-border); }
.oz-list-item:nth-child(even) { background: var(--oz-bg-soft); }
.oz-list-item:hover { background: var(--oz-accent); }
.oz-list-main { display: flex; align-items: center; gap: 12px; min-width: 0; }
.oz-list-thumb { flex: 0 0 auto; width: 60px; height: 42px; overflow: hidden; border-radius: 4px; }
.oz-list-thumb img { width: 100%; height: 100%; object-fit: cover; }
.oz-list-body { min-width: 0; }
.oz-list-title { margin: 0; font-size: 15px; font-weight: 500; line-height: 1.5; }
.oz-list-title a { color: var(--oz-text); }
.oz-list-title a:hover { color: var(--oz-primary); }
.oz-list-excerpt { margin: 2px 0 0; font-size: 13px; color: var(--oz-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oz-badge-new { display: inline-block; margin-left: 6px; font-size: 11px; font-weight: 700; color: #d0021b; letter-spacing: 0.5px; vertical-align: middle; }
.oz-list-meta { flex: 0 0 auto; display: flex; gap: 14px; align-items: center; font-size: 12px; color: var(--oz-muted); text-align: right; }
.oz-list-meta a { color: var(--oz-muted); }
.oz-meta-cat { color: var(--oz-secondary); }
.oz-no-posts { color: var(--oz-muted); padding: 20px 0; }
.pagination, .nav-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 20px; }
.pagination .page-numbers { display: inline-block; padding: 6px 12px; border: 1px solid var(--oz-border); border-radius: 4px; color: var(--oz-primary); }
.pagination .page-numbers.current { background: var(--oz-primary); color: #fff; border-color: var(--oz-primary); }

.oz-single-header { border-bottom: 2px solid var(--oz-primary); padding-bottom: 12px; margin-bottom: 16px; }
.oz-single-title { margin: 0 0 8px; font-size: 26px; color: var(--oz-text); line-height: 1.35; }
.oz-single-meta { display: flex; gap: 16px; font-size: 13px; color: var(--oz-muted); flex-wrap: wrap; }
.oz-single-meta a { color: var(--oz-secondary); }
.oz-single-thumb { margin: 0 0 20px; }
.oz-single-content { font-size: 16px; line-height: 1.9; }
.oz-single-content h2 { color: var(--oz-primary); border-left: 5px solid var(--oz-secondary); padding-left: 12px; }
.oz-single-content h3 { color: var(--oz-primary); }
.oz-single-content blockquote { border-left: 4px solid var(--oz-secondary); background: var(--oz-accent); margin: 20px 0; padding: 12px 18px; border-radius: 0 var(--oz-radius) var(--oz-radius) 0; }
.oz-single-content img { border-radius: var(--oz-radius); }
.oz-single-footer { margin-top: 20px; }
.oz-single-tags a { display: inline-block; background: var(--oz-bg-soft); padding: 3px 10px; border-radius: 20px; font-size: 12px; margin: 2px; }
.oz-post-nav { display: flex; justify-content: space-between; gap: 16px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--oz-border); font-size: 14px; }

.site-footer { background: var(--oz-primary); color: #fff; margin-top: 40px; }
.footer-inner { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 28px; padding-bottom: 28px; flex-wrap: wrap; }
.footer-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 18px; flex-wrap: wrap; }
.footer-menu a { color: rgba(255, 255, 255, 0.85); }
.footer-bottom { background: rgba(0, 0, 0, 0.15); font-size: 13px; }
.footer-bottom .container { padding-top: 12px; padding-bottom: 12px; }
.footer-bottom p { margin: 0; color: rgba(255, 255, 255, 0.8); }

.oz-floating-qr { position: fixed; left: 0; top: 40%; z-index: 900; display: flex; flex-direction: column; gap: 6px; }
.oz-qr-item { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 58px; padding: 8px 4px; background: var(--oz-primary); color: #fff; border-radius: 0 var(--oz-radius) var(--oz-radius) 0; cursor: pointer; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2); }
.oz-qr-item + .oz-qr-item { background: var(--oz-secondary); }
.oz-qr-label { font-size: 11px; margin-top: 4px; }
.oz-qr-icon { width: 24px; height: 24px; background: no-repeat center / contain; }
.oz-qr-wechat { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9 4C4.6 4 1 6.9 1 10.5c0 2 1.1 3.8 2.9 5L3 18l2.7-1.3c.6.2 1.3.3 2 .4-.1-.5-.2-1-.2-1.5 0-3.4 3.2-6.1 7.2-6.1h.6C14.7 6.3 12.2 4 9 4zm-2.5 4c.5 0 .9.4.9.9s-.4.9-.9.9-.9-.4-.9-.9.4-.9.9-.9zm5 0c.5 0 .9.4.9.9s-.4.9-.9.9-.9-.4-.9-.9.4-.9.9-.9z'/%3E%3Cpath d='M23 15c0-2.8-2.9-5.1-6.5-5.1S10 12.2 10 15s2.9 5.1 6.5 5.1c.6 0 1.2-.1 1.8-.2L20 21l-.6-1.6c1.6-.9 2.6-2.3 2.6-4zm-8.5-1.3c.4 0 .7.3.7.7s-.3.7-.7.7-.7-.3-.7-.7.3-.7.7-.7zm4 0c.4 0 .7.3.7.7s-.3.7-.7.7-.7-.3-.7-.7.3-.7.7-.7z'/%3E%3C/svg%3E"); }
.oz-qr-whatsapp { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 2a10 10 0 00-8.5 15.3L2 22l4.8-1.3A10 10 0 1012 2zm5.5 14.1c-.2.6-1.2 1.2-1.7 1.2-.4 0-1 .1-3.2-.9-2.7-1.2-4.4-4-4.5-4.2-.1-.2-1-1.4-1-2.6s.6-1.8.9-2.1c.2-.2.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.3 0 .5l-.4.5c-.2.2-.4.4-.2.7.2.3.8 1.3 1.7 2.1 1.2 1 2.1 1.3 2.4 1.5.3.1.5.1.6-.1l.7-.8c.2-.2.4-.2.6-.1l1.9.9c.2.1.4.2.4.3.1.2.1.9-.1 1.5z'/%3E%3C/svg%3E"); }
.oz-qr-pop { position: absolute; left: 100%; top: 50%; transform: translateY(-50%) translateX(8px); background: #fff; color: var(--oz-text); padding: 10px; border-radius: var(--oz-radius); box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2); opacity: 0; visibility: hidden; transition: all 0.2s ease; width: 160px; text-align: center; }
.oz-qr-pop img { width: 140px; height: 140px; object-fit: contain; }
.oz-qr-pop p { margin: 6px 0 0; font-size: 12px; }
.oz-qr-item:hover .oz-qr-pop, .oz-qr-item:focus-within .oz-qr-pop { opacity: 1; visibility: visible; }

@media (max-width: 900px) { .oz-layout { grid-template-columns: 1fr; } .header-main { grid-template-columns: 1fr; gap: 12px; } .header-banner { display: none; } .header-search { min-width: 0; } }
@media (max-width: 680px) {
    .header-top { align-items: flex-start; flex-direction: column; }
    .primary-nav .container { flex-wrap: wrap; }
    .menu-toggle { display: inline-flex; align-items: center; background: none; border: none; cursor: pointer; padding: 12px 16px; }
    .menu-toggle-bar, .menu-toggle-bar::before, .menu-toggle-bar::after { content: ""; display: block; width: 22px; height: 2px; background: #fff; position: relative; }
    .menu-toggle-bar::before { position: absolute; top: -6px; }
    .menu-toggle-bar::after { position: absolute; top: 6px; }
    .primary-nav .nav-menu { display: none; flex-direction: column; width: 100%; }
    .primary-nav .nav-menu.is-open { display: flex; }
    .primary-nav .nav-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: rgba(0, 0, 0, 0.15); padding-left: 16px; }
    .oz-list-item { flex-direction: column; align-items: flex-start; gap: 6px; }
    .oz-list-meta { text-align: left; }
    .oz-floating-qr { top: auto; bottom: 12px; }
    .footer-inner { flex-direction: column; align-items: flex-start; }
}

/* ---------------- 首页：首页服务型模块 ---------------- */
body.home .site-content { max-width: none; padding-left: 0; padding-right: 0; padding-top: 0; }
body.home .site-content > * { max-width: var(--oz-maxw); margin-left: auto; margin-right: auto; }

.oz-home-hero { max-width: var(--oz-maxw); min-height: 430px; margin: 24px auto 0; border-radius: 28px; background: linear-gradient(90deg, rgba(68,117,154,.92), rgba(104,170,168,.72)); background-size: cover; background-position: center; display: flex; align-items: flex-end; overflow: hidden; }
.oz-home-hero-inner { width: 100%; padding: 42px; }
.oz-home-hero-card { max-width: 780px; background: rgba(36, 48, 58, .68); color: #fff; border-radius: 24px; padding: 34px; backdrop-filter: blur(8px); display: grid; gap: 14px; }
.oz-home-kicker, .oz-section-eyebrow { margin: 0; color: var(--oz-secondary); font-weight: 800; letter-spacing: .04em; text-transform: uppercase; font-size: 13px; }
.oz-home-hero-card h1 { margin: 0; font-size: clamp(30px, 5vw, 52px); line-height: 1.12; }
.oz-home-hero-text { margin: 0; max-width: 640px; color: rgba(255,255,255,.88); font-size: 17px; }
.oz-home-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }

.oz-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 22px; border-radius: 999px; font-weight: 800; text-decoration: none; border: 2px solid transparent; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.oz-btn:hover { transform: translateY(-1px); text-decoration: none; box-shadow: 0 8px 18px rgba(0,0,0,.14); }
.oz-btn-primary { background: var(--oz-accent); color: var(--oz-primary); }
.oz-btn-ghost { color: #fff; border-color: rgba(255,255,255,.72); }
.oz-btn-dark { background: var(--oz-primary); color: #fff; }
.oz-btn-outline { color: var(--oz-primary); border-color: var(--oz-primary); background: #fff; }

.oz-home-section { margin-top: 34px; padding: 46px 16px; }
.oz-section-heading { text-align: center; max-width: 720px; margin: 0 auto 26px; }
.oz-section-heading h2, .oz-split-panel h2 { margin: 4px 0 8px; color: var(--oz-text); font-size: clamp(24px, 4vw, 34px); line-height: 1.2; }
.oz-section-heading p, .oz-split-panel p { margin: 0; color: var(--oz-muted); font-size: 16px; }
.oz-heading-row { display: flex; justify-content: space-between; align-items: end; text-align: left; max-width: none; }
.oz-view-all { color: var(--oz-primary); font-weight: 800; }

.oz-help-section { padding-top: 36px; padding-bottom: 24px; }
.oz-split-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; background: #fff; border-radius: 24px; padding: 36px; box-shadow: 0 12px 32px rgba(68,117,154,.08); }
.oz-split-panel > div + div { border-left: 1px solid var(--oz-border); padding-left: 34px; }
.oz-split-panel .oz-btn { margin-top: 20px; }
.oz-home-promise { text-align: center; margin: 28px 0 0; font-weight: 800; color: var(--oz-text); font-size: 17px; }

.oz-service-grid, .oz-reason-grid, .oz-contact-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.oz-service-card { background: #fff; border: 1px solid rgba(68,117,154,.12); border-radius: 22px; padding: 24px; min-height: 210px; color: var(--oz-text); box-shadow: 0 10px 28px rgba(68,117,154,.08); transition: transform .18s ease, box-shadow .18s ease; }
.oz-service-card:hover { text-decoration: none; transform: translateY(-2px); box-shadow: 0 16px 36px rgba(68,117,154,.16); }
.oz-service-icon, .oz-contact-icon { width: 46px; height: 46px; border-radius: 50%; background: var(--oz-accent); display: inline-flex; align-items: center; justify-content: center; color: var(--oz-primary); font-weight: 900; margin-bottom: 16px; }
.oz-service-card h3, .oz-reason-card h3 { margin: 0 0 8px; font-size: 18px; color: var(--oz-primary); }
.oz-service-card p, .oz-reason-card p { margin: 0; color: var(--oz-muted); }

.oz-why-section { background: var(--oz-accent); border-radius: 28px; }
.oz-reason-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; margin: 0 auto; }
.oz-reason-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #fff; border-radius: 16px; padding: 22px 24px; }
.oz-reason-mark { flex: 0 0 auto; width: 46px; height: 46px; border-radius: 50%; background: var(--oz-primary); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 900; }

.oz-latest-section { background: #fff; border-radius: 24px; padding-left: 24px; padding-right: 24px; }
.oz-home-post-list { border-top: 2px solid var(--oz-primary); }

.oz-contact-section { background: linear-gradient(135deg, var(--oz-primary), #2d536f); color: #fff; border-radius: 28px; margin-bottom: 8px; }
.oz-contact-section .oz-section-heading h2, .oz-contact-section .oz-section-heading p { color: #fff; }
.oz-contact-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.oz-contact-item { display: flex; gap: 14px; align-items: center; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); border-radius: 18px; padding: 18px; }
.oz-contact-item span:not(.oz-contact-icon) { display: block; color: rgba(255,255,255,.76); font-size: 13px; }
.oz-contact-item strong { display: block; color: #fff; font-size: 16px; line-height: 1.35; }
.oz-contact-item a { color: #fff; }
.oz-contact-icon { margin-bottom: 0; background: rgba(241,234,212,.18); color: #fff; }

@media (max-width: 900px) {
    .oz-home-hero { margin-left: 16px; margin-right: 16px; }
    .oz-split-panel, .oz-service-grid, .oz-contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .oz-split-panel > div + div { border-left: 0; border-top: 1px solid var(--oz-border); padding-left: 0; padding-top: 28px; }
}

@media (max-width: 680px) {
    .oz-home-hero { min-height: 0; border-radius: 20px; }
    .oz-home-hero-inner { padding: 22px; }
    .oz-home-hero-card { padding: 24px; border-radius: 18px; }
    .oz-home-actions .oz-btn { width: 100%; }
    .oz-split-panel, .oz-service-grid, .oz-reason-grid, .oz-contact-grid { grid-template-columns: 1fr; }
    .oz-heading-row { align-items: flex-start; gap: 12px; flex-direction: column; }
    .oz-home-section { padding-top: 32px; padding-bottom: 32px; }
}

/* ---------------- 页脚社交媒体与首页补充 ---------------- */
.footer-brand { display: grid; gap: 2px; }
.footer-brand strong { color: #fff; font-size: 20px; letter-spacing: .05em; }
.footer-brand span { color: rgba(255,255,255,.76); font-size: 13px; }
.footer-social { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.footer-social a { width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(255,255,255,.36); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; }
.footer-social a:hover { background: rgba(255,255,255,.14); text-decoration: none; }

.oz-cases-section { background: #fff; border-radius: 24px; }
.oz-case-placeholder { max-width: 760px; margin: 0 auto; border: 1px dashed rgba(68,117,154,.28); border-radius: 18px; background: var(--oz-bg-soft); padding: 24px; text-align: center; color: var(--oz-muted); }
.oz-case-placeholder p { margin: 0; }

.oz-contact-qr-item { align-items: center; }
.oz-contact-qr-item img { width: 82px; height: 82px; object-fit: contain; border-radius: 12px; background: #fff; padding: 6px; flex: 0 0 auto; }

@media (max-width: 680px) {
    .footer-social a { width: 34px; height: 34px; }
    .oz-contact-qr-item { align-items: flex-start; }
}


