:root {
      /* ---------- Brand / accent ---------- */
      --blue:         #2D6BFF;
      --blue-dark:    #1E54E6;
      --primary:      var(--blue);   /* alias (used on the Projects page) */

      /* ---------- Text ---------- */
      --ink:          #17181D;       /* headings / primary text */
      --muted:        #667085;       /* secondary text */
      --muted-2:      #9AA0A8;       /* tertiary / faint text */

      /* ---------- Surfaces ---------- */
      --white:        #FFFFFF;
      --cream:        #F4F1EA;       /* card / section background */
      --dark-bg:      #1C1C1E;       /* dark sections */
      --light:        #F2F2F2;       /* light gray surface */
      --dark:         #222222;       /* dark surface */

      /* ---------- Lines / borders ---------- */
      --line:         #E8EAEE;       /* dividers / hairlines */
      --field-border: #E4E6EB;       /* form input border */

      /* ---------- Buttons (neutral) ---------- */
      --gray-btn:     #D9DCE1;
      --gray-btn-h:   #CDD1D7;

      /* ---------- Typography ---------- */
      --font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      font-family: var(--font);
      color: var(--ink);
      margin: 0;
      background: #fff;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
    }

    .container-fluid {
      padding: 0px 50px;
    }

    img {
      max-width: 100%;
      display: block;
    }

    a {
      text-decoration: none;
    }

    section {
      scroll-margin-top: 90px;
    }

    .section-title {
      font-weight: 600;
      letter-spacing: -.02em;
      font-size: clamp(28px, 4vw, 44px);
      line-height: 1.15;
      color: var(--ink);
    }

    .muted {
      color: var(--muted);
    }

    .text-brand {
      color: var(--blue);
    }

    .py-section {
      padding: 60px 0 40px;
    }

    .btn-brand {
      background: var(--blue);
      color: #fff;
      font-weight: 600;
      padding: .72rem 1.45rem;
      border: 0;
      border-radius: 50px;
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      transition: .2s !important;
      font-size: 14px;
      width: 60px;
      height: 60px;
    }

    .btn-brand:hover {
      background: var(--blue-dark);
      color: #fff;
      transform: rotate(45deg) !important;
    }

    .btn-brand .bi {
      font-size: .9rem;
    }

    .badge-pill {
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      background: #fff;
      border: 1px solid var(--blue);
      color: var(--blue);
      font-size: .78rem;
      font-weight: 500;
      padding: .35rem .85rem;
      border-radius: 50px;
    }

    .badge-pill .dot {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--blue);
    }

    .badge-pill.light {
      background: rgba(255, 255, 255, .08);
      border-color: rgba(255, 255, 255, .22);
      color: #fff;
    }

    /* ---------- Logo ---------- */
    .logo {
      display: inline-flex;
      align-items: center;
      gap: 9px;
    }

    .logo svg {
      width: auto;
      height: 40px;
    }

    .logo .logo-txt {
      display: flex;
      flex-direction: column;
      line-height: 1;
    }

    .logo .logo-name {
      font-weight: 700;
      font-size: 1.15rem;
      letter-spacing: .02em;
      color: var(--ink);
    }

    .logo .logo-sub {
      font-size: .58rem;
      letter-spacing: .32em;
      color: var(--ink);
      font-weight: 500;
      margin-top: 2px;
    }

    /* ---------- Nav ---------- */
    .site-nav {
      position: absolute;
      top: 0px;
      left: 0;
      right: 0;
      z-index: 40;
      background: #fff;
    }

    .nav-pill {
      background: #fff;
      padding: .55rem 1.4rem;
    }

    .nav-pill .btn-brand {
      width: auto;
      height: auto;
    }

    .nav-pill .btn-brand:hover {
      transform: rotate(0deg) !important;
    }

    .nav-pill .nav-link {
      color: var(--ink);
      font-weight: 500;
      font-size: .85rem;
      padding: .4rem 1.2rem !important;
      transition: color .15s;
    }

    .nav-pill .nav-link:hover {
      color: var(--blue);
    }

    .nav-call {
      font-size: .84rem;
      color: var(--ink);
      font-weight: 500;
      white-space: nowrap;
    }

    .nav-call span {
      color: #939393;
    }

    .navbar-toggler {
      border: 0;
      padding: .25rem .4rem;
    }

    .navbar-toggler:focus {
      box-shadow: none;
    }

    /* ---------- Hero ---------- */
    .hero {
      width: 100%;
      position: relative;
      min-height: 660px;
      display: inline-block;
      align-items: center;
      overflow: hidden;
      background-image: url(../images/slider_bg.jpg);
      background-size: cover;
      background-position: center;
    }

    .watermark_home {
      width: 100%;
      text-align: center;
      font-weight: 800;
      font-size: clamp(72px, 17vw, 250px);
      letter-spacing: .06em;
      color: rgba(255, 255, 255, .1);
      line-height: 1;
      user-select: none;
      position: relative;
      z-index: 3;
      margin-top: 100px;
    }

    .hero::after {
      position: absolute;
      left: 0px;
      top: 0px;
      background: #00000061;
      content: '';
      z-index: 2;
      height: 100%;
      width: 100%;
    }

    .hero-inner {
      position: absolute;
      z-index: 2;
      padding: 150px 0px 30px;
      z-index: 3;
      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
      left: 0px;
      bottom: 0px;
      width: 100%;
    }

    .hero h3 {
      font-weight: 700;
      font-size: clamp(21px, 4vw, 36px);
      letter-spacing: 0px;
      color: #fff;
      text-align: left;
    }

    .hero p {
      max-width: 560px;
      float: left;
      margin: 1rem auto 1.9rem;
      color: rgba(255, 255, 255, .9);
      text-align: left;
    }

    /* ---------- Stats ---------- */
    .stats-wrap {
      margin-top: -55px;
      position: relative;
      z-index: 20;
    }


    .stats-card_full {
      background: #fff;
      border-radius: 22px 22px 0px 0px;
      box-shadow: none;
      padding: 30px 18px;
      border-bottom: 1px solid #EFEFEF;
    }

    .stats-card {
      display: flex;
      align-items: center;
    }

    .stat {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      flex: 1;
      padding: 10px 0px;
    }

    .stat .num {
      font-size: clamp(26px, 3vw, 40px);
      font-weight: 700;
      color: var(--ink);
      line-height: 1;
    }

    .stat .lbl {
      font-size: .84rem;
      color: var(--muted);
      max-width: 92px;
      line-height: 1.22;
    }

    .stats-card .divider {
      width: 1px;
      align-self: stretch;
      background: var(--line);
    }

    /* ---------- About ---------- */
    .link-strong {
      color: var(--ink);
      font-weight: 600;
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .link-strong:hover {
      color: var(--blue);
    }

    .avatars {
      display: flex;
      align-items: center;
    }

    .avatars img {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      border: 2px solid #fff;
      margin-left: -12px;
      object-fit: cover;
    }

    .avatars img:first-child {
      margin-left: 0;
    }

    .avatars .more {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: var(--blue);
      color: #fff;
      display: grid;
      place-items: center;
      margin-left: -12px;
      border: 2px solid #fff;
    }

    .avatars_txt {
      color: #222221;
      font-size: 14px;
    }

    #about .section-title {
      width: 70%;
    }

    .about-media {
      position: relative;
    }

    .completed-card {
      background: #fff;
      color: var(--ink);
      border-radius: 18px 0px 18px 0px;
      padding: 18px 20px;
      box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
      border: 0px;
      position: absolute;
      left: 0px;
      top: 0px;
      z-index: 2;
    }

    .completed-card .big {
      font-size: 2.5rem;
      font-weight: 700;
      line-height: 1;
    }

    .completed-card .small-t {
      font-size: .82rem;
      color: var(--muted);
      margin-top: 2px;
    }

    .about-thumb {
      flex: 1;
      border-radius: 18px;
      overflow: hidden;
      min-height: 130px;
    }

    .about-thumb img {
      width: 100%;
      height: 100%;
      min-height: 130px;
      object-fit: cover;
      transition: transform .45s ease;
    }

    .about-thumb:hover img {
      transform: scale(1.05);
    }

    .about-photo {
      position: relative;
      height: 100%;
      text-align: right;
    }

    .about-photo img {
      width: 100%;
      height: 100%;
      min-height: 330px;
      object-fit: cover;
      border-radius: 22px;
      overflow: hidden;
      display: inline-block;

    }

    .play {
      position: absolute;
      right: 22px;
      bottom: 22px;
      width: 64px;
      height: 64px;
      border-radius: 50%;
      background: #fff;
      color: var(--blue);
      border: 0;
      display: grid;
      place-items: center;
      font-size: 1.4rem;
      box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
      cursor: pointer;
      transition: transform .2s;
    }

    .play:hover {
      transform: scale(1.08);
    }

    hr.divider {
      width: 100%;
      height: 1px;
      display: inline-block;
      margin: 30px 0px 0px;
      background: #D9D9D9;
    }

    /* ---------- Services ---------- */
    .services {
      background: var(--cream);
    }

    .services .section-title {
      width: 100%;
    }

    .service-card {
      background: #fff;
      border-radius: 18px;
      padding: 20px 0px 0px;
      height: 100%;
      box-shadow: 0 8px 24px rgba(0, 0, 0, .04);
      transition: transform .25s ease, box-shadow .25s ease;
      overflow: hidden;
    }

    .service-card:hover {
      box-shadow: 0 18px 42px rgba(0, 0, 0, .10);
    }

    .sc-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 12px;
      padding: 0px 20px 20px;
    }

    .sc-head h3 {
      font-size: 1.15rem;
      font-weight: 600;
      margin: 0;
    }

    .sc-arrow {
      position: absolute;
      width: 50px;
      height: 50px;
      border-radius: 50px;
      background: #fff;
      box-shadow: 0 6px 16px rgba(0, 0, 0, .10);
      display: grid;
      place-items: center;
      color: var(--blue);
      font-size: 1.05rem;
      transition: .2s;
      right: 28px;
      top: 15px;
    }

    .sc-arrow svg {
      width: 15px;
      height: auto;
    }

    .service-card:hover .sc-arrow {
      background: var(--blue);
      color: #fff;
    }

    .service-card:hover .sc-arrow svg path {
      fill: #fff;
    }

    .sc-desc {
      color: var(--muted);
      font-size: .92rem;
      margin: .6rem 0 0;
      background: url(../images/bg.png) left 30px repeat-x;
      background-size: 100px;
      position: relative;
      z-index: 2;
      padding: 0px 20px;
      height: 90px;
    }

    .sc-img {
      margin-top: -58px;
      overflow: hidden;
      position: relative;
      z-index: 1;
    }

    .sc-img img {
      width: 100%;
      height: 185px;
      object-fit: cover;
      transition: transform .45s ease;
    }

    .service-card:hover .sc-img img {
      transform: scale(1.06);
    }

    .services .btn-brand {
      background: var(--blue);
      color: #fff;
      font-weight: 600;
      padding: .72rem 1.45rem;
      border: 0;
      border-radius: 50px;
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      transition: .2s !important;
      font-size: 14px;
      width: auto;
      height: 50px;
    }

    .services .btn-brand:hover {
      transform: rotate(0deg) !important;
    }

    .services .btn-brand svg {
      width: 15px;
    }

    .services .btn-brand:hover svg {
      transition: .2s !important;
      transform: rotate(45deg) !important;
    }

    /* ---------- Recent Projects ---------- */
    .projects {
      background: var(--dark-bg);
      color: #fff;
      overflow: hidden;
    }

    .proj-left {
      padding: 84px 44px 84px 0;
    }

    .proj-list {
      list-style: none;
      padding: 0;
      margin: 1.4rem 0 0;
    }

    .proj-item {
      display: flex;
      align-items: center;
      gap: 18px;
      padding: 20px 0;
      border-top: 1px solid rgba(255, 255, 255, .12);
      cursor: pointer;
      transition: padding .2s ease;
    }

    .proj-item:last-child {
      border-bottom: 1px solid rgba(255, 255, 255, .12);
    }

    .proj-item .pnum {
      font-weight: 700;
      width: 46px;
      flex: 0 0 auto;
      color: #222221;
      -webkit-text-stroke: 1px #3C3C3C;
      font-size: 34px;
    }

    .proj-item .pt {
      font-weight: 600;
    }

    .proj-item .ps {
      font-size: .83rem;
      color: rgba(255, 255, 255, .55);
    }

    .proj-item .parrow {
      margin-left: auto;
      flex: 0 0 auto;
      width: 42px;
      height: 42px;
      border-radius: 50%;
      border: 1px solid rgba(255, 255, 255, .22);
      background: rgba(255, 255, 255, .06);
      display: grid;
      place-items: center;
      color: #fff;
      transition: .2s;
    }

    .proj-item .parrow svg {
      width: 15px;
      height: auto;
    }

    .proj-item.active .parrow,
    .proj-item:hover .parrow {
      background: var(--blue);
      border-color: var(--blue);
      transform: rotate(45deg);
    }

    .proj-item.active .parrow svg path,
    .proj-item:hover .parrow svg path {
      fill: #fff;
    }

    .proj-item:hover {
      padding-left: 8px;
    }

    .proj-photo {
      height: 100%;
      min-height: 520px;
    }

    .proj-photo img {
      width: 100%;
      height: 100%;
      min-height: 520px;
      object-fit: cover;
    }

    /* ---------- Team ---------- */
    .team-card {
      position: relative;
      border-radius: 18px;
      overflow: inherit;
      margin: 0;
    }

    .team-card img {
      width: 100%;
      height: 430px;
      object-fit: cover;
      transition: transform .45s ease;
      border-radius: 18px;
    }

    .team-card:hover img {
      transform: scale(1.05);
    }

    .team-arrow {
      position: absolute;
      top: 14px;
      right: 14px;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      background: #fff;
      box-shadow: 0 6px 16px rgba(0, 0, 0, .12);
      display: grid;
      place-items: center;
      color: var(--ink);
      transition: .2s;
    }

    .team-arrow svg {
      width: 20px;
      height: auto;
    }

    .team-arrow.active {
      background: var(--blue);
      color: #fff;
      border-radius: 50%;
      box-shadow: 0 8px 20px rgba(45, 107, 255, .35);
    }

    .team-arrow.active svg path {
      fill: #fff;
    }

    .team-card:hover .team-arrow {
      background: var(--blue);
      color: #fff;
    }

    .team-card:hover .team-arrow svg path {
      fill: #fff;
    }

    .team-plate {
      position: absolute;
      left: 50%;
      bottom: -30px;
      transform: translateX(-50%);
      background: rgba(18, 20, 26, .82);
      backdrop-filter: blur(2px);
      color: #fff;
      padding: 9px 20px;
      border-radius: 12px;
      text-align: center;
      min-width: 58%;
    }

    .team-plate .role {
      font-size: .7rem;
      color: rgba(255, 255, 255, .65);
    }

    .team-plate .name {
      font-weight: 600;
      font-size: .98rem;
    }

    .team-elevated {
      margin-top: 34px;
    }

    /* ---------- Testimonial ---------- */
    .testimonial {
      position: relative;
      background: var(--cream);
      border-radius: 46px;
      margin-top: 80px;
      padding: 118px 0 90px;
      z-index: 2;
    }

    .t-notch {
      position: absolute;
      top: -1.6px;
      left: 50%;
      transform: translateX(-50%);
      width: 172px;
      height: 80px;
      background: #fff;
      border-top: none;
      border-radius: 0 0 130px 130px;
      z-index: 2;
    }

    .circle-badge {
      position: absolute;
      top: -95px;
      left: 50%;
      transform: translateX(-50%) !important;
      width: 180px;
      height: 180px;
      z-index: 3;
    }

    .circle-badge .ring {
      width: 100%;
      height: 100%;
      animation: spin 20s linear infinite;
    }

    @keyframes spin {
      to {
        transform: rotate(360deg);
      }
    }

    .circle-badge .center {
      position: absolute;
      inset: 0;
      display: grid;
      place-items: center;
    }

    .badge-photo {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      object-fit: cover;
    }

    .quote {
      font-size: clamp(20px, 2.4vw, 29px);
      font-weight: 600;
      line-height: 1.55;
      max-width: 830px;
      margin: 22px auto 26px;
      color: var(--ink);
    }

    .quote-name {
      font-weight: 700;
      font-size: 1.05rem;
    }

    .quote-meta {
      color: var(--muted-2);
      font-size: .85rem;
      margin-top: .15rem;
    }

    /* ---------- CTA banner ---------- */
    .cta-banner {
      position: relative;
      min-height: 250px;
      display: flex;
      align-items: center;
      overflow: hidden;
      z-index: 2;
      padding-top: 50px;
    }

    .watermark {
      width: 100%;
      text-align: center;
      font-weight: 700;
      font-size: clamp(82px, 21vw, 280px);
      letter-spacing: 0em;
      color: rgba(255, 255, 255, .1);
      line-height: 1;
      user-select: none;
    }

    /* ---------- Footer ---------- */
    .site-footer {
      background: url(../images/footer-bg.jpg) left top no-repeat;
      background-size: cover;
      position: relative;
      margin-top: -50px;
      z-index: 1;
      padding-bottom: 40px;
    }

    .site-footer::after {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0px;
      top: 0px;
      content: '';
      background-color: #0000006E;
      z-index: 1;
    }

    .footer-card {
      background: #fff;
      border-radius: 26px;
      box-shadow: 0 -8px 44px rgba(0, 0, 0, .07);
      padding: 40px 40px 30px;
      margin-top: 0px;
      position: relative;
      z-index: 5;
    }

    .footer-links {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .footer-links li {
      margin-bottom: .6rem;
    }

    .footer-links a {
      color: var(--muted);
      font-size: .82rem;
      transition: color .15s;
    }

    .footer-links a:hover {
      color: var(--blue);
    }

    .foot-phone,
    .foot-email {
      font-weight: 700;
      font-size: 1.45rem;
      color: var(--ink);
    }

    .foot-email {
      margin-top: .35rem;
    }

    .socials a {
      color: var(--muted);
      margin-left: 1.1rem;
      font-size: .8rem;
      transition: color .15s;
    }

    .socials a:first-child {
      margin-left: 0;
    }

    .socials a:hover {
      color: var(--blue);
    }

    .copyright {
      padding: 26px 0px 0px;
      color: var(--muted-2);
      font-size: .85rem;
      border-top: #D2D2D2 1px solid;
      margin-top: 20px;
    }

    .proj-left .badge-pill.light {
      border-color: #0C77F4;
      color: #0C77F4;
      background: none;

    }

    .borRight {
      border-right: #D2D2D2 1px solid;
    }

    .borleft {
      border-left: #D2D2D2 1px solid;
    }






    /* ---------- Responsive ---------- */
    @media (max-width:991px) {
      .nav-pill {
        border-radius: 20px;
      }

      .nav-pill .navbar-collapse {
        margin-top: .6rem;
      }

      .nav-right {
        margin-top: .6rem;
      }

      .proj-left {
        padding: 64px 0;
      }

      .proj-photo,
      .proj-photo img {
        min-height: 340px;
      }

      .stats-card {
        flex-direction: column;
        gap: 22px;
      }

      .stats-card .divider {
        width: 100%;
        height: 1px;
      }

      .team-elevated {
        margin-top: 0;
      }

      .footer-card {
        padding: 30px;
      }
    }

    @media (prefers-reduced-motion:reduce) {
      * {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
      }
    }


    /* =====================================================================
   Ravix Construction — Inner pages
   Builds on styles.css (uses the same :root variables & components)
   ===================================================================== */

    /* active nav link */
    .nav-pill .nav-link.active {
      color: var(--blue);
      font-weight: 600;
    }

    /* =========================== Page hero ============================= */
    .page-hero {
      position: relative;
      display: flex;
      align-items: center;
      min-height: 440px;
      background-image: url(../images/slider-img.png);
      background-size: cover;
      background-position: center;
    }

    .page-hero::after {
      position: absolute;
      left: 0px;
      top: 0px;
      background: #00000061;
      content: '';
      z-index: 1;
      height: 100%;
      width: 100%;
    }

    .page-hero .ph-inner {
      position: relative;
      z-index: 2;
      width: 100%;
      padding: 130px 0 84px;
    }

    .page-hero-title {
      color: #fff;
      font-weight: 700;
      letter-spacing: -.02em;
      font-size: clamp(38px, 5.2vw, 62px);
      line-height: 1.1;
    }

    .page-hero-note {
      color: #fff;
      text-align: right;
      max-width: 360px;
      margin-left: auto;
      font-size: 1.02rem;
      line-height: 1.55;
    }

    .project_heading .ph-inner {
      padding-bottom: 0px;
    }

    .project_heading {
      padding: 0px 20px;
    }

    .page-hero h3 {
      color: #fff;
      font-weight: 700;
      letter-spacing: -.02em;
      font-size: clamp(24px, 3.2vw, 32px);
      line-height: 1.1;
    }

    .page-hero p {
      color: #fff;
      font-size: 14px;
      margin: 0px 0px 5px;
    }

    .breadcrumb-nav {
      margin-top: 64px;
      font-size: .95rem;
      color: rgba(255, 255, 255, .9);
    }

    .breadcrumb-nav a {
      color: rgba(255, 255, 255, .9);
      text-decoration: none;
    }

    .breadcrumb-nav a:hover {
      text-decoration: underline;
    }

    .breadcrumb-nav .sep {
      margin: 0 12px;
      opacity: .55;
    }

    /* white body that overlaps the hero bottom with a rounded top */
    .page-body {
      background: #fff;
      border-radius: 42px 42px 0 0;
      margin-top: -46px;
      position: relative;
      z-index: 5;
    }

    /* =========================== Services cards ======================= */
    .svc-card {
      position: relative;
      background: var(--cream);
      border-radius: 18px;
      height: 100%;
      box-shadow: 0 8px 24px rgba(0, 0, 0, .04);
    }

    .svc-img {
      position: relative;
    }

    .svc-img img {
      width: 100%;
      height: 300px;
      object-fit: cover;
      border-radius: 18px 18px 0 0;
      display: block;
    }

    .svc-arrow {
      position: absolute;
      right: 22px;
      bottom: -46px;
      width: 84px;
      height: 84px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: var(--cream);
      color: var(--ink);
      font-size: 1.2rem;
      z-index: 2;
      transition: .2s;
    }

    .svc-arrow span {
      width: 44px;
      height: 44px;
      background: #ddd;
      border-radius: 50%;
      text-align: center;
      line-height: 44px;
      transition: .2s;
    }

    .svc-arrow svg {
      width: 18px;
    }


    .svc-card:hover .svc-arrow span {
      background: var(--blue);
      color: #fff;
      transform: rotate(45deg);
    }

    .svc-card:hover .svc-arrow span svg path {
      fill: #fff;
    }


    .svc-body {
      padding: 30px 26px 26px;
    }

    .svc-title {
      font-weight: 600;
      font-size: 1.18rem;
      color: var(--ink);
      line-height: 1.3;
    }

    .svc-divider {
      height: 1px;
      background: #E2DED4;
      margin: 16px 0;
    }

    .svc-desc {
      color: var(--muted);
      font-size: .92rem;
      margin: 0;
    }

    /* =========================== About feature ======================== */
    .about-feature {
      position: relative;
      border-radius: 24px;
    }

    .about-feature>img {
      width: 100%;
      height: 520px;
      object-fit: cover;
      border-radius: 24px;
      display: block;
    }

    .feature-notch {
      position: absolute;
      top: -58px;
      left: 60px;
      width: 130px;
      height: 115px;
      background: #fff;
      border-radius: 0 0 98px 0;
      z-index: 2;
      transform: rotate(41deg);
    }

    .stat-float {
      position: absolute;
      z-index: 3;
      background: #fff;
      border-radius: 16px;
      padding: 20px 22px;
      box-shadow: 0 16px 40px rgba(0, 0, 0, .14);
      min-width: 210px;
    }

    .stat-float svg {
      position: absolute;
      top: 18px;
      right: 20px;
      width: auto;
      height: 38px;
    }

    .stat-float .sf-num {
      font-size: 1.8rem;
      font-weight: 600;
      color: var(--ink);
      line-height: 1;
      margin-top: 70px;
    }

    .stat-float .sf-num span {
      color: var(--blue);
      font-weight: 500;
    }

    .stat-float .sf-lbl {
      color: var(--muted);
      font-size: .7rem;
      margin-top: 6px;
    }

    .stat-40 {
      top: 105px;
      right: 40px;
    }

    .stat-18 {
      right: 280px;
      bottom: 54px;
    }

    .stat-25 {
      right: 40px;
      bottom: 54px;
    }

    @media (max-width:991px) {
      .about-feature>img {
        height: 300px;
      }

      .stat-float {
        position: static;
        margin-top: 14px;
        min-width: 0;
      }

      .about-feature {
        display: flex;
        flex-direction: column;
      }

      .feature-notch {
        display: none;
      }
    }

    /* =========================== Learn-more value cards =============== */
    .val-card {
      position: relative;
      border-radius: 18px;
      overflow: inherit;
      min-height: 370px;
      padding: 26px;
      display: flex;
      flex-direction: column;
      transition: .2s;
    }

    .val-top {
      display: inline-block;
      align-items: center;
      gap: 14px;
      width: 100%;
    }

    .val-num {
      font-size: .85rem;
      opacity: .7;
    }

    .val-line {
      flex: 1;
      height: 1px;
      background: currentColor;
      opacity: .25;
      width: 100%;
      display: inline-block;
    }

    .val-body {
      margin-top: auto;
      padding-right: 50px;
    }

    .val-title {
      font-weight: 600;
      font-size: 1.45rem;
      margin: 0 0 10px;
    }

    .val-desc {
      font-size: .9rem;
      opacity: .92;
      margin: 0 0 12px;
      line-height: 1.5;
    }

    .val-link {
      font-weight: 600;
      font-size: .9rem;
      text-decoration: underline;
      text-underline-offset: 3px;
      color: inherit;
    }

    .val-thumb {
      width: 100%;
      max-width: 150px;
      border-radius: 10px;
      margin: 0px;
      height: auto;
      object-fit: cover;
      margin-bottom: -26px;
    }

    .val-arrow {
      position: absolute !important;
      background: #fff !important;
      right: 0px;
      bottom: -1px;
      width: 60px;
      height: 60px;
      border-radius: 50px 0px 0px 0px;
      display: grid;
      place-items: center;
      font-size: 1.1rem;
      transition: .2s;
    }

    .val-dark {
      background: #13294A;
      color: #fff;
    }

    .val-dark .val-arrow span {
      background: #F8F8F8;
      color: #fff;
      border-radius: 50%;
      width: 48px;
      height: 48px;
      margin: 15px;
      line-height: 48px;
      text-align: center;
    }

    .val-dark .val-arrow span svg {
      width: 16px;
      height: auto;
    }

    .val-dark .val-arrow span svg path {
      fill: #AEAEAE;
    }

    .val-blue {
      background: #CFE0FF;
      color: var(--ink);
    }

    .val-blue .val-arrow {
      background: var(--blue);
      color: #fff;
    }

    .val-blue .val-arrow span {
      background: #0C77F4;
      color: #fff;
      border-radius: 50%;
      width: 48px;
      height: 48px;
      margin: 15px;
      line-height: 48px;
      text-align: center;
    }

    .val-blue .val-arrow span svg {
      width: 16px;
      height: auto;
    }

    .val-blue .val-arrow span svg path {
      fill: #fff;
    }

    .val-img {
      color: #fff;
      background: #222 center/cover no-repeat;
    }


    .val-img .val-arrow span {
      background: #F8F8F8;
      color: #fff;
      border-radius: 50%;
      width: 48px;
      height: 48px;
      margin: 15px;
      line-height: 48px;
      text-align: center;
    }

    .val-img .val-arrow span svg {
      width: 16px;
      height: auto;
    }

    .val-img .val-arrow span svg path {
      fill: #AEAEAE;
    }

    .val-img::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(20, 22, 26, .35), rgba(20, 22, 26, .72));
    }

    .val-img>* {
      position: relative;
      z-index: 1;
    }

    .val-img .val-arrow {
      background: rgba(255, 255, 255, .18);
      color: #fff;
    }

    .val-card:hover .val-arrow span {
      transform: rotate(45deg);
    }

    /* =========================== Contact info cards =================== */

    /* ===== Info cards ===== */
    .info-card {
      background: var(--cream);
      border-radius: 16px;
      padding: 26px 26px 24px;
      height: 100%;
      display: flex;
      flex-direction: column;
    }

    .info-ic {
      font-size: 22px;
      color: var(--ink);
      margin-bottom: 18px;
    }

    .info-h {
      font-weight: 700;
      font-size: 16px;
      margin-bottom: 8px;
    }

    .info-sub {
      color: var(--muted);
      font-size: 13px;
      line-height: 1.6;
      margin-bottom: 20px;
      flex: 1;
    }

    .info-btn {
      display: block;
      width: 100%;
      text-align: center;
      border: 0;
      cursor: pointer;
      border-radius: 30px;
      padding: 12px 16px;
      font-size: 14px;
      font-weight: 600;
      text-decoration: none;
      transition: background .2s, color .2s;
    }

    .info-btn.blue {
      background: var(--blue);
      color: #fff;
    }

    .info-btn.blue:hover {
      background: var(--blue-dark);
    }

    .info-btn.gray {
      background: var(--gray-btn);
      color: #3c4048;
    }

    .info-btn.gray:hover {
      background: var(--gray-btn-h);
    }

    /* ===== Tabs ===== */
    .tabs-wrap {
      display: flex;
      justify-content: center;
      margin: 42px 0 6px;
    }

    .contact-tabs {
      display: inline-flex;
      gap: 10px;
      padding: 0;
      margin: 0;
      list-style: none;
    }

    .tab-btn {
      border: 0;
      cursor: pointer;
      background: var(--gray-btn);
      color: #3c4048;
      font-size: 14px;
      font-weight: 600;
      padding: 9px 22px;
      border-radius: 24px;
      transition: background .2s, color .2s;
    }

    .tab-btn:hover {
      background: var(--gray-btn-h);
    }

    .tab-btn.active {
      background: var(--blue);
      color: #fff;
    }

    /* ===== Form ===== */
    .form-wrap {
      max-width: 430px;
      margin: 0 auto;
      padding-top: 8px;
    }

    .form-title {
      text-align: center;
      font-weight: 700;
      font-size: 22px;
      margin: 20px 0 22px;
    }

    .c-field {
      width: 100%;
      border: 1px solid var(--field-border);
      background: #fff;
      border-radius: 30px;
      padding: 13px 22px;
      font-size: 14px;
      color: var(--ink);
      margin-bottom: 14px;
      outline: none;
      transition: border-color .2s, box-shadow .2s;
    }

    textarea.c-field {
      border-radius: 18px;
      resize: vertical;
      min-height: 96px;
    }

    .c-field::placeholder {
      color: #aeb3ba;
    }

    .c-field:focus {
      border-color: var(--blue);
      box-shadow: 0 0 0 3px rgba(31, 111, 235, .12);
    }

    .submit-btn {
      width: 100%;
      border: 0;
      cursor: pointer;
      background: var(--blue);
      color: #fff;
      border-radius: 30px;
      padding: 14px;
      font-size: 15px;
      font-weight: 600;
      margin-top: 4px;
      transition: background .2s;
    }

    .submit-btn:hover {
      background: var(--blue-dark);
    }

    .form-note {
      text-align: center;
      color: #16a34a;
      font-size: 13.5px;
      font-weight: 500;
      margin-top: 14px;
      display: none;
    }

    .form-note.show {
      display: block;
    }

    @media (max-width:575.98px) {
      .info-row>[class*="col-"] {
        margin-bottom: 0;
      }

      .form-title {
        font-size: 20px;
      }
    }

    /* =========================== Misc helpers ======================== */
    .section-head-lg {
      font-weight: 700;
      letter-spacing: -.02em;
      font-size: clamp(28px, 3.4vw, 40px);
      line-height: 1.18;
      color: var(--ink);
    }

    .lead-strong {
      font-weight: 600;
      color: var(--ink);
    }

    .btn-ghost {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 50px;
      padding: 8px 8px 8px 22px;
      font-weight: 600;
      color: var(--ink);
      text-decoration: none;
      transition: .2s;
    }

    .btn-ghost .arr {
      width: 38px;
      height: 38px;
      border-radius: 50%;
      background: var(--blue);
      color: #fff;
      display: grid;
      place-items: center;
      transition: .2s;
    }

    .btn-ghost:hover {
      box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
      color: var(--ink);
    }

    .btn-ghost:hover .arr {
      transform: rotate(45deg);
    }

    @media (max-width:991px) {
      .page-hero-note {
        text-align: left;
        margin-top: 18px;
        max-width: none;
      }

      .breadcrumb-nav {
        margin-top: 40px;
      }

      .val-card {
        min-height: 300px;
      }
    }


    /* =========================
   SECTION
========================= */

    .projects-section {
      padding: 80px 0;
    }

    .projects-section .section-title {
      text-align: center;
      font-size: 42px;
      font-weight: 600;
      margin-bottom: 50px;
    }

    /* =========================
   PROJECT CARDS
========================= */

    .project-card {
      position: relative;
      height: 300px;
      overflow: hidden;
      border-radius: 10px;
      cursor: pointer;
    }

    .project-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: .5s;
    }

    .project-card:hover img {
      transform: scale(1.08);
    }

    .project-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top,
          rgba(0, 0, 0, .85),
          rgba(0, 0, 0, .15));
    }

    .project-tag {
      position: absolute;
      top: 15px;
      left: -5px;
      background: #0d6efd;
      color: #fff;
      font-size: 12px;
      padding: 6px 12px;
      border-radius: 0px 4px 4px 0px;
      z-index: 2;
    }

    .project-tag::after {
      width: 6px;
      height: 6px;
      position: absolute;
      left: 0px;
      content: '';
      bottom: -6px;
      background: url(../images/span-bg.svg)left top no-repeat;
    }


    .project-content {
      position: absolute;
      bottom: 15px;
      left: 15px;
      right: 60px;
      color: #fff;
      z-index: 2;
    }

    .project-title {
      font-size: 15px;
      font-weight: 600;
      width: 80%;
    }

    .project-subtitle {
      font-size: 13px;
      opacity: .8;
    }

    .project-arrow {
      position: absolute;
      right: 15px;
      bottom: 15px;
      width: 46px;
      height: 46px;
      border-radius: 50%;
      background: #0d6efd;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 2;
      transition: .2s;
    }

    .project-card:hover .project-arrow {
      transform: rotate(45deg)
    }

    .btn-projects {
      padding: 12px 30px;
      border-radius: 50px;
    }


    .projects-section .btn-brand {
      background: var(--blue);
      color: #fff;
      font-weight: 600;
      padding: .72rem 1.45rem;
      border: 0;
      border-radius: 50px;
      display: inline-flex;
      align-items: center;
      gap: .45rem;
      transition: .2s !important;
      font-size: 14px;
      width: auto;
      height: 50px;
    }

    .projects-section .btn-brand:hover {
      transform: rotate(0deg) !important;
    }

    .projects-section .btn-brand svg {
      width: 15px;
    }

    .projects-section .btn-brand:hover svg {
      transition: .2s !important;
      transform: rotate(45deg) !important;
    }

    /* =========================
   LOGO SLIDER
========================= */

    .partner-section {
      margin-top: 80px;
    }

    .partner-title {
      color: #666;
      font-size: 16px;
      margin-bottom: 25px;
      font-weight: 600;
    }

    .partner-section .logo-slider {
      overflow: hidden;
      position: relative;
      padding: 10px 0;
      -webkit-mask: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
      mask: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
    }

    .partner-section .logo-track {
      display: flex;
      align-items: center;
      width: max-content;
      animation: lmqScroll 30s linear infinite;
    }

    .partner-section .logo-track.slow {
      /* ROW 2: opposite direction + slower */
      animation-duration: 46s;
      animation-direction: reverse;
    }

    .partner-section .logo-slider:hover .logo-track {
      animation-play-state: paused;
    }

    .partner-section .logo-track img,
    .partner-section .logo-track .plogo {
      height: 46px;
      width: auto;
      flex: 0 0 auto;
      object-fit: contain;
      margin-right: 64px;
      /* spacing via margin => perfectly seamless -50% loop */
    }

    @keyframes lmqScroll {
      from {
        transform: translateX(0);
      }

      to {
        transform: translateX(-50%);
      }
    }

    @media (max-width:600px) {

      .partner-section .logo-track img,
      .partner-section .logo-track .plogo {
        height: 34px;
        margin-right: 40px;
      }

      .partner-section .logo-track {
        animation-duration: 20s;
      }
    }

    /* =========================
   RESPONSIVE
========================= */

    @media(max-width:768px) {

      .section-title {
        font-size: 30px;
      }

      .project-card {
        height: 240px;
      }

      .page-body {
        padding: 0px 15px;
      }

    }

    /*=================Our Project page==============*/


    /* Filter Buttons */

    .filter-wrapper {
      display: flex;
      justify-content: center;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 40px;
    }

    .filter-btn {
      border: none;
      background: #efefef;
      color: #333;
      padding: 10px 18px;
      border-radius: 30px;
      font-size: 13px;
      transition: .3s;
    }

    .filter-btn.active {
      background: var(--primary);
      color: #fff;
    }

    .filter-btn:hover {
      background: var(--primary);
      color: #fff;
    }

    /* Cards */

    .project-card {
      position: relative;
      height: 320px;
      overflow: hidden;
      border-radius: 4px;
    }

    .project-card img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: .5s;
    }

    .project-card:hover img {
      transform: scale(1.08);
    }

    .overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top,
          rgba(0, 0, 0, .9),
          rgba(0, 0, 0, .15));
    }

    .category-tag {
      position: absolute;
      top: 10px;
      left: 10px;
      background: var(--primary);
      color: #fff;
      font-size: 11px;
      padding: 5px 10px;
      border-radius: 2px;
      z-index: 2;
    }

    .card-content {
      position: absolute;
      bottom: 15px;
      left: 15px;
      color: #fff;
      z-index: 2;
    }

    .card-title {
      font-size: 14px;
      font-weight: 600;
      margin-bottom: 2px;
    }

    .card-subtitle {
      font-size: 11px;
      opacity: .8;
    }

    .arrow-btn {
      position: absolute;
      right: 12px;
      bottom: 12px;
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: var(--primary);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 2;
      font-size: 14px;
    }

    .project-item {
      transition: .4s;
    }

    .hide-card {
      display: none;
    }

    @media(max-width:768px) {

      .project-card {
        height: 260px;
      }

      .filter-wrapper {
        justify-content: flex-start;
        overflow: auto;
        flex-wrap: nowrap;
        padding-bottom: 10px;
      }

      .filter-btn {
        white-space: nowrap;
      }
    }


    /*==========projrct-details=========*/


    .project-section {
      padding: 60px 0;
    }

    .section-title {
      font-size: 42px;
      font-weight: 700;
      margin-bottom: 40px;
    }

    /* Details */

    .detail-block {
      margin-bottom: 35px;
    }

    .detail-block h5 {
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 10px;
    }

    .detail-block p {
      font-size: 14px;
      color: #666;
      line-height: 1.8;
      margin: 0;
    }

    /* Right Info */

    .project-info {
      font-size: 14px;
    }

    .project-info p {
      margin-bottom: 14px;
    }

    .project-info strong {
      color: #222;
    }

    .company-logo {
      text-align: center;
      margin-top: 40px;
    }

    .company-logo img {
      max-width: 180px;
    }

    /* Divider */

    .divider {
      margin: 50px 0;
      border-top: 1px solid #ddd;
    }

    /* Gallery */

    .gallery-item {
      overflow: hidden;
      cursor: pointer;
      margin-bottom: 24px;
    }

    .gallery-item img {
      width: 100%;
      height: 450px;
      object-fit: cover;
      transition: .4s;
    }

    .gallery-item:hover img {
      transform: scale(1.08);
    }

    /* Lightbox */

    .lightbox {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, .9);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 9999;
    }

    .lightbox.active {
      display: flex;
    }

    .lightbox img {
      max-width: 90%;
      max-height: 90vh;
    }

    .close-lightbox {
      position: absolute;
      top: 20px;
      right: 30px;
      color: #fff;
      font-size: 40px;
      cursor: pointer;
    }

    @media(max-width:991px) {

      .section-title {
        font-size: 34px;
      }

      .project-info {
        margin-top: 40px;
      }
    }

    @media(max-width:768px) {

      .gallery-item img {
        height: 240px;
      }

      .section-title {
        font-size: 28px;
      }
    }