/* Professional page content blocks for FirstData */
.fd-page {
    --fd-accent: #1a56db;
    --fd-ink: #0b1f4d;
    --fd-muted: #334155;
    --fd-soft: #f4f7ff;
    color: var(--fd-muted);
}

.fd-page .fd-intro {
    max-width: 820px;
    margin: 0 auto 2.5rem;
    text-align: center;
}

.fd-page .fd-intro h2 {
    color: var(--fd-ink);
    font-size: clamp(1.6rem, 2.4vw, 2.2rem);
    margin-bottom: .75rem;
}

.fd-page .fd-intro p {
    color: var(--fd-muted);
    font-size: 1.05rem;
    line-height: 1.9;
}

.fd-page .fd-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: var(--fd-accent);
    font-weight: 700;
    letter-spacing: .02em;
    margin-bottom: .75rem;
}

.fd-page .fd-feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.25rem;
    margin: 2rem 0 2.5rem;
}

.fd-page .fd-feature {
    background: linear-gradient(180deg, #fff 0%, #f7faff 100%);
    border: 1px solid rgba(0, 85, 255, .08);
    border-radius: 18px;
    padding: 1.4rem 1.25rem;
    transition: transform .25s ease, box-shadow .25s ease;
}

.fd-page .fd-feature:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(0, 25, 76, .08);
}

.fd-page .fd-feature .fd-icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 85, 255, .1);
    color: var(--fd-accent);
    font-size: 1.45rem;
    margin-bottom: 1rem;
}

.fd-page .fd-feature h3 {
    font-size: 1.1rem;
    color: var(--fd-ink);
    margin-bottom: .45rem;
}

.fd-page .fd-feature p {
    color: var(--fd-muted);
    margin: 0;
    line-height: 1.75;
    font-size: .95rem;
}

.fd-page .fd-cta {
    margin: 2.5rem 0;
    padding: 1.75rem 1.5rem;
    border-radius: 22px;
    background: linear-gradient(135deg, #00194c 0%, #0033a0 55%, #0055ff 100%);
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.fd-page .fd-cta h3 {
    color: #fff;
    margin: 0 0 .35rem;
    font-size: 1.35rem;
}

.fd-page .fd-cta p {
    margin: 0;
    color: rgba(255, 255, 255, .88);
}

.fd-page .fd-cta a {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    background: #fff;
    color: #00194c;
    font-weight: 700;
    border-radius: 999px;
    padding: .85rem 1.35rem;
    text-decoration: none;
}

.fd-page .fd-cta a:hover {
    background: #eaf0ff;
}

.fd-page .fd-logo-row {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    margin: 1.5rem 0 2rem;
}

.fd-page .fd-logo-row img {
    max-height: 48px;
    width: auto;
    object-fit: contain;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .06));
}

.fd-page .fd-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1rem;
    margin: 2rem 0;
}

.fd-page .fd-step {
    position: relative;
    padding: 1.25rem;
    border-radius: 16px;
    background: #fff;
    border: 1px dashed rgba(0, 85, 255, .25);
}

.fd-page .fd-step .num {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--fd-accent);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    margin-bottom: .75rem;
}

.ck-content .fd-page ul.fd-check {
    list-style: none;
    padding: 0;
    margin: 1rem 0 1.5rem;
}

.ck-content .fd-page ul.fd-check li {
    position: relative;
    padding-inline-start: 2rem;
    margin-bottom: .7rem;
    color: var(--fd-muted);
}

.ck-content .fd-page ul.fd-check li:before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--fd-accent);
    position: absolute;
    inset-inline-start: 0;
    top: .15rem;
}

/* ===== Homepage readability / contrast ===== */
.banner-area-two,
.banner-area-two.banner-bg-two {
    position: relative;
}

.banner-area-two::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        105deg,
        rgba(6, 18, 42, 0.88) 0%,
        rgba(11, 31, 77, 0.72) 48%,
        rgba(11, 31, 77, 0.35) 100%
    );
    z-index: 1;
    pointer-events: none;
}

