:root {
    --blue: #2563EB;
    --cyan: #06B6D4;
    --navy: #0A2540;
    --ink: #1E293B;
    --muted: #64748B;
    --line: #E2E8F0;
    --bg: #F8FAFC;
    --heading: "Poppins", sans-serif;
    --body: "Inter", sans-serif;
}

html,
body {
    background: var(--bg) !important;
    color: var(--ink) !important;
}

body {
    font-family: var(--body) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-heading h1,
.section-heading h2,
.about-hero-copy h1 {
    font-family: var(--heading) !important;
    color: var(--navy) !important;
}

.cyber-site {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background: var(--bg);
}

.cyber-site > main {
    flex: 1;
}

.site-header {
    background: #fff !important;
    border-bottom-color: var(--line) !important;
}

.site-header .header-inner {
    position: relative;
}

.brand {
    color: var(--navy) !important;
}

.brand-logo-only .brand-logo-img,
.site-header .brand-logo-img,
.site-footer .brand-logo-img {
    width: auto !important;
    height: 75px !important;
    max-width: 229px !important;
    max-height: 75px !important;
    object-fit: contain !important;
}

.brand-logo-only > span:not(.brand-icon) {
    display: none !important;
}

.site-nav a:hover,
.nav-dropdown-toggle:hover,
.nav-dropdown.open .nav-dropdown-toggle {
    color: var(--blue) !important;
}

.site-nav a.active {
    color: var(--blue) !important;
    background: rgba(37, 99, 235, 0.08) !important;
}

.btn-primary,
.header-cta {
    background: var(--blue) !important;
    border-color: var(--blue) !important;
    color: #fff !important;
}

.btn-primary:hover,
.header-cta:hover {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #fff !important;
}

.btn-gradient {
    background: linear-gradient(135deg, var(--blue), var(--cyan)) !important;
}

.soft-label.teal,
.blog-category-pill,
.nav-dropdown-menu a i {
    color: var(--cyan) !important;
}

.nav-dropdown {
    position: relative;
}

.nav-dropdown-menu {
    display: grid !important;
}

@media (min-width: 992px) {
    .nav-dropdown:hover .nav-dropdown-menu,
    .nav-dropdown.open .nav-dropdown-menu {
        visibility: visible !important;
        opacity: 1 !important;
        transform: translate(-50%, 0) !important;
    }
}

.site-footer {
    background: var(--navy) !important;
    color: #fff !important;
}

.site-footer .brand {
    color: #fff !important;
}

.site-footer .brand-logo-img.brand-logo-invert {
    filter: brightness(0) invert(1);
}

.site-footer .footer-about p,
.site-footer .footer-grid a,
.site-footer .footer-grid span,
.site-footer .footer-contact .contact-text,
.site-footer .footer-bottom,
.site-footer .footer-bottom span,
.site-footer .footer-bottom a {
    color: rgba(255, 255, 255, 0.92) !important;
}

.site-footer .footer-grid h3 {
    color: #fff !important;
}

.site-footer .footer-grid a:hover,
.site-footer .footer-bottom a:hover {
    color: var(--cyan) !important;
}

.social-links a,
.footer-contact .contact-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

.social-links a i {
    font-family: "Font Awesome 6 Brands" !important;
    font-style: normal;
    font-weight: 400;
    display: inline-block;
    line-height: 1;
}

.footer-contact .contact-icon i {
    font-family: "Font Awesome 6 Free" !important;
    font-style: normal;
    font-weight: 900;
    display: inline-block;
    line-height: 1;
    font-size: 16px;
}

.social-links a {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.social-links a:hover {
    background: var(--blue) !important;
    border-color: var(--blue) !important;
}

.footer-contact .contact-icon {
    color: var(--cyan) !important;
    background: rgba(6, 182, 212, 0.12) !important;
    border: 1px solid rgba(6, 182, 212, 0.2);
}

.site-nav a:hover,
.nav-dropdown-menu a:hover,
.site-footer a:hover,
.footer-grid a:hover,
.brand:hover,
a:hover {
    text-decoration: none !important;
}

#ftco-loader {
    display: none !important;
}

/* CTA banners (all pages) - white text on dark gradient */
.final-cta {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    color: #fff !important;
    text-align: center !important;
}

.final-cta > div {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100%;
}

.final-cta .btn-ghost {
    margin-left: 0 !important;
}

.final-cta h2 {
    color: #fff !important;
}

.final-cta h2 span {
    color: var(--cyan) !important;
}

.final-cta p {
    color: rgba(255, 255, 255, 0.92) !important;
}

.final-cta .soft-label.dark {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
}

.final-cta .soft-label.dark i {
    color: var(--cyan) !important;
}

/* Contact page */
.contact-hero {
    background: #fff !important;
}

.contact-hero h1 {
    color: var(--navy) !important;
}

.contact-hero p {
    color: var(--muted) !important;
}

.contact-info-panel h2,
.contact-info-panel .soft-label.teal {
    color: #fff !important;
}

.contact-info-list i,
.contact-trust-note i {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900;
    font-style: normal;
}

.featured-video {
    cursor: pointer;
}

.featured-video.is-playing {
    cursor: default;
}

.video-status-message {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 4;
    padding: 10px 14px;
    color: #fff;
    background: rgba(6, 182, 212, 0.92);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity .25s ease, transform .25s ease;
    pointer-events: none;
}

.video-status-message.visible {
    opacity: 1;
    transform: translateY(0);
}

.contact-form-alert {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    padding: 12px 14px;
    color: #b42318;
    background: #fef3f2;
    border: 1px solid #fecdca;
    border-radius: 10px;
    font-size: 14px;
}

/* Blog detail hero - white text on dark banner */
.blog-article-hero,
.blog-article-hero .blog-hero-content {
    color: #fff !important;
}

.blog-article-hero h1,
.blog-article-hero h2,
.blog-article-hero h3,
.blog-hero-content h1 {
    color: #fff !important;
    background: transparent !important;
    -webkit-text-fill-color: #fff !important;
}

.blog-hero-meta,
.blog-hero-meta span {
    color: rgba(255, 255, 255, 0.92) !important;
}

.blog-hero-meta i {
    color: var(--cyan) !important;
}

.blog-article-hero .blog-category-pill {
    color: var(--cyan) !important;
}

/* Embedded tutorial videos - full width player */
.featured-video.is-embed .video-embed-poster {
    background-size: cover;
}
