

/* Fonts  */

/* @font-face declarations for custom fonts */
@font-face {
    font-family: 'orlean';
    src: url('../fonts/ORLEAN.TTF');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'poppins-bold';
    src: url('../fonts/POPPINS-BOLD.TTF');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'poppins-light';
    src: url('../fonts/POPPINS-LIGHT.TTF');
    font-weight: light;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'poppins-medium';
    src: url('../fonts/POPPINS-MEDIUM.TTF');
    font-weight: medium;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'vogun-medium';
    src: url('../fonts/VOGUN-MEDIUM.TTF');
    font-weight: light;
    font-style: normal;
    font-display: swap;
}
h1, h2, h3, h4 { font-family: 'poppins-bold'; }
h5, h6, span, li, form { font-family: 'poppins-light'; }
p {font-family: 'poppins-light';}
strong { font-family: 'poppins-bold'; }
em { font-family: 'orlean'; }

 .swiper {
    /*width: 100%;*/
    /*height: 95vh;*/
    min-height: 300px !important;
}
   /* ── SECTION WRAPPER ── */
    .work-culture {
      padding: 70px 40px 80px;
      max-width: 1200px;
      margin: 0 auto;
    }
 
    /* ── TOP HEADING BLOCK ── */
    .section-top {
      text-align: center;
      margin-bottom: 60px;
    }
 
    .section-title {
      font-family: orlean;
      font-size: clamp(25px, 4vw, 52px);
      font-weight: 400;
      color: #8B5E3C;
      letter-spacing: 0.9px;
      margin-bottom: 20px;
      line-height: 1.2;
    }
 
    .section-desc {
  font-size: clamp(16px, 1.5vw, 16px);
    color: #000000;
    line-height: 1.8;
    max-width: 860px;
    margin: 0 auto;
    }
 
    /* ── TWO COLUMN LAYOUT ── */
    .culture-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 60px;
      align-items: center;
    }
 
    /* LEFT: Text content */
    .culture-text {}
 
    .culture-heading {
      font-family: 'orlean';
      font-size: clamp(24px, 3vw, 42px);
      font-weight: 400;
      color: #8B5E3C;
      letter-spacing: 0.9px;
      line-height: 1.25;
      margin-bottom: 24px;
    }
 
    .culture-body {
      font-size: clamp(14px, 1.4vw, 16px);
      color: #444;
      line-height: 1.85;
      margin-bottom: 36px;
    }
 
    /* Apply Now button */
     .apply-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      min-width: 150px;
      height: 44px;
      padding: 0 22px;
      border: 1px solid #4d77b8;
      border-radius: 6px;
      background: transparent;
      color: #b07a4e;
      font-size: 14px;
      font-weight: 400;
      text-decoration: underline;
      text-underline-offset: 4px;
      cursor: pointer;
      transition: all 0.25s ease;
    }

    .apply-btn .circle-icon {
      width: 14px;
      height: 14px;
      border: 1px solid #4d77b8;
      border-radius: 50%;
      position: relative;
      flex-shrink: 0;
    }

    .apply-btn .circle-icon::after {
      content: "";
      width: 4px;
      height: 4px;
      background: #4d77b8;
      border-radius: 50%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
    }

    .apply-btn:hover {
      background: #ffffff;
      border-color: #4d77b8;
      box-shadow: 0 0 0 0 rgba(0,0,0,0);
    }
 
    /* RIGHT: Image */
    .culture-image {
      width: 100%;
      aspect-ratio: 4 / 3.2;
      border-radius: 16px;
      overflow: hidden;
    }
 
    .culture-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      border-radius: 16px;
    }
 
    /* Placeholder if no image */
    .culture-image-placeholder {
      width: auto;
    height: 500px;
      aspect-ratio: 4 / 3.2;
      border-radius: 16px;
      background: linear-gradient(135deg, #f0c070 0%, #d4864a 50%, #a0521e 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(255,255,255,0.7);
      font-size: 14px;
      letter-spacing: 0.9px;
    }
 
    /* ── RESPONSIVE ── */
    @media (max-width: 900px) {
      .culture-grid {
        grid-template-columns: 1fr;
        gap: 40px;
      }
      /* Image goes below text on mobile */
      .culture-image,
      .culture-image-placeholder {
        order: 2;
        max-width: 520px;
        margin: 0 auto;
        width: 100%;
      }
      .culture-text {
        order: 1;
        text-align: center;
      }
      .btn-apply {
        margin: 0 auto;
      }
    }
 
    @media (max-width: 600px) {
      .work-culture {
        padding: 48px 20px 60px;
      }
      .section-top {
        margin-bottom: 40px;
      }
      .culture-grid {
        gap: 32px;
      }
    }
        .banner-section {
      position: relative;
      width: 100%;
      height: 414px;
      background: url('../images/Careers_Banner_DTP.webp') no-repeat center center/cover;
      overflow: hidden;
      display: flex;
      align-items: center;
      padding-left: 160px;
    }
@media (max-width: 767px) {
  .banner-section { min-height: 280px; background: url('../images/Careers_Banner_MBL.webp') no-repeat center center/cover !important;}
  .banner-content { padding-left: 20px; padding-right: 20px; }
  .banner-content h1 { font-size: 38px; line-height: 1.2; word-break: break-word; }
}
    .banner-content {
      position: relative;
      z-index: 2;
    }

    .banner-content h1 {
      font-size: 72px;
      font-weight: 300;
      color: #f6eba3;
      line-height: 1.1;
      font-family: "orlean";
    /*  font-family: 'vogun-medium';*/
      
     
    }

    .right-corner-image {
      position: absolute;
      right: 0;
      bottom: 0;
      height: 100%;
      z-index: 1;
    }

    .right-corner-image img {
      height: 100%;
      width: auto;
      display: block;
    }

   @media (max-width: 991px) {
  .banner-section {
    height: 320px;
    padding-left: 80px;
    padding-right: 30px;
  }

  .banner-content h1 {
    font-size: 50px;
  }

  .right-corner-image img {
    width: 280px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .banner-section {
    height: 260px;
    padding: 0 20px;
    align-items: center;
  }

  .banner-content {
    max-width: 70%;
  }

  .banner-content h1 {
    font-size: 34px;
    line-height: 1.2;
  }

  .right-corner-image {
    right: 0;
    bottom: 0;
  }

  .right-corner-image img {
            width: 100%;
        height: 85%;
  }
}

/* Small Mobile */
@media (max-width: 480px) {
  .banner-section {
    height: 220px;
    padding: 0 15px;
  }

  .banner-content {
    max-width: 68%;
            margin-top: 58%;
  }

  .banner-content h1 {
    font-size: 28px;
  }

  .right-corner-image img {
            width: 100%;
        height: 84%;
        margin-left: 10%;
  }
}

    .career-section {
      width: 100%;
      padding: 55px 20px 70px;
      
    }
    
@media (max-width: 1024px) {

    .journey-bottom {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 40px 15px;
    }

    .journeySwiper {
        width: 100% !important;
    }

    .journeySwiper .swiper-slide {
        width: 100% !important;
        padding-right: 0 !important;
    }

    /*.journeySwiper .swiper-slide::after {*/
    /*    display: none;*/
    /*}*/

    .floating-image-container {
        position: relative;
        top: auto;
        right: auto;
        width: 80%;
        height: auto;
        margin-top: 30px;
        border-radius: 30px;
    }

    .floating-image-container img {
        height: auto;
    }
}
@media (max-width: 768px) {

    .journey-bottom {
        padding: 30px 10px;
    }

    .journeySwiper {
        width: 100% !important;
    }

    .job-title {
        font-size: 22px;
        text-align: center;
    }

    .job-qualification {
        font-size: 16px;
        text-align: center;
    }

    .job-desc {
        font-size: 13px;
        text-align: center;
    }

    .apply-link-btn {
        justify-content: center;
        display: flex;
        margin: 0 auto;
    }

    .job-card {
        text-align: center;
    }

    .floating-image-container {
        width: 100%;
        border-radius: 25px;
    }
}

    .career-container {
      max-width: 1600px;
      margin: 0 auto;
    }

    .career-heading {
      text-align: center;
      font-size: 56px;
      font-weight: 300;
      line-height: 1.2;
      margin-bottom: 42px;
      letter-spacing: 0.9px;
      font-family: 'orlean';
    }

    .career-heading .brown {
      color: #9f7356;
    }

    .career-heading .blue {
      color: #5b83bc;
    }

    .career-box {
      background: #a67b5b;
      border-radius: 26px;
      padding: 40px 30px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0;
      align-items: stretch;
    }

    .career-item {
      padding: 0 34px;
      color: #fff;
      position: relative;
    }

    .career-item:not(:last-child)::after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      width: 1px;
      height: 100%;
      background: rgba(255, 255, 255, 0.65);
    }

    .career-item h3 {
     font-size: 22px;
    line-height: 1.3;
    font-weight: 100;
    margin-bottom: 18px;
    color: #f3cf73;
    font-family: 'poppins-light';
    }

    .career-item p {
     font-size: 16px;
    line-height: 1.55;
    font-weight: 100;
    color: #fff;
    font-family: 'poppins-light';
    }

    /* Large Tablet */
    @media (max-width: 1199px) {
      .career-heading {
        font-size: 44px;
      }

      .career-box {
        padding: 35px 20px;
      }

      .career-item {
        padding: 0 24px;
      }

      .career-item h3 {
        font-size: 20px;
      }

      .career-item p {
        font-size: 16px;
      }
    }

    /* Tablet */
    @media (max-width: 991px) {
      .career-section {
        padding: 45px 18px 55px;
      }

      .career-heading {
        font-size: 36px;
        margin-bottom: 30px;
      }

      .career-box {
        grid-template-columns: 1fr;
        border-radius: 22px;
        padding: 18px 0;
      }

      .career-item {
        padding: 24px 24px;
      }

      .career-item:not(:last-child)::after {
        top: auto;
        bottom: 0;
        right: 24px;
        left: 24px;
        width: auto;
        height: 1px;
      }
    }

    /* Mobile */
    @media (max-width: 767px) {
      .career-section {
        padding: 35px 14px 45px;
      }

      .career-heading {
        font-size: 28px;
        line-height: 1.35;
        margin-bottom: 24px;
      }

      .career-box {
        border-radius: 18px;
      }

      .career-item {
        padding: 22px 18px;
      }

      .career-item h3 {
        font-size: 18px;
        margin-bottom: 12px;
      }

      .career-item p {
        font-size: 15px;
        line-height: 1.6;
      }
    }

    /* Small Mobile */
    @media (max-width: 480px) {
      .career-heading {
        font-size: 20px;
      }

      .career-item h3 {
        font-size: 17px;
      }

      .career-item p {
        font-size: 14px;
      }
    }

    .career-form-section {
      width: 100%;
      padding: 70px 20px 80px;
    }

    .career-form-container {
      max-width: 1480px;
      margin: 0 auto;
    }

    .career-title {
      font-size: 56px;
      font-weight: 300;
      color: #a47758;
      margin-bottom: 28px;
      line-height: 1.1;
    }

    .career-desc {
        max-width: 1120px;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 40px;
    color: #6a6464;
}
    

    .mandatory-note {
      font-size: 18px;
      color: #a47758;
      margin-bottom: 45px;
      font-weight: 500;
    }

    .career-form {
      width: 100%;
    }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 34px 80px;
      margin-bottom: 40px;
    }

    .form-group {
      display: flex;
      flex-direction: column;
    }

    .form-group label {
    font-size: 16px;
    font-weight: 500;
    /* margin-bottom: 8px; */
    /*text-transform: uppercase;*/
    color: #111;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
      width: 100%;
      border: none;
      border-bottom: 1px solid #b99277;
      background: transparent;
      /* padding: 8px 0 10px; */
      font-size: 18px;
      color: #111;
      outline: none;
      border-radius: 0;
    }

    .form-group input:focus,
    .form-group select:focus,
    .form-group textarea:focus {
      border-bottom-color: #5b84c4;
    }

    .full-width {
      grid-column: 1 / -1;
    }

    .submit-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      min-width: 220px;
      height: 52px;
      padding: 0 28px;
      border: 1px solid #5b84c4;
      border-radius: 8px;
      background: transparent;
      color: #5b84c4;
      font-size: 20px;
      font-weight: 600;
      cursor: pointer;
      transition: 0.25s ease;
    }

    .submit-btn span.arrow {
      color: #a47758;
      font-size: 28px;
      line-height: 1;
      transform: translateY(-1px);
    }

    .submit-btn:hover {
 
    background: #5884B8;
    color: #fff;
    }

    .success,
    .error {
      margin-top: 20px;
      font-size: 16px;
      font-weight: 500;
    }

    .success {
      color: green;
    }

    .error {
      color: red;
    }

    @media (max-width: 1024px) {
      .career-title {
        font-size: 48px;
      }

      .career-desc {
        font-size: 18px;
      }

      .form-grid {
        gap: 28px 40px;
      }
    }

    @media (max-width: 768px) {
      .career-form-section {
        padding: 45px 18px 55px;
      }

      .career-title {
        font-size: 36px;
      }

      .career-desc {
        font-size: 16px;
        margin-bottom: 28px;
      }

      .mandatory-note {
        margin-bottom: 30px;
        font-size: 16px;
      }

      .form-grid {
        grid-template-columns: 1fr;
        gap: 24px;
      }

      .form-group label {
        font-size: 16px;
      }

      .form-group input,
      .form-group select,
      .form-group textarea {
        font-size: 16px;
      }

      .submit-btn {
        min-width: 180px;
        height: 48px;
        font-size: 18px;
      }
    }

    @media (max-width: 480px) {
      .career-title {
        font-size: 30px;
      }
    }

    .content-section {
      /*max-width: 1500px;*/
      margin: 0 auto;
      padding: 40px 20px;
      line-height: 1.6;
      font-size: 18px;
    }

    .content-section p {
        color:#6a6464;
      margin: 0 0 10px;
    }

    @media (max-width: 768px) {
      .content-section {
        padding: 25px 20px;
        font-size: 16px;
      }
    }
    /* --- OVERALL SECTION LAYOUT --- */
