/* --- Variables & Core Constants --- */
:root {
    --primary-blue: #1a4295;
    --secondary-blue: #0d85c4;
    --accent-blue: #2db2eb;
    --light-bg: #f9fbfd;
    --border-radius: 15px;
    --transition: all 0.3s ease-in-out;
}

/* --- Animations --- */
@keyframes blinker {
    50% { opacity: 0.3; transform: scale(0.95); }
}

@keyframes floatImage {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
}

@keyframes scrolldown {
    0% { transform: translateY(0); }
    100% { transform: translateY(-50%); }
}

.blink-animation { animation: blinker 2.5s linear infinite; }

/* --- Header & Navigation --- */
.nav-landmark-container {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.landmark-img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    padding: 4px;
    object-fit: cover;
}

/* --- Services Section --- */
.services-four__bg { background-color: #f0f5f5 !important; }

.services-four__carousel .owl-stage,
.services-four__carousel .owl-item {
    display: flex !important;
}

.service-card-four {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    border-radius: var(--border-radius);
    overflow: hidden;
    transition: var(--transition);
}

.service-card-four__content {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px;
}

.service-card-four__image,
.service-card-four__image__inner {
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
}

#service-text-one, #service-text-two { color: #2c3e50 !important; }

.all-service-products-btn { padding: 10.5px 25px !important; }

/* Landing Page Product Section Text */

.product-focus-text-custom {
  margin: 12px 0;
  padding: 0;
  font-family: "Poppins", "Segoe UI", Arial, sans-serif !important;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 0.2px;
  color: #400733 !important;
  text-align: left;
}

.product-focus-text-custom strong {
  color: #003b4a;
  font-weight: 700;
  font-style: italic;
}

@media (max-width: 768px) {
  .product-focus-text-custom {
    font-size: 18px;
    line-height: 1.35;
  }
}

/* End Landing Page Product Section Text */


/* --- Highlights Section --- */
.highlights-four {
    background: linear-gradient(180deg, #1ca3e1 0%, var(--secondary-blue) 100%);
    position: relative;
    overflow: hidden;
    padding: 100px 0;
}

.highlights-card {
    position: relative;
    background-color: var(--primary-blue);
    border-radius: var(--border-radius);
    padding: 40px 30px;
    height: 100%;
    border: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 1;
    transition: all 500ms cubic-bezier(0.4, 0, 0.2, 1);
}

.highlights-card:hover {
    transform: translateY(-10px);
    background-color: #163a84;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

.highlights-card__icon-box {
    position: relative;
    font-size: 30px;
    color: #fff;
    margin-bottom: 20px;
    display: inline-flex;
    transition: all 500ms ease;
}

.highlights-card__icon-shape {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 70px; height: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    z-index: -1;
    transition: all 500ms ease;
}

.highlights-card:hover .highlights-card__icon-shape { transform: translate(-50%, -50%) scale(1.2); }
.highlights-card:hover .highlights-card__icon-box { transform: scale(1.1); color: var(--accent-blue); }

.highlights-card__title { font-size: 18px; font-weight: 600; margin: 0; }
.highlights-card__title a { color: #fff; text-decoration: none; }

.highlights-card__arrow {
    margin-top: 20px;
    color: #fff;
    opacity: 0;
    transform: translateX(-20px);
    transition: all 500ms ease;
}

.highlights-card:hover .highlights-card__arrow { opacity: 1; transform: translateX(0); }

.highlights-four__bg {
    position: absolute;
    inset: 0;
    opacity: 0.1;
    pointer-events: none;
    animation: floatImage 10s infinite linear;
}

/* --- News & Events --- */
.news-events-section { background-color: var(--light-bg); }

.news-card-big {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    height: 100%;
    transition: transform 0.3s ease;
}

.news-card-big:hover { transform: translateY(-5px); }
.news-card-big__image img { width: 100%; height: 350px; object-fit: cover; }
.news-card-big__content { padding: 30px; }
.news-card-big__title { font-size: 24px; font-weight: 800; margin-bottom: 15px; }
.news-card-big__title a { color: #1a1a1a; text-decoration: none; }
.news-card-big__text { color: #666; line-height: 1.7; font-size: 15px; }
.news-card-big__read-more { color: var(--primary-blue); font-weight: 700; text-decoration: none; }

.news-list-card {
    display: flex;
    background: #fff;
    margin-bottom: 20px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
    transition: var(--transition);
}

.news-list-card__image { width: 150px; flex-shrink: 0; }
.news-list-card__image img { width: 100%; height: 100%; object-fit: cover; }
.news-list-card__content { padding: 15px 20px; }
.news-list-card__tag {
    background: #eef2ff;
    color: var(--primary-blue);
    font-size: 11px;
    padding: 2px 10px;
    border-radius: 4px;
    font-weight: 600;
}

/* --- Vertical Tabs --- */
.vertical-tabs {
    position: absolute;
    left: 70px; top: 135px;
    z-index: 4;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.vertical-tabs .tab-btn {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    padding: 12px 8px;
    background-color: #f7f7f7;
    color: #333;
    cursor: pointer;
    font-weight: 700;
    border-radius: 10px;
    border: 1px solid #ddd;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
}

.vertical-tabs .tab-btn.active-btn {
    background-color: #0066cc;
    color: #fff;
    border-color: #0066cc;
}

/* --- Blog Scroll --- */
.blog-scroll-wrapper {
    height: 520px;
    overflow: hidden;
    position: relative;
}

.blog-scroll {
    display: flex;
    flex-direction: column;
    gap: 30px;
    animation: scrolldown 100s linear infinite;
    will-change: transform;
}

.blog-scroll-wrapper:hover .blog-scroll { animation-play-state: paused; }
.blog-card-two:not(.blog-card-two--grid) .blog-card-two__image__inner img {
    height: 280px;
    object-fit: cover;
  }

/* --- Responsive Queries --- */

/* Tablets */
@media (max-width: 991.98px) {
    .landmark-img { width: 60px; height: 60px; }
    
    .vertical-tabs {
        position: relative;
        inset: auto;
        flex-direction: row;
        justify-content: center;
        margin-bottom: 20px;
    }
    
    .vertical-tabs .tab-btn {
        writing-mode: horizontal-tb;
        transform: none;
    }
    
    .vertical-tabs .tab-btn .tab-btn__icon { transform: none; margin: 0 8px 0 0; }
}

/* Mobile */
@media (max-width: 575.98px) {
    .landmark-img { width: 50px; height: 50px; }
    .nav-landmark-container { margin-top: 10px; }
    
    .news-list-card { flex-direction: column; }
    .news-list-card__image { width: 100%; height: 200px; }
    
    .news-card-big__image img { height: 250px; }
    
    .highlights-four { padding: 60px 0; }
}




/*--------------------------------------------------------------
# Financial Highlights Right Side Wrapper
--------------------------------------------------------------*/
.financial-side {
  position: relative;
  min-height: 520px;
}

/*--------------------------------------------------------------
# Quote
--------------------------------------------------------------*/
.financial-quote {
  position: relative;
  z-index: 5;

  font-size: 42px;
  font-style: italic;
  font-weight: 900;
  line-height: 1.2;

  max-width: 420px;

  margin-left: auto;
  text-align: left;

  padding-top: 26px;

  /* Gradient Text */
  background: linear-gradient(
    90deg,
    #1c6aa9 0%,
    #59aad9 25%,
    #c1d3e9 55%,
    #f5f5f5 80%,
    #ffffff 100%
  );

  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;

  display: inline-block;
}
/*--------------------------------------------------------------
# Bottom Image
--------------------------------------------------------------*/
.skill-selling__image {
  position: absolute;

  right: 40px;
  bottom: -72px;

  z-index: 2;

  pointer-events: none;
}

/* Main Image */
.skill-selling__image__one {
  width: 100%;
  max-width: 420px;
  height: auto;

  border-radius: 20px;

  position: relative;
  z-index: 2;

  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
}

/* Shape */
.skill-selling__image__shape {
  position: absolute;

  left: -60px;
  top: 50%;

  transform: translateY(-50%);

  max-width: 120px;

  z-index: 1;

  animation: float-bob-y 3s linear infinite;
}

/*--------------------------------------------------------------
# Laptop
--------------------------------------------------------------*/
@media (max-width: 1199px) {
  .financial-side {
    min-height: 480px;
  }

  .skill-selling__image {
    right: 0;
    bottom: -40px;
  }

  .skill-selling__image__one {
    max-width: 570px;
  }

  .financial-quote {
    font-size: 30px;
  }
}

/*--------------------------------------------------------------
# Tablet
--------------------------------------------------------------*/
@media (max-width: 991px) {
  .financial-side {
    min-height: auto;
    text-align: center;
    margin-top: 40px;
  }

  .financial-quote {
    max-width: 100%;
    text-align: center;
    font-size: 30px;
    margin-bottom: 30px;
  }

  .skill-selling__image {
    position: relative;

    right: auto;
    bottom: auto;

    display: flex;
    justify-content: center;

    margin-top: 20px;
  }

  .skill-selling__image__one {
    max-width: 340px;
  }

  .skill-selling__image__shape {
    display: none;
  }
}

/*--------------------------------------------------------------
# Mobile
--------------------------------------------------------------*/
@media (max-width: 767px) {
  .financial-quote {
    font-size: 18px;
    line-height: 1.6;
  }

  .skill-selling__image__one {
    max-width: 210px;
    border-radius: 16px;
  }
}

/*--------------------------------------------------------------
# Small Mobile
--------------------------------------------------------------*/
@media (max-width: 480px) {
  .financial-quote {
    font-size: 16px;
  }

  .skill-selling__image__one {
    max-width: 180px;
  }
}
