   @font-face {
     font-family: 'helvetica-light';
     src: url('../fonts/helvetica-light.otf');
   }

   body {
     background-color: #f5f5f5;
     font-family: 'helvetica-light';
     font-weight: 300;
   }

   .navbar {
     padding: 1.5rem 0;
   }

   .navbar-brand {
     font-size: 1.75rem;
     font-weight: 300;
     color: #000 !important;
     letter-spacing: -0.5px;
   }

   .navbar-nav {
     gap: 1rem;
   }

   .nav-link {
     color: #000 !important;
     font-size: 1rem;
     font-weight: 300;
     padding: 0 10px !important;
     border: 1px solid transparent;
   }

   .nav-link.active {
     border: 1px solid #000;
     color: #8d8d8d !important;
   }

   a.nav-link:hover {
     color: #8d8d8d !important;
   }

   .hero-section {
     min-height: calc(100vh - 200px);
     display: flex;
     align-items: center;
   }

   .hero-heading {
     font-size: 4.5rem;
     font-weight: 300;
     line-height: 1.2;
     color: #000;
     letter-spacing: -1px;
     max-width: 700px;
   }

   .image-grid {
     height: 100%;
   }

   .large-image {
     height: 73vh;
     object-fit: cover;
   }

   .small-image {
     width: 100%;
     height: calc((73vh - 2rem) / 3);
     object-fit: cover;
   }

   /* .top-large-img {
     display: flex;
     justify-content: end;
   } */

   .footer-text {
     text-align: right;
     font-size: 0.75rem;
     color: #000;
     padding: 50px 0 20px 0;
     font-weight: 300;
   }



   .accordion-item::after {
     content: "";
     position: absolute;
     border: 1px solid #000;
     width: 63.70%;
     /* left: 0; */
     right: 40px;
   }

   .accordion-item::before {
     content: "";
     position: absolute;
     border: 1px solid #000;
     width: 63.70%;
     /* left: 0; */
     right: 40px;
   }

   .accordion-item:first-of-type {
     border-top: none !important;
   }

   /* .accordion-item:not(:has(.collapsed))::before {
    width: 54%;
} */
   /* services css */
   .main-content {
     min-height: calc(100vh - 200px);
     padding: 2rem 0 0;
     display: flex;
     justify-content: center;
     align-items: center;
   }

   .vertical-text {
     writing-mode: vertical-rl;
     transform: rotate(180deg);
     position: fixed;
     bottom: 20px;
     left: 0px;
     font-size: 68px;
     font-weight: 400;
     color: #000;
     margin: 0;
   }

   .service-image {
     width: 100%;
     height: 450px;
     object-fit: cover;
     filter: grayscale(100%) contrast(1.2);
     margin-bottom: 2rem;
   }

   .accordion {
     --bs-accordion-border-color: #000;
     --bs-accordion-bg: transparent;
   }

   .accordion-item {
     background-color: transparent;
     border: none;
     /* Remove all borders first */

   }

   .accordion-button {
     background-color: transparent;
     color: #000;
     font-size: 1.75rem;
     font-weight: 300;
     letter-spacing: 0.5em;
     padding: 10px 0;
     box-shadow: none;
     justify-content: center;
   }

   button.accordion-button {
     padding: 10px 0;
   }

   button.accordion-button.collapsed {
     /* letter-spacing: 0.05em; */
     letter-spacing: normal;
   }

   .accordion-button:not(.collapsed) {
     background-color: transparent;
     color: #000;
     box-shadow: none;
     letter-spacing: 0.5em;
   }

   .accordion-button:focus {
     box-shadow: none;
     border: none;
   }

   .accordion-button::after {
     display: none;
   }

   .accordion-body {
     padding: 0;
     border: none;
   }

   .accordion-body .row {
     margin: 0;
   }

   .service-image-accordion {
     width: 100%;
     height: 400px;
     object-fit: cover;
     position: relative;
     z-index: 99;
     margin-top: -53px;
     padding-left: 50px;
   }

   .service-description {
     font-size: 1rem;
     line-height: 1.8;
     color: #000;
     font-weight: 300;
     max-width: 740px;
   }

   .accordion-collapse {
     border: none;
   }


   .accordion-collapse {
  transition: height 0.4s ease, opacity 0.3s ease !important;
}