.careers-journey-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding-bottom: 60px;
}

.journey-wrapper {
    max-width: 1450px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    position: relative;
}

/* White Top Section */
.journey-top {
    padding: 0px 0 25px;
    background: #fff;
}

.journey-text-content {
    width: 100%;
}

.journey-main-title {
    font-family: orlean;
    font-size: 52PX;
    font-weight: 300;
    color: #9b6948;
    margin-bottom: 15px;
    letter-spacing: 0.9px;
}

.journey-description {
       font-family: 'Poppins-light';
    font-size: 16px;
    line-height: 1.6;
    color: #000000;
    max-width: 650px;
    text-align: justify;
}

/* Blue Bottom Section & Carousel Area */
.journey-bottom {
    background: #6189bc; 
    padding: 45px 0 45px;
    position: relative;
    overflow: visible; /* Required for the image overlap */
}

.journeySwiper {
    width: 60%; /* Restriction for the overlap image */
    margin-left: 0 !important;
    overflow: hidden;
}

/* --- JOB CARDS & SLIDES --- */
.journeySwiper .swiper-slide {
    display: flex;
    justify-content: flex-start;
    position: relative;
    padding-right: 40px; /* Space for the vertical line */
}

/* Vertical divider between the two visible cards */
.journeySwiper .swiper-slide::after {
    content: '';
    position: absolute;
    right: 20px;
    top: 10%;
    height: 80%;
    width: 1px;
    background: rgba(255, 255, 255, 0.3);
}

