/* === About Section Styles === */
.about-section{
  position: relative;
  padding: 120px 0 120px;
  overflow-x: hidden; /* prevent any child overflow from causing side scroll */
}

.about-section .container{
  max-width: 1444px;
  /* padding-inline: max(24px, calc((100vw - 1680px) / 2)); */
}

/* Fix asymmetric padding on mobile: rely on global .container padding */
@media (max-width: 1024px){
  .about-section .container{ padding-inline: var(--container-pad); }
}

/* Header with Label and Title */
.about-header{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 67px;
  position: relative;
}

/* Label - Top Right */
.about-label{
  position: absolute;
  right: 0;
  top: 0;
  margin: 0;
  font-family: 'Syne', sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 24px;
  line-height: 29px;
  color: #01172C;
}

/* Main Title - Left Side */
.about-main-title{
  margin: 0;
  font-family: 'Syne', sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 72px;
  line-height: 80px;
  color: #01172C;
  max-width: 1201px;
  word-break: break-word; /* avoid long word overflow */
  overflow-wrap: anywhere;
  hyphens: auto;
}

/* Content Layout - Image | Lines | Text */
.about-content{
  display: grid;
  grid-template-columns: minmax(300px, 712px) 48px 1fr;
  gap: 0;
  align-items: start;
  position: relative;
}

/* Left: Image Wrapper */
.about-image-wrapper{
  position: relative;
  width: 100%;
  max-width: 712px;
}

/* Image Container */
.about-image{
  position: relative;
  width: 100%;
  max-width: 712px;
  height: 600px;
  background: #000000;
  overflow: hidden;
}

/* Image loading skeleton */
.about-image .image-container{ 
  position:relative; width:100%; height:100%; overflow:hidden; 
}
.about-image .image-skeleton{ 
  position:absolute; inset:0; background:#E5E7EB;
  background: linear-gradient(90deg, #E5E7EB 25%, #F3F4F6 50%, #E5E7EB 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  z-index:1;
}
.about-image .image-container img{ 
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center;
  opacity:0; transition: opacity 0.3s ease;
  z-index:2;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}
.about-image .image-container.loaded img{ opacity:1; }
.about-image .image-container.loaded .image-skeleton{ opacity:0; transition: opacity 0.3s ease; }

@keyframes shimmer{
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.about-image-overlay{
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.12);
  pointer-events: none;
}

/* Middle: Decorative Lines (SVG wrapper) */
.about-decorative-lines{
  position: relative;
  width: 48px;
  height: auto;
  display: flex;
  margin-left: 40px;
}

.about-bracket{ display:block; width:48px; height:100%; }

/* Right: Text Content */
.about-text{
  padding-left: 63px;
  padding-top: 250px;
  max-width: 100%;
}

/* Bold Description */
.about-description-bold{
  margin: 0 0 36px;
  font-family: 'Syne', sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 32px;
  line-height: 44px;
  color: #01172C;
  max-width: 590px;
}

/* Regular Description */
.about-description{
  margin: 0 0 30px;
  font-family: 'Syne', sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 30px;
  color: #01172C;
  max-width: 590px;
  word-break: break-word; overflow-wrap: anywhere;
}

/* Button */
.about-text .btn{
  width: 168px;
  height: 56px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #01172C;
  border-radius: 100px;
  font-family: 'Syne', sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 18px;
  line-height: 22px;
  color: #FFFFFF;
  text-decoration: none;
  transition: background 0.3s ease;
}

/* Hover state for button */
.about-text .btn:hover{
  background: #072B4D;
  transform: none;
}

.about-text .btn:active{
  transform: translateY(1px);
}


@media (max-width: 1380px){
  .about-section{
    padding: 80px 0;
  }

  .about-header{
    flex-direction: column;
    gap: 16px;
    margin-bottom: 48px;
  }

  .about-label{
    position: static;
    order: -1;
  }
  
  .about-content{
    grid-template-columns: 1fr;
    gap: 48px;
  }

  
  .about-image-wrapper,
  .about-image{
    width: 100%;
    max-width: 712px;
    margin: 0 auto;
  }
  /* Ensure equal padding look – avoid image overflowing to the right on mobile */
  .about-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .about-text{
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    max-width: 100%;
  }

  .about-description-bold,
  .about-description{
    max-width: 100%;
  }

  .about-decorative-lines{
    display: none;
  }

  .about-main-title {
    font-size: clamp(40px, 6vw, 72px);
    line-height: clamp(48px, 6.5vw, 80px);
  }
  .about-description-bold {
    font-size: clamp(20px, 3vw, 32px);
    line-height: clamp(24px, 3.5vw, 44px);
  }
  .about-description {
    font-size: clamp(15px, 2vw, 20px);
    line-height: clamp(20px, 2.5vw, 30px);
  }
}

@media (max-width: 760px){
  .about-section{
    padding: 60px 0;
  }

  .about-header{
    margin-bottom: 32px;
  }
  
  .about-image{
    height: auto;
    aspect-ratio: 712 / 600;
  }

  .about-content{
    gap: 32px;
  }
  
  .about-description-bold{
    margin-bottom: 24px;
  }
  
  .about-description{
    margin-bottom: 32px;
  }

  .about-text .btn{
    width: 100%;
    max-width: 168px;
  }
  .about-main-title{ font-size:35px; line-height:32px; }
  .about-description-bold{ font-size:20px; line-height:25px; }
  .about-description{ font-size:15px; line-height:20px; }
  .about-text .btn{ font-size:15px; line-height:20px; }
}