.banner-area-two .container,
.banner-area-two .banner-shape-wrap {
    position: relative;
    z-index: 2;
}

.banner-content-two .sub-title,
.banner-area-two .banner-content-two .sub-title {
    color: #93c5fd !important;
    font-weight: 800 !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.02em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.35);
}

.banner-content-two .title,
.banner-area-two .banner-content-two .title {
    color: #ffffff !important;
    font-weight: 800 !important;
    text-shadow: 0 4px 18px rgba(0, 0, 0, 0.45);
}

.banner-content-two p,
.banner-area-two .banner-content-two p {
    color: rgba(255, 255, 255, 0.94) !important;
    font-size: 1.05rem !important;
    line-height: 1.85 !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
    max-width: 38ch;
}

.banner-content-two .banner-btn .btn {
    background: linear-gradient(90deg, #1a56db, #2563eb) !important;
    border: 0 !important;
    color: #fff !important;
    font-weight: 800 !important;
    box-shadow: 0 12px 28px rgba(26, 86, 219, 0.35);
}

.banner-content-two .play-btn,
.banner-content-two .play-btn span {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Section titles — light backgrounds (navy / slate) */
.section-title-two:not(.white-title) .sub-title,
.services-area-two .section-title-two:not(.white-title) .sub-title,
.project-area-two .section-title-two:not(.white-title) .sub-title,
.overview-area .sub-title {
    color: #1a56db !important;
    font-weight: 800 !important;
    opacity: 1 !important;
}

.section-title-two:not(.white-title) .title,
.services-area-two .section-title-two:not(.white-title) .title,
.project-area-two .section-title-two:not(.white-title) .title,
.overview-area .title,
.tg-heading-subheading:not(.white-title) .title {
    color: #0b1f4d !important;
    font-weight: 800 !important;
    opacity: 1 !important;
}

.services-area-two .section-title-two p,
.project-area-two .section-title-two p,
.overview-area .overview-content p,
.services-content-two p {
    color: #1e293b !important;
    opacity: 1 !important;
    line-height: 1.8;
}

.services-content-two .title a {
    color: #0b1f4d !important;
}

.services-content-two .title a:hover {
    color: #1a56db !important;
}

.view-all-btn .btn,
.services-area-two .btn,
.project-area-two .btn {
    font-weight: 800 !important;
}

/* Homepage services block — light wash so titles stay crisp on bg image */
.services-area-two.services-bg-two {
    position: relative;
    isolation: isolate;
}

.services-area-two.services-bg-two::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(248, 250, 255, 0.92) 0%, rgba(241, 245, 255, 0.88) 100%);
}

.services-area-two.services-bg-two > .container {
    position: relative;
    z-index: 1;
}

.services-area-two .section-title-two .sub-title,
.services-area-two .section-title-two .title,
.services-area-two .section-title-two .title.tg-element-title {
    color: #0b1f4d !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.services-area-two .section-title-two .sub-title {
    color: #1a56db !important;
}

/* Intro-video / choose-area — dark bg → white text + overlay */
.choose-area.choose-bg,
.choose-area.jarallax {
    position: relative;
    isolation: isolate;
}

.choose-area.choose-bg::before,
.choose-area.jarallax::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(105deg, rgba(8, 22, 56, 0.9) 0%, rgba(11, 31, 77, 0.72) 55%, rgba(11, 31, 77, 0.45) 100%);
}

.choose-area > .container,
.choose-area > .choose-shape {
    position: relative;
    z-index: 1;
}

.section-title-two.white-title .title,
.choose-area .white-title .title,
.choose-area .choose-content .title,
.choose-area .choose-content .tg-element-title {
    color: #ffffff !important;
    font-weight: 800 !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
}