.job-card {
    flex: 1;
    color: #fff;
    width: 100%;
}

.job-title {
       font-family: 'orlean';
    font-size: 38px;
    font-weight: 100;
    margin-bottom: 15px;
    letter-spacing: 0.9px;

}

.job-qualification {
    font-family: 'poppins-light';
    color: #f5bb44;
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 15px;
}

.job-desc {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 25px;
    opacity: 0.9;
}

/* Button with Circle Dot */
.apply-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 8px 20px;
    border: 1px solid #fff;
    border-radius: 5px;
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    transition: 0.3s;
}

.apply-link-btn:hover {
    background: #fff;
    color: #6189bc;
}

.btn-circle {
    width: 14px;
    height: 14px;
    border: 1px solid currentColor;
    border-radius: 50%;
    position: relative;
}

.btn-circle::after {
    content: '';
    position: absolute;
    width: 4px;
    height: 4px;
    background: currentColor;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* --- OVERLAPPING IMAGE --- */
.floating-image-container {
    position: absolute;
    right: 13%;
    top: -210px; 
    width: 420px;
    height: 600px;
    z-index: 10;
    border-radius: 60px 60px 0 0;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
@media (max-width: 1440px) {
    .floating-image-container {
    right:7% !important;
    height:638px !important;
    }
}


.floating-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}



.journey-pagination-container {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    position: relative;
    z-index: 100;
    margin-left: 172px !important;
}
.journey-pagination-container {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    position: relative;
    z-index: 100;
    margin-left: 172px !important;
}
.journey-pagination-container {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    position: relative;
    z-index: 100;
    margin-left: 14% !important;
}

/* Media Query for Tablet (max-width: 768px) */
@media (max-width: 768px) {
    .journey-pagination-container {
        margin-left: 50px !important; /* Adjust margin for smaller screens */
    }
    .journey-main-title {
    font-family: orlean;
    font-size: 1.6rem;
    font-weight: 300;
    color: #9b6948;
    margin-bottom: 15px;
}
}

/* Media Query for Mobile (max-width: 480px) */
@media (max-width: 480px) {
    .journey-pagination-container {
        margin-left: 78px !important; /* Further adjust margin for mobile */
        flex-direction: column; /* Stack elements vertically for smaller screens */
    }
}

/* Pagination bullet style */
.journey-pagination-bars .swiper-pagination-bullet {
background: #A7C1E4 !important;
    width: 77px;
    height: 3px;
    border-radius: 0%;
    margin: 0 5px;
    opacity: 0.6;
    transition: all 0.3s ease;
}

/* Active pagination bullet */
.journey-pagination-bars .swiper-pagination-bullet-active {
    background: #6189bc !important; /* Blue */
    opacity: 1 !important; /* Full opacity for the active bullet */
}

/* Add hover effect for smooth transition */
.journey-pagination-bars .swiper-pagination-bullet:hover {
    opacity: 1 !important;
}

/* Active pagination bullet */
/*.journey-pagination-bars .swiper-pagination-bullet-active {*/
/*    background: #6189bc !important;*/
/*    opacity: 1 !important;*/
/*}*/
/*.journey-pagination-bars .swiper-pagination-bullet {*/
/*    opacity: 1 !important;*/
/*}*/

/* --- HORIZONTAL CAROUSEL CSS --- */

/* 1. The Outer Container */
.journeySwiper {
    width: 60%; /* Restriction so it doesn't hit the overlap image */
        height: 20%;

    margin-left: 0 !important;
    overflow: hidden; /* Important: Hides the cards that are "off-screen" */
    position: relative;
}

/* 2. The Internal Wrapper (This is what actually "scrolls") */
.journeySwiper .swiper-wrapper {
    display: flex; /* Keep all cards in one horizontal line */
    flex-wrap: nowrap; /* Prevent cards from dropping to the next line */
    transition-timing-function: ease-out;
}

/* 3. The Individual Card Slide */
.journeySwiper .swiper-slide {
    flex-shrink: 0; /* Prevents cards from squishing/shrinking */
    width: 50%;    /* Each card takes half the container (to show 2 at a time) */
    height: auto;
    display: flex;
    flex-direction: column;
    position: relative;
    padding-right: 40px; /* Space for the vertical divider */
    box-sizing: border-box;
}
.swiper-slide {
     opacity: 1 !Important; 
    transition: opacity 1s ease;
}

/* 4. The Vertical Line between visible cards */
.journeySwiper .swiper-slide::after {
    content: '';
    position: absolute;
    right: 20px;
    top: 10%;
    height: 80%;
    width: 1px;
    background: rgba(255, 255, 255, 0.3);
}

/* --- RESPONSIVE SCROLL SETTINGS --- */

@media (max-width: 1024px) {
    .journeySwiper {
        width: 100%; /* Take full width when overlap image is hidden */
    }
}

@media (max-width: 768px) {
    .journeySwiper .swiper-slide {
        width: 100%; /* Show only 1 card at a time on mobile */
        padding-right: 0;
    }
 
}

@media only screen and (min-width: 1401px) and (max-width: 1600px)
{
.journey-pagination-container {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    position: relative;
    z-index: 100;
    margin-left: 20% !Important;
}
}
@media (max-width: 991px) {
    .swiper {
        display: block !important;
    }
}
@media (max-width: 1024px) {
    .floating-image-container {
        display: none;
    }
}