body {
    font-family: 'Arial', sans-serif;
    background-color: #f8f9fa;
}

.page-top-tight { padding-top:6px; }

.header {
    background: linear-gradient(#07c160, #9198e5);
    color: #fff;
    padding: 10px 0;
    text-align: center;
}

.header h1 {
    font-size: 3em;
    margin-bottom: 5px;
}

.header p {
    font-size: 1.2em;
}

.section-title { text-align:center; margin:12px 0 10px; font-size:2.4em; color:#343a40; }

.card {
    margin-bottom: 30px;
}

.card-title {
    font-size: 1.5em;
    color: #007bff;
}

.footer {
    background-color: #343a40;
    color: #fff;
    padding: 5px 0;
    text-align: center;
}

.footer p {
    margin: 0;
    display: inline-block;
}


.contact-info, .copyright {
    margin-top: 5px;
}

/* Homepage contact & footer classes (migrated from removed inline/style.css to satisfy CSP) */
.contact-block { font-weight:700; padding:20px 0; }
.contact-label { text-align:start; font-weight:700; }
.btn-wechat-add { color:#07c160 !important; font-weight:600; }
.btn-call-link { color:#07c160 !important; text-decoration:none; }
.btn-call-link:hover { text-decoration:underline; }
.footer-link { text-decoration:none; color:inherit; }
.footer-link:hover { text-decoration:underline; }
.footer-sep { margin:0 10px; }
.config-ewm-preview { max-width:150px; height:auto; }

/* Feature cards alignment */
.feature-row > [class*="col-"] { display:flex; }
.feature-card { transition:box-shadow .2s ease, transform .2s ease; border:1px solid #dee2e6; }
.feature-card { background:#fff; border-radius:10px; position:relative; }
.feature-card:hover { box-shadow:0 10px 28px -4px rgba(0,0,0,.12); transform:translateY(-6px); }
.feature-card:before { content:""; position:absolute; inset:0; border-radius:10px; background:linear-gradient(135deg,#e6f7ff,#f8fff4); opacity:0; transition:opacity .35s; }
.feature-card:hover:before { opacity:1; }
.feature-card .card-body { display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:1.55rem 1.1rem; }
.feature-card { min-height: 250px; }
.feature-row { margin-top:10px; }
.feature-card p { margin-top:.75rem; margin-bottom:0; }
.feature-card i { margin-bottom:1.1rem !important; }
.feature-icon { width:72px; height:72px; border-radius:20px; background:linear-gradient(135deg,#0d6efd,#4dabf7); color:#fff; display:flex; align-items:center; justify-content:center; font-size:34px; box-shadow:0 6px 18px rgba(13,110,253,.25); position:relative; margin-bottom:1rem; }
.feature-card:nth-child(2) .feature-icon { background:linear-gradient(135deg,#20c997,#63e6be); box-shadow:0 6px 18px rgba(32,201,151,.25); }
.feature-card:nth-child(3) .feature-icon { background:linear-gradient(135deg,#845ef7,#9775fa); box-shadow:0 6px 18px rgba(132,94,247,.28); }
.feature-card:hover .feature-icon { transform:scale(1.06) rotate(-2deg); transition:transform .4s; }
.feature-card .card-title { font-weight:600; letter-spacing:.5px; }
.feature-section .section-lead { max-width:780px; margin:0 auto 8px; font-size:1.05rem; color:#373d42; line-height:1.6; }
.feature-section { padding-top:10px; }
.feature-card i { color:#212529; }
.feature-card .card-title { font-size:1.25rem; margin-top:.25rem; }
.updates-section .card { border:1px solid #e3e6ea; transition:box-shadow .2s ease, transform .2s ease; }
.updates-section .card:hover { box-shadow:0 8px 22px -6px rgba(0,0,0,.12); transform:translateY(-3px); }
.updates-section .card-title { font-weight:600; }
.updates-section .update-description { position:relative; overflow:hidden; transition:max-height .35s ease; }
.updates-section .update-description.clamped { max-height:7.8em; }
.updates-section .update-description.clamped:after { content:""; position:absolute; left:0; right:0; bottom:0; height:2.6em; background:linear-gradient(to bottom, rgba(255,255,255,0), #fff); }
.updates-section .toggle-desc { cursor:pointer; font-size:.85rem; font-weight:600; color:#0d6efd; user-select:none; }
.updates-section .toggle-desc:hover { text-decoration:underline; }
.updates-section #load-more-updates { margin-top:18px; }
.contact-block img { max-width:200px; width:100%; height:auto; border-radius:6px; box-shadow:0 4px 16px rgba(0,0,0,.08); }
@media (max-width:991.98px){
    .feature-card { min-height:230px; }
    .feature-card .card-body { padding:1.35rem 1rem; }
    .feature-icon { width:64px; height:64px; font-size:30px; margin-bottom:.85rem; }
}
@media (max-width:767.98px){
    .section-title { margin:16px 0 12px; font-size:2rem; }
    .feature-row > [class*="col-"] { padding-left:8px; padding-right:8px; }
    .feature-card { min-height:unset; }
    .feature-card .card-body { padding:1.2rem .9rem; }
    .feature-icon { width:60px; height:60px; font-size:26px; margin-bottom:.75rem; }
    .feature-card .card-title { font-size:1.15rem; }
    .feature-card p { font-size:.9rem; line-height:1.45; }
}