.choose-area .choose-content > p {
    color: rgba(255, 255, 255, 0.96) !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    line-height: 1.85 !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

.choose-area .choose-content .play-btn {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Skill card on choose-area stays light */
.choose-area .skill-wrap .section-title-two .title,
.choose-area .skill-wrap .section-title-two .sub-title,
.choose-area .skill-wrap .progress-item .title {
    color: #0b1f4d !important;
    text-shadow: none !important;
}

.choose-area .skill-wrap .section-title-two .sub-title {
    color: #1a56db !important;
}

.choose-area .skill-wrap > p {
    color: #1e293b !important;
    opacity: 1 !important;
}

/* Homepage projects — light wash + navy headings / slate body */
.project-area-two.project-bg-two {
    position: relative;
    isolation: isolate;
}

.project-area-two.project-bg-two::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(248, 250, 255, 0.93) 0%, rgba(241, 245, 255, 0.9) 100%);
}

.project-area-two.project-bg-two > .container {
    position: relative;
    z-index: 1;
}

.project-area-two .section-title-two .sub-title {
    color: #1a56db !important;
    font-weight: 800 !important;
    opacity: 1 !important;
}

.project-area-two .section-title-two .title,
.project-area-two .section-title-two .title.tg-element-title {
    color: #0b1f4d !important;
    font-weight: 800 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.project-area-two .project-content-top p {
    color: #1e293b !important;
    opacity: 1 !important;
    font-weight: 600 !important;
    line-height: 1.8 !important;
}

/* Project cards — text over images: dark solid panel + white type */
.project-item-two .project-content-two,
.project-area-two .project-content-two {
    background: rgba(8, 18, 40, 0.88) !important;
    background-image: linear-gradient(
        180deg,
        rgba(8, 18, 40, 0.92) 0%,
        rgba(11, 31, 77, 0.9) 100%
    ) !important;
}

.project-item-two .project-content-two,
.project-item-two .project-content-two .title,
.project-item-two .project-content-two .title a,
.project-area-two .project-content-two,
.project-area-two .project-content-two .title,
.project-area-two .project-content-two .title a {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.project-item-two .project-content-two .title,
.project-area-two .project-content-two .title {
    font-weight: 800 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}

.project-item-two .project-content-two .title a:hover,
.project-area-two .project-content-two .title a:hover {
    color: #ffffff !important;
    opacity: 1 !important;
}

.project-item-two .project-content-two span,
.project-item-two .project-content-two p,
.project-area-two .project-content-two span,
.project-area-two .project-content-two p {
    color: rgba(255, 255, 255, 0.95) !important;
    opacity: 1 !important;
    font-weight: 600 !important;
    line-height: 1.75 !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.35);
}

.project-item-two .project-content-two .link-btn,
.project-area-two .project-content-two .link-btn {
    background: #ffffff !important;
    color: #0b1f4d !important;
}

.project-item-two .project-content-two .link-btn i,
.project-area-two .project-content-two .link-btn i {
    color: #0b1f4d !important;
}

.project-item-two .project-content-two .link-btn:hover,
.project-area-two .project-content-two .link-btn:hover {
    background: #1a56db !important;
    color: #ffffff !important;
}

.project-item-two .project-content-two .link-btn:hover i,
.project-area-two .project-content-two .link-btn:hover i {
    color: #ffffff !important;
}

/* style-3 overlapping card stays on light panel */
.project-content .tag,
.project-content .title,
.project-content .title a {
    color: #0b1f4d !important;
}

.project-content .title a:hover,
.project-content .tag:hover {
    color: #1a56db !important;
}

.fd-clients-page .fd-intro h2,
.fd-clients-page .fd-feature h3,
.fd-clients-page .fd-section-head h3 {
    color: #0b1f4d !important;
}

.fd-clients-page .fd-intro p,
.fd-clients-page .fd-feature p,
.fd-clients-page .fd-section-head p {
    color: #1e293b !important;
}

/* Services list contrast on services page */
.services-area-five .section-title-two .title,
.services-area-five .services-content .title {
    color: #0b1f4d !important;
}

.services-area-five .section-title-two p,
.services-area-five .services-content p {
    color: #334155 !important;
    opacity: 1 !important;
}

.services-area-five .services-content .icon,
.services-area-five .services-content .icon i {
    color: #1a56db !important;
}

/* Extra FD layout blocks */
.fd-page .fd-section-head {
    max-width: 820px;
    margin: 2.75rem auto 1.25rem;
    text-align: center;
}

.fd-page .fd-section-head h3 {
    color: var(--fd-ink);
    font-size: clamp(1.25rem, 2vw, 1.7rem);
    margin: .35rem 0 .55rem;
}

.fd-page .fd-section-head p {
    color: var(--fd-muted);
    margin: 0;
    line-height: 1.8;
}

.fd-page .fd-hero-band {
    text-align: center;
    margin: 0 auto 2.5rem;
    padding: 2rem 1.5rem;
    border-radius: 24px;
    background:
        radial-gradient(circle at 15% 20%, rgba(26, 86, 219, .14), transparent 45%),
        linear-gradient(145deg, #0b1f4d 0%, #12306e 55%, #1a56db 140%);
    color: #fff;
}

.fd-page .fd-hero-band .fd-kicker {
    color: #93c5fd;
}

.fd-page .fd-hero-band h2 {
    color: #fff;
    font-size: clamp(1.55rem, 2.5vw, 2.15rem);
    margin: .35rem 0 .75rem;
}

.fd-page .fd-hero-band p {
    color: rgba(255, 255, 255, .92);
    max-width: 720px;
    margin: 0 auto;
    line-height: 1.9;
    font-size: 1.05rem;
}

.fd-page .fd-policy-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.15rem;
    margin: 1.5rem 0 2rem;
}

.fd-page .fd-policy-card {
    background: linear-gradient(180deg, #fff 0%, #f7faff 100%);
    border: 1px solid rgba(26, 86, 219, .1);
    border-radius: 18px;
    padding: 1.35rem 1.25rem;
}

.fd-page .fd-policy-card h3 {
    color: var(--fd-ink);
    font-size: 1.08rem;
    margin: .35rem 0 .85rem;
}

.fd-page .fd-policy-card .fd-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 86, 219, .1);
    color: var(--fd-accent);
    font-size: 1.25rem;
}