.accordion-body {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.accordion-collapse.show .accordion-body {
  opacity: 1;
}

.service-image-accordion,
.service-description {
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  transform: translateY(10px);
  opacity: 0;
}

.accordion-collapse.show .service-image-accordion,
.accordion-collapse.show .service-description {
  transform: translateY(0);
  opacity: 1;
}




   .service-title-spaced {
     letter-spacing: 0.3em;
   }

   /* about css */
   /* Image Grid Container */
   .content-container {
     flex: 1;
     display: flex;
     flex-direction: column;
     height: 100%;
   }

   .images-section {
     display: grid;
     grid-template-columns: 300px 1fr 350px;
     grid-template-rows: 1fr;
     gap: 1.5rem;
     /* margin-bottom: 2rem; */
     height: 500px;
     align-items: start;
   }

   .image-box {
     background-color: #f5f5f5;
     overflow: hidden;
     position: relative;
   }

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

   /* Small image top-left - positioned at top */
   .image-small-left {
     height: 27vh;
     align-self: start;
   }

   /* Large center image - full height */
   .image-large-center {
     height: 59vh;
   }

   /* Small image bottom-right - positioned at bottom */
   .image-small-right {
     width: 100%;
     height: 27vh;
     align-self: end;
   }

   /* Text Content */
   /* .text-content {
     max-width: 720px;
   } */

   .text-content p {
     font-size: 14px;
     line-height: 1.4;
     color: #000;
     font-weight: 300;
     margin-left: 80px;
     margin-top: 35px;
     margin-bottom: 0;
   }

   /* contact css */
   .contact-section {
     min-height: calc(100vh - 200px);
     display: flex;
     align-items: end;
     padding-bottom: 60px;
     position: relative;
   }

   .contact-info {
     flex: 1;
     display: flex;
     flex-direction: column;
     justify-content: center;
     margin-left: 70px;
     max-width: 500px;
   }

   .contact-email {
     margin-bottom: 20px;
   }

   .contact-email a {
     font-size: 14px;
     font-weight: 300;
     color: #000;
     text-decoration: none;

   }

   .contact-address p {
     line-height: 1.2;
     font-size: 14px;
     font-weight: 300;
     color: #000;
   }

   /* Offcanvas Styling */
   .offcanvas {
     width: 280px !important;
     background: #ffffff;
   }

   .offcanvas-header {
     padding: 1.5rem;
     border-bottom: 1px solid #e0e0e0;
   }

   .offcanvas-title {
     font-size: 1.5rem;
     font-weight: 300;
   }

   .offcanvas-body {
     padding: 2rem 1.5rem;
   }

   .offcanvas-body .nav-link {
     padding: 0.75rem 0;
     font-size: 1.1rem;
     color: #000;
     transition: all 0.3s ease;
     border-bottom: 1px solid transparent;
   }

   .offcanvas-body .nav-link:hover,
   .offcanvas-body .nav-link.active {
     color: #000;
     border-bottom: 1px solid #000;
   }

   .btn-close {
     font-size: 0.875rem;
   }

   .btn-close:focus {
     box-shadow: none;
   }

   .vrt-mobile {
     display: none;
   }

   @media (max-width: 992px) {
     .accordion-item::after {
       width: 92%;
       display: none;
     }

     .accordion-flush .accordion-item:first-child {
       border-top: 1px solid #000 !important;

     }

     .accordion-item {

       border-bottom: 1px solid #000;
     }

     .accordion-flush .accordion-item:last-child {
       border-bottom: 1px solid #000 !important;
     }

     .service-image-accordion {
       height: auto;
       margin-bottom: 10px;
       margin-top: 0;
     }

     .images-section {
       grid-template-columns: 1fr;
       grid-template-rows: auto auto auto;
       height: auto;
       gap: 1rem;
     }

     .image-small-left,
     .image-large-center,
     .image-small-right {
       margin: 20px 0;
       height: auto;
       align-self: stretch;
     }

     /* .vertical-text{
      left: -45px;
    } */
     .navbar-toggler:focus {
       box-shadow: none;
     }

     .vrt {
       display: none;
     }

     .vrt-mobile .vertical-text {
       writing-mode: horizontal-tb;
       transform: rotate(0deg);
       position: relative;
       font-size: 50px;
       font-weight: 400;
       color: #000;
       margin: 0;
       margin-bottom: 20px;

     }

     .vrt-mobile {
       display: block !important;
     }

     .contact-section .vrt-mobile {
       position: absolute;
       top: 30px;
       left: 20px;
     }

     .contact-info {
       margin-left: 0;
     }

     .accordion-item::before {
       display: none;
       width: 93%;

     }

   }

   @media (max-width: 768px) {
     .vrt-mobile {
       display: block !important;
     }

     .main-content {
       padding: 1rem 0;
     }

     .vrt {
       display: none;
     }

     .vrt-mobile .vertical-text {
       writing-mode: horizontal-tb;
       transform: rotate(0deg);
       position: relative;
       font-size: 50px;
       font-weight: 400;
       color: #000;
       margin: 0;
       margin-bottom: 20px;

     }

     .hero-heading {
       font-size: 2.5rem;
     }

     .large-image {
       min-height: 400px;
     }

     .small-image {
       height: 150px;
     }

     .service-image {
       height: 300px;
     }

     .hero-heading {
       font-size: 2.5rem;
     }

     .large-image {
       min-height: 400px;
     }

     .small-image {
       height: 150px;
     }

     .top-large-img {
       display: flex;
       justify-content: center;
     }

     .top-large-img img {
       width: 100%;
     }

     .small-image {
       height: auto !important;
     }

     .accordion-item::before {
       width: 92%;
     }

     .accordion-item::after {
       width: 92%;
     }

     .text-content p {
       margin-left: 0;
     }

     .footer-text {
       padding-bottom: 20px;
     }
   }

   @media (max-width: 550) {
     .vertical-text {
       /* writing-mode: horizontal-tb;
       transform: none; */
       font-size: 2rem;
       margin-bottom: 2rem;
     }
   }