/* Compatibility layer: preserves the 2025 visual design while the current CMS serves articles and routes. */
@font-face { font-family: 'FontAwesome'; src: url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'); font-weight: normal; font-style: normal; font-display: block; }
html { scroll-behavior: smooth; }
body.legacy-restored { margin: 0; overflow-x: hidden; background: #fff; color: #040000; }
body.legacy-restored main { min-height: 45vh; }
body.legacy-restored a { color: inherit; }
body.legacy-restored img { max-width: 100%; }

.header_section { position: relative; z-index: 20; }
.header_section .header_top { min-height: 30px; }
.header_section .header_bottom { background: #d1e3ff; }
.custom_nav-container { display: flex; align-items: center; width: 100%; }
.legacy-nav-collapse { display: flex; flex: 1; align-items: center; justify-content: flex-end; }
.legacy-nav-collapse .navbar-nav { display: flex; flex-direction: row; align-items: center; }
.legacy-nav-collapse .nav-link { font-family: 'Lato', sans-serif; }
.legacy-nav-toggle { display: none; background: transparent; border: 0; }

.legacy-home-hero .slider_section .detail-box h1 { text-transform: none; }
.legacy-home-hero .slider_section .detail-box p { font-size: 1rem; line-height: 1.7; }
.legacy-home-hero .slider_section .img-box { display: flex; align-items: flex-end; justify-content: center; }
.legacy-hero-actions { flex-wrap: wrap; gap: .65rem; }
.legacy-hero-actions .btn { margin-right: 0 !important; }
.legacy-hero-actions .btn-secondary { background: #0355cc !important; border-color: #0355cc !important; }

.feature_section { position: relative; z-index: 4; }
.feature_section .feature_container .box .img-box { display: flex; align-items: center; justify-content: center; }
.feature_section .feature_container .box i { color: #040000; transition: color .3s; }
.feature_section .feature_container .box:hover i,
.feature_section .feature_container .box.active i { color: #fff; }
.feature_section .feature_container .box p { margin: .75rem 0 0; color: inherit; line-height: 1.55; }

.professional_section .img-box img { max-height: 500px; width: auto; }
.legacy-blog-callout { background: #d1e3ff; }
.legacy-blog-callout p { max-width: 760px; margin: 0 auto 1.5rem; }
.legacy-page-band { min-height: 64px; }

.service_section .box { height: 100%; }
.service_section .box .img-box { display: flex; align-items: center; justify-content: center; min-height: 64px; }
.service_section .box i { color: #040000; transition: color .3s; }
.service_section .box:hover i { color: #fff; }
.service_section .textual_list { max-width: 850px; margin-inline: auto; }
.service_section .textual_list li { padding: .9rem 0; border-bottom: 1px solid #d7dce4; line-height: 1.65; }
.legacy-service-embedded { padding-bottom: 80px; }

.legacy-blog-hero { min-height: 310px; }
.legacy-blog-intro { min-height: 280px; padding: 55px 0; }
.legacy-blog-intro .detail-box { padding-bottom: 0; }
.legacy-blog-intro h1 { color: #0355cc; font-size: clamp(2rem, 4vw, 3.25rem); }
.legacy-blog-intro p { color: #313b49; font-size: 1.05rem; line-height: 1.7; }
.legacy-blog-intro i { color: #0355cc; }
.legacy-blog-listing { background: #fff; }
.legacy-blog-filter { max-width: 720px; margin: 2.5rem auto 3rem; }
.legacy-blog-filter label { display: block; margin-bottom: .55rem; font-weight: 700; }
.legacy-blog-filter input { width: 100%; height: 52px; padding: 0 18px; border: 1px solid #b9c8dc; border-radius: 3px; box-shadow: 0 5px 18px rgba(3,85,204,.08); }
.legacy-post-card { display: flex !important; flex-direction: column; align-items: stretch !important; padding: 0 !important; overflow: hidden; text-align: left !important; background: #fff; }
.legacy-post-card:hover { background: #fff !important; color: #040000 !important; transform: translateY(-3px); }
.legacy-post-image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #d1e3ff; }
.legacy-post-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.legacy-post-card:hover .legacy-post-image img { transform: scale(1.025); }
.legacy-post-card .detail-box { padding: 1.3rem 1.35rem 1.5rem; margin: 0 !important; }
.legacy-post-card .detail-box h2 { margin: .35rem 0 .75rem; color: #0355cc; line-height: 1.25; }
.legacy-post-card .detail-box h2 a:hover { color: #ff8a1d; }
.legacy-post-card .detail-box p { color: #4b5563; line-height: 1.55; }
.legacy-post-path { color: #68768a !important; font-size: .75rem; overflow-wrap: anywhere; }
.legacy-read-more { display: inline-block; margin-top: .45rem; padding: .62rem 1rem; background: #0355cc; color: #fff !important; font-family: 'Merriweather Sans', sans-serif; }
.legacy-read-more:hover { background: #ff8a1d; }
.legacy-blog-empty { text-align: center; padding: 2rem; }

.client_section { overflow: hidden; }
.legacy-review-track { position: relative; min-height: 220px; }
.legacy-review-slide { display: none; max-width: 900px; margin: 15px auto !important; }
.legacy-review-slide.is-active { display: block; animation: legacyFade .28s ease both; }
.legacy-review-slide .client_detail { display: flex; align-items: center; justify-content: space-between; flex: 1; }
.legacy-review-slide .client_detail p { margin: 0; }
.legacy-review-slide .rating { color: #fbaf5d; white-space: nowrap; }
.legacy-review-nav { display: flex; justify-content: center; gap: 1rem; margin-top: 1rem; }
.legacy-review-nav button { width: 50px; height: 50px; border: 0; background: #0355cc; color: #fff; cursor: pointer; }
.legacy-review-nav button:hover { background: #ff8a1d; }
@keyframes legacyFade { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: translateX(0); } }

.legacy-footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem 1.25rem; margin-bottom: 1rem; }
.legacy-footer-links a { color: #fff; }
.legacy-footer-links a:hover { color: #ff8a1d; }
.footer_section .share_section a { display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; margin: 0 .25rem; color: #fff; font-size: 1.3rem; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; }
.footer_section .share_section a:hover { color: #ff8a1d; border-color: #ff8a1d; }

.contact_section { background: #d1e3ff; }
.legacy-contact-form label { display: block; font-weight: 700; margin-bottom: .45rem; }
.legacy-contact-form input,
.legacy-contact-form textarea { color: #040000; background: #fff; }
.legacy-contact-form textarea { min-height: 150px; width: 100%; border: 0; padding: 15px 25px; box-shadow: 0 0 7px rgba(0,0,0,.2); }

/* Existing CMS article pages inherit the old palette and typography without changing their content or URLs. */
body.legacy-restored .hero:not(.legacy-blog-intro) { background: #d1e3ff; }
body.legacy-restored .hero-copy h1,
body.legacy-restored .hero-center h1 { color: #0355cc; font-family: 'Merriweather Sans', sans-serif; }
body.legacy-restored .eyebrow { color: #0355cc; }
body.legacy-restored .button-primary,
body.legacy-restored .action-button-primary { background: #ff8a1d; border-color: #ff8a1d; color: #fff; }
body.legacy-restored .button-secondary { border-color: #0355cc; color: #0355cc; background: #fff; }
body.legacy-restored .summary-panel,
body.legacy-restored .toc,
body.legacy-restored .content-block,
body.legacy-restored .niche-widget { border-radius: 0; box-shadow: 0 0 15px rgba(0,0,0,.12); }
body.legacy-restored .article-content h2,
body.legacy-restored .article-content h3 { font-family: 'Merriweather Sans', sans-serif; color: #0a0f43; }
body.legacy-restored .article-content a { color: #0355cc; }
body.legacy-restored .article-content a:hover { color: #ff8a1d; }
body.legacy-restored .ad-slot { border-radius: 0; }

@media (max-width: 991px) {
    .legacy-nav-toggle { display: block; margin-left: auto; }
    .legacy-nav-collapse { display: none; width: 100%; flex-basis: 100%; }
    .legacy-nav-collapse.is-open { display: block; }
    .custom_nav-container { flex-wrap: wrap; }
    .legacy-nav-collapse .navbar-nav { flex-direction: column; align-items: stretch; padding: 1rem 0; }
    .custom_nav-container .navbar-nav .nav-item .nav-link { padding: 10px 15px; }
    .feature_section { transform: none; margin-bottom: 0; }
}

@media (max-width: 767px) {
    .navbar-brand { max-width: calc(100% - 58px); font-size: 18px; line-height: 1.2; white-space: normal; }
    .feature_section .feature_container .box { width: 100%; margin: 0 0 15px; }
    .legacy-contact-form { width: 100% !important; }
    .legacy-review-slide .client_id { align-items: flex-start !important; }
    .legacy-review-slide .client_detail { display: block; }
    .legacy-review-slide .rating { margin-top: .35rem; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