.fd-page .fd-policy-card ul.fd-check {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fd-page .fd-policy-card ul.fd-check li {
    position: relative;
    padding-inline-start: 1.7rem;
    margin-bottom: .65rem;
    color: var(--fd-muted);
    line-height: 1.75;
    font-size: .95rem;
}

.fd-page .fd-policy-card ul.fd-check li:before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--fd-accent);
    position: absolute;
    inset-inline-start: 0;
    top: .15rem;
}

.fd-page .fd-note {
    margin: 1.25rem 0 2rem;
    padding: 1rem 1.2rem;
    border-radius: 14px;
    background: rgba(26, 86, 219, .06);
    border: 1px solid rgba(26, 86, 219, .12);
    color: var(--fd-ink);
    line-height: 1.8;
}

.fd-page .fd-mission-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1.15rem;
    margin: 1.5rem 0 2rem;
}

.fd-page .fd-mission {
    padding: 1.5rem 1.35rem;
    border-radius: 20px;
    background: linear-gradient(160deg, #fff 0%, #eef3ff 100%);
    border: 1px solid rgba(11, 31, 77, .08);
}

.fd-page .fd-mission h3 {
    color: var(--fd-ink);
    font-size: 1.15rem;
    margin: .4rem 0 .65rem;
}

.fd-page .fd-mission p {
    margin: 0;
    color: var(--fd-muted);
    line-height: 1.8;
}

.fd-page .fd-agent-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1.15rem;
    margin: 1.25rem 0 2rem;
}

.fd-page .fd-agent-card {
    padding: 1.4rem 1.25rem;
    border-radius: 18px;
    background: #fff;
    border: 1px solid rgba(26, 86, 219, .12);
    box-shadow: 0 10px 30px rgba(11, 31, 77, .05);
}

.fd-page .fd-agent-card .fd-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 86, 219, .1);
    color: var(--fd-accent);
    font-size: 1.35rem;
    margin-bottom: .9rem;
}

.fd-page .fd-agent-card h3 {
    color: var(--fd-ink);
    margin-bottom: .45rem;
    font-size: 1.08rem;
}

.fd-page .fd-agent-card p {
    margin: 0;
    color: var(--fd-muted);
    line-height: 1.75;
}

.fd-page .fd-cta.fd-cta-light {
    background: linear-gradient(135deg, #eef3ff 0%, #dbe7ff 100%);
    color: var(--fd-ink);
}

.fd-page .fd-cta.fd-cta-light h3 {
    color: var(--fd-ink);
}

.fd-page .fd-cta.fd-cta-light p {
    color: var(--fd-muted);
}

.fd-page .fd-cta.fd-cta-light a {
    background: #0b1f4d;
    color: #fff;
}

.fd-page .fd-cta.fd-cta-light a:hover {
    background: #1a56db;
}

.fd-page .fd-step h3 {
    color: var(--fd-ink);
    font-size: 1.05rem;
    margin: 0 0 .4rem;
}

.fd-page .fd-step p {
    margin: 0;
    color: var(--fd-muted);
    line-height: 1.7;
    font-size: .95rem;
}

/* Ensure check lists render outside CKEditor wrappers too */
.fd-page ul.fd-check {
    list-style: none;
    padding: 0;
    margin: 1rem 0 1.5rem;
}

.fd-page ul.fd-check li {
    position: relative;
    padding-inline-start: 2rem;
    margin-bottom: .7rem;
    color: var(--fd-muted);
    line-height: 1.75;
}

.fd-page ul.fd-check li:before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--fd-accent);
    position: absolute;
    inset-inline-start: 0;
    top: .15rem;
}

/* ===== Homepage contact-block CTA — solid card on top, no bleed ===== */
.cta-area,
.cta-area-two,
.cta-area-three,
.cta-area-four,
.cta-area-five {
    position: relative;
    z-index: 8;
    isolation: isolate;
    overflow: visible !important;
}

.cta-area .container,
.cta-area-two .container,
.cta-area-three .container,
.cta-area-four .container,
.cta-area-five .container {
    position: relative;
    z-index: 9;
}

.cta-inner-wrap,
.cta-inner-wrap-two,
.cta-inner-wrap-three {
    position: relative;
    z-index: 10;
    isolation: isolate;
    background-color: #0b1f4d !important;
    background-image: linear-gradient(135deg, #0b1f4d 0%, #12306e 52%, #1a56db 140%) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    box-shadow: 0 20px 48px rgba(11, 31, 77, 0.32);
    border: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.cta-inner-wrap > .row,
.cta-inner-wrap-two > .row,
.cta-inner-wrap-three > .row {
    position: relative;
    z-index: 2;
}

.cta-info-wrap .content span,
.cta-info-wrap .content a,
.cta-content .title,
.cta-inner-wrap .cta-content .title,
.cta-inner-wrap-two .cta-content .title,
.cta-inner-wrap-three .cta-content .title {
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
}

.cta-info-wrap .content span {
    color: rgba(255, 255, 255, 0.92) !important;
    font-weight: 700 !important;
}

.cta-info-wrap .icon,
.cta-info-wrap .icon i {
    color: #ffffff !important;
}

.cta-info-wrap .content a:hover {
    color: #93c5fd !important;
}

.cta-inner-wrap .cta-btn .btn,
.cta-area .cta-btn .btn {
    background: #ffffff !important;
    color: #0b1f4d !important;
    border: 0 !important;
    font-weight: 800 !important;
}

.cta-inner-wrap .cta-btn .btn:hover,
.cta-area .cta-btn .btn:hover {
    background: #e8efff !important;
    color: #0b1f4d !important;
}

.cta-inner-wrap-two .cta-btn .btn,
.cta-inner-wrap-three .btn-three {
    background: #ffffff !important;
    color: #0b1f4d !important;
    border: 2px solid #ffffff !important;
}

.cta-inner-wrap-two .cta-btn .btn:hover,
.cta-inner-wrap-three .btn-three:hover {
    background: #1a56db !important;
    border-color: #1a56db !important;
    color: #ffffff !important;
}

/* Keep neighbors under the overlapping CTA card */
.project-area-two,
.blog-area-two,
.services-area-two {
    position: relative;
    z-index: 1;
}
