:root{
    --primary:#0891b2;
    --accent:#0ea5e9;
    --bg:#ecfeff;
    --text:#083344;
    --white:#ffffff;
    --border:rgba(8,145,178,.2);
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
body{
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
    background:var(--bg);
    color:var(--text);
    line-height:1.8;
    font-weight:400;
}
h1,h2,h3,h4,.brand-font{
    font-family:'Inter',sans-serif;
    font-weight:800;
    letter-spacing:-.02em;
    line-height:1.2;
}
.navbar{
    background:var(--bg) !important;
    border-bottom:1px solid var(--border);
    padding:.8rem 0;
}
.navbar-brand{
    font-size:1.6rem;
    font-weight:900;
    color:var(--text) !important;
    letter-spacing:-.02em;
}
.navbar-brand i{
    color:var(--primary);
    margin-right:.3rem;
}
.nav-link{
    font-weight:500;
    color:var(--text) !important;
    padding:.5rem 1rem !important;
    transition:color .2s;
}
.nav-link:hover{
    color:var(--primary) !important;
}
.navbar-toggler{
    border:1px solid var(--border);
    color:var(--text);
}
.hero-section{
    padding:5rem 0 3rem;
    text-align:center;
    border-bottom:1px solid var(--border);
}
.hero-title{
    font-size:3.2rem;
    font-weight:900;
    margin-bottom:1.2rem;
    color:var(--text);
}
.hero-subtitle{
    font-size:1.2rem;
    color:rgba(8,51,68,.7);
    max-width:700px;
    margin:0 auto 2rem;
}
.keyword-cloud{
    margin:2rem auto 1rem;
    max-width:700px;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:.8rem;
}
.keyword-tag{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:50px;
    padding:.45rem 1.4rem;
    font-size:.95rem;
    font-weight:500;
    color:var(--text);
    cursor:default;
    transition:all .3s ease;
}
.keyword-tag:hover{
    background:var(--primary);
    color:var(--white);
    border-color:var(--primary);
}
.section{
    padding:4rem 0;
    border-bottom:1px solid var(--border);
}
.section-title{
    font-size:2.2rem;
    font-weight:800;
    margin-bottom:1rem;
}
.section-subtitle{
    color:rgba(8,51,68,.6);
    font-size:1.1rem;
    max-width:600px;
    margin-bottom:3rem;
}
.steps-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:2rem;
    margin-top:1rem;
}
.step-item{
    position:relative;
    padding:1.5rem 1rem 1rem 0;
    border-left:2px solid var(--primary);
    padding-left:1.8rem;
}
.step-number{
    font-size:2.5rem;
    font-weight:900;
    color:var(--primary);
    line-height:1;
    margin-bottom:.8rem;
}
.step-title{
    font-weight:700;
    font-size:1.15rem;
    margin-bottom:.5rem;
}
.step-desc{
    color:rgba(8,51,68,.7);
    font-size:.95rem;
}
.feature-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:2rem;
    margin-top:1rem;
}
.feature-card{
    background:var(--white);
    border:1px solid var(--border);
    border-radius:12px;
    padding:2rem 1.8rem;
    transition:transform .35s ease, box-shadow .35s ease;
    opacity:0;
    transform:translateY(20px);
}
.feature-card.visible{
    opacity:1;
    transform:translateY(0);
}
.feature-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 30px rgba(8,145,178,.12);
    border-color:var(--primary);
}
.feature-icon{
    font-size:2rem;
    color:var(--primary);
    margin-bottom:1rem;
}
.feature-title{
    font-weight:700;
    font-size:1.25rem;
    margin-bottom:.6rem;
}
.feature-desc{
    color:rgba(8,51,68,.7);
    font-size:.95rem;
}
.long-article{
    padding:4rem 0;
    border-bottom:1px solid var(--border);
}
.article-content{
    max-width:800px;
    margin:0 auto;
}
.article-content p{
    margin-bottom:1.5rem;
    font-size:1.05rem;
    color:rgba(8,51,68,.85);
}
.article-content h3{
    font-size:1.5rem;
    font-weight:700;
    margin:2.5rem 0 1rem;
}
.data-highlight{
    font-size:2.2rem;
    font-weight:900;
    color:var(--primary);
    display:block;
    line-height:1.2;
}
.comparison-section{
    padding:4rem 0;
    border-bottom:1px solid var(--border);
}
.comparison-table{
    width:100%;
    max-width:800px;
    margin:0 auto;
    border-collapse:collapse;
    background:var(--white);
}
.comparison-table th,
.comparison-table td{
    border:1px solid var(--border);
    padding:1rem 1.5rem;
    text-align:left;
    font-size:.95rem;
}
.comparison-table th{
    background:rgba(8,145,178,.05);
    font-weight:700;
    font-size:1rem;
}
.comparison-table .highlight-col{
    background:rgba(8,145,178,.08);
    font-weight:600;
}
.faq-section{
    padding:4rem 0;
    border-bottom:1px solid var(--border);
}
.accordion-item{
    background:var(--bg);
    border:1px solid var(--border);
    border-radius:0 !important;
    margin-bottom:1rem;
}
.accordion-button{
    background:var(--bg);
    color:var(--text);
    font-weight:600;
    padding:1.2rem 1.5rem;
    box-shadow:none !important;
    border-left:3px solid transparent;
    transition:all .3s;
}
.accordion-button:not(.collapsed){
    color:var(--primary);
    background:rgba(8,145,178,.04);
    border-left-color:var(--primary);
}
.accordion-button::after{
    display:none;
}
.accordion-body{
    padding:1.2rem 1.5rem;
    color:rgba(8,51,68,.75);
    font-size:.95rem;
}
.cta-section{
    padding:5rem 0;
    text-align:center;
    background:var(--white);
    border-bottom:1px solid var(--border);
}
.cta-title{
    font-size:2.2rem;
    font-weight:800;
    margin-bottom:1rem;
}
.cta-text{
    max-width:500px;
    margin:0 auto 2rem;
    color:rgba(8,51,68,.7);
}
.btn-primary-custom{
    background:var(--primary);
    color:var(--white);
    border:none;
    padding:.8rem 2.5rem;
    font-weight:600;
    font-size:1rem;
    border-radius:50px;
    transition:all .3s;
    text-decoration:none;
    display:inline-block;
}
.btn-primary-custom:hover{
    background:var(--accent);
    color:var(--white);
    transform:translateY(-2px);
}
.friend-links-section{
    padding:3rem 0;
    border-bottom:1px solid var(--border);
    background:rgba(8,145,178,.02);
}
.friend-links-title{
    font-size:1.2rem;
    font-weight:700;
    margin-bottom:1.2rem;
    color:var(--text);
}
.friend-links-content{
    font-size:.95rem;
    color:rgba(8,51,68,.6);
}
.footer{
    padding:2.5rem 0;
    text-align:center;
    background:var(--bg);
    color:rgba(8,51,68,.6);
    font-size:.9rem;
}
.footer .brand{
    font-weight:800;
    font-size:1.1rem;
    color:var(--text);
}
.back-to-top{
    position:fixed;
    bottom:2rem;
    right:2rem;
    width:48px;
    height:48px;
    border-radius:50%;
    background:var(--primary);
    color:var(--white);
    border:none;
    font-size:1.2rem;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    opacity:0;
    visibility:hidden;
    transition:all .4s ease;
    z-index:999;
    box-shadow:0 4px 15px rgba(8,145,178,.3);
}
.back-to-top.show{
    opacity:1;
    visibility:visible;
}
.back-to-top:hover{
    background:var(--accent);
    transform:translateY(-3px);
}
@media (max-width: 768px){
    .hero-title{font-size:2.2rem;}
    .hero-subtitle{font-size:1rem;}
    .section-title{font-size:1.6rem;}
    .keyword-tag{font-size:.85rem;padding:.35rem 1.2rem;}
    .feature-grid{grid-template-columns:1fr;}
    .steps-container{grid-template-columns:1fr;}
}
@media (max-width: 576px){
    .comparison-table th,
    .comparison-table td{padding:.6rem .8rem;font-size:.85rem;}
    .comparison-table{font-size:.85rem;}
}

/* --- 子页面追加 --- */
/* 页面专属补充样式 —— 关于我们页 */
        .about-hero {
            padding: 90px 0 60px;
            background: linear-gradient(135deg, rgba(8,145,178,.08) 0%, rgba(14,165,233,.05) 100%);
            border-bottom: 1px solid var(--border);
        }
.about-hero .hero-title {
            font-size: 2.4rem;
            font-weight: 800;
            color: var(--text);
            margin-bottom: 16px;
            line-height: 1.3;
        }
.about-hero .hero-subtitle {
            font-size: 1.15rem;
            color: rgba(8,51,68,.75);
            max-width: 720px;
            margin: 0 auto;
            line-height: 1.8;
        }
.section-title::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 50px;
            height: 3px;
            border-radius: 3px;
            background: var(--primary);
        }
.story-block {
            background: var(--white);
            border: 1px solid var(--border);
            border-radius: 14px;
            padding: 36px 32px;
            margin-bottom: 24px;
        }
.story-block h3 {
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--text);
            margin-bottom: 14px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
.story-block h3 i {
            color: var(--primary);
        }
.story-block p {
            color: rgba(8,51,68,.75);
            line-height: 1.85;
            font-size: .95rem;
            margin-bottom: 12px;
        }
.data-highlight .highlight-title {
            font-size: 1.2rem;
            font-weight: 700;
            color: var(--text);
            margin-bottom: 16px;
            display: flex;
            align-items: center;
            gap: 10px;
        }
.data-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
        }
.data-item {
            text-align: center;
            padding: 16px 12px;
            background: var(--white);
            border: 1px solid var(--border);
            border-radius: 12px;
        }
.data-item .num {
            font-size: 2rem;
            font-weight: 800;
            color: var(--primary);
            line-height: 1.2;
        }
.data-item .label {
            font-size: .85rem;
            color: rgba(8,51,68,.65);
            margin-top: 6px;
        }
.about-list {
            list-style: none;
            padding: 0;
            margin: 16px 0 0;
        }
.about-list li {
            padding: 8px 0;
            display: flex;
            align-items: flex-start;
            gap: 10px;
            color: rgba(8,51,68,.8);
            font-size: .95rem;
            line-height: 1.7;
        }
.about-list li i {
            color: var(--primary);
            margin-top: 4px;
        }
.feature-grid, .data-grid { grid-template-columns: repeat(2, 1fr); }
.feature-grid, .data-grid { grid-template-columns: 1fr; }
.about-hero .hero-title { font-size: 1.8rem; }
.story-block { padding: 24px 18px; }

/* --- 子页面追加 --- */
/* 本页专属少量样式,仅用于补充页面特有元素 */
        .disclaimer-section {
            padding: 4rem 0;
        }
.disclaimer-card {
            background: var(--white);
            border: 1px solid var(--border);
            border-radius: 12px;
            padding: 2.5rem;
            margin-bottom: 2rem;
            box-shadow: 0 4px 20px rgba(8, 145, 178, .06);
            transition: box-shadow .3s ease;
        }
.disclaimer-card:hover {
            box-shadow: 0 8px 30px rgba(8, 145, 178, .12);
        }
.disclaimer-card h2 {
            color: var(--primary);
            font-weight: 700;
            font-size: 1.5rem;
            margin-bottom: 1.25rem;
            display: flex;
            align-items: center;
            gap: .75rem;
        }
.disclaimer-card h2 i {
            font-size: 1.25rem;
            color: var(--accent);
        }
.disclaimer-card p {
            color: var(--text);
            line-height: 1.9;
            font-size: .95rem;
            margin-bottom: 1rem;
        }
.disclaimer-card ul {
            color: var(--text);
            padding-left: 1.5rem;
            margin-bottom: 1rem;
        }
.disclaimer-card ul li {
            line-height: 1.9;
            font-size: .95rem;
            margin-bottom: .5rem;
        }
.highlight-box {
            background: rgba(8, 145, 178, .06);
            border-left: 4px solid var(--primary);
            padding: 1.25rem 1.5rem;
            border-radius: 0 8px 8px 0;
            margin: 1.5rem 0;
        }
.highlight-box p {
            margin-bottom: 0;
        }
.update-date {
            display: inline-block;
            background: var(--primary);
            color: var(--white);
            padding: .35rem 1rem;
            border-radius: 20px;
            font-size: .85rem;
            font-weight: 600;
            margin-bottom: 1.5rem;
        }
.contact-link {
            color: var(--primary);
            font-weight: 600;
            text-decoration: underline;
            text-underline-offset: 3px;
        }
.contact-link:hover {
            color: var(--accent);
        }

/* --- 子页面追加 --- */
/* 确保本页组件风格统一 —— 只覆盖 Bootstrap 组件类，且遵循站点配色 */
        .card, .card-body {
            background: var(--bg);
            color: var(--text);
            border: 1px solid var(--border);
        }
.card-title {
            color: var(--primary);
            font-weight: 700;
        }
.card-text {
            color: var(--text);
        }
.accordion-button:focus {
            box-shadow: none;
            border-color: var(--border);
        }
.list-group-item {
            background: var(--bg);
            color: var(--text);
            border-color: var(--border);
        }
.form-control {
            background: rgba(255,255,255,.8);
            border: 1px solid var(--border);
            color: var(--text);
        }
.form-control::placeholder {
            color: rgba(8,51,68,.5);
        }
/* 覆盖 navbar 及链接，确保一致 */
        .navbar, .navbar-nav .nav-link {
            color: var(--text) !important;
        }
.navbar-nav .nav-link.active {
            color: var(--primary) !important;
            font-weight: 600;
        }
/* 本页特有微调 */
        .guide-hero {
            background: linear-gradient(135deg, var(--bg) 0%, #dff6ff 100%);
            border-bottom: 2px solid var(--border);
        }
.step-card {
            background: var(--white);
            border: 1px solid var(--border);
            border-radius: 16px;
            transition: transform .2s;
        }
.step-card:hover {
            transform: translateY(-4px);
        }
.step-card .step-number {
            background: var(--primary);
            color: var(--white);
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            margin-bottom: 12px;
        }
.tip-box {
            background: rgba(14,165,233,.08);
            border-left: 4px solid var(--accent);
            padding: 14px 18px;
            border-radius: 0 12px 12px 0;
        }
.compare-table {
            background: var(--white);
            border-radius: 16px;
            overflow: hidden;
        }
.compare-table th {
            background: var(--primary);
            color: var(--white);
            font-weight: 600;
        }
.compare-table td, .compare-table th {
            padding: 12px 16px;
            border-bottom: 1px solid var(--border);
        }
.compare-table tr:last-child td {
            border-bottom: none;
        }
.faq-q {
            font-weight: 600;
            color: var(--primary);
        }

/* --- Bootstrap 组件配色适配(程序自动补,避免白底黑字) --- */
.table { color:#083344 !important; border-color:rgba(0,0,0,.12) !important; --bs-table-bg:transparent !important; --bs-table-color:#083344 !important; }
.accordion-header { background:transparent !important; }
