/* ============================
   ABOUT PAGE (split scroll)
============================ */
.about-body {
  display: block;
  height: 100vh;
  height: 100dvh;
  position: relative;
  overflow: hidden;
}

/* Fixed Header & Footer Overlay */
.about-body .splash-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
  z-index: 100;
  pointer-events: none;
}

.about-body .splash-nav * {
  pointer-events: auto;
}

.about-body .splash-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: transparent;
  z-index: 100;
  pointer-events: none;
}

.about-body .splash-footer * {
  pointer-events: auto;
}

.about-content {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
}

.about-grid {
  display: grid;
  grid-template-columns: repeat(18, 1fr);
  gap: 20px;
  padding: 0 40px; /* Restored outer padding to match navbar edges */
  max-width: 1920px;
  margin: 0 auto;
  height: 100%;
}

/* Scrollable Gallery Column */
.about-images {
  grid-column: 1 / 10;
  /* Fine-tune this offset pixel amount (e.g., 30px, 45px, 60px) */
  margin-left: 20px; 
  
  height: 100%;
  overflow-y: auto;
  scrollbar-width: none;
  display: flex;
  flex-direction: column;
  gap: 20px;
  box-sizing: border-box;
}

.about-images::-webkit-scrollbar {
  display: none;
}

.about-images img {
  width: 100%;
  display: block;
  object-fit: cover;
}

/* Static Text Column - Vertically Centered */
.about-text-col {
  grid-column: 12 / 18; /* Shifted slightly right to keep grid balance */
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow-y: auto;
  scrollbar-width: none;
  padding: 80px 0;
}

.about-text-col::-webkit-scrollbar {
  display: none;
}

.about-text {
  max-width: 640px;
}

.about-text p {
  font-size: 0.85rem;
  line-height: 1.5;
  margin-bottom: 20px;
}

.about-text p:first-child {
  margin-top: 0; /* Prevents margin-collapse from throwing off calculations */
}

.about-text p:last-child {
  margin-bottom: 0;
}

/* ==========================================
   MOBILE & TABLET BREAKPOINT (<= 900px)
========================================== */
@media (max-width: 900px) {

  /* 1. Page Container Clearance for Sticky Menu */
  .about-content {
    padding-top: 70px !important;
    overflow-y: auto;
  }

  /* 2. Grid Reset to Single Column */
  .about-grid {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
  }

  /* 3. Horizontal Scroll Gallery Container */
  .about-images {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    padding: 0 20px 20px 20px !important;
    margin: 0 !important;
    scrollbar-width: none; /* Hide scrollbar Firefox */
  }

  /* Hide scrollbar for Chrome, Safari, Opera */
  .about-images::-webkit-scrollbar {
    display: none;
  }

  /* Gallery Item Sizing (85% width lets next image peek) */
  .about-images img,
  .about-images .gallery-item {
    flex: 0 0 85%;
    max-width: 85%;
    height: auto;
    object-fit: cover;
    scroll-snap-align: start;
  }

  /* Gallery Edge Spacers */
  .about-images::before,
  .about-images::after {
    content: '';
    flex: 0 0 4px;
  }

  /* 4. Full-Width Text Column */
  .about-text-col {
    width: 100% !important;
    max-width: 100% !important;
    height: auto;
    padding: 20px 20px 60px 20px !important; /* Comfortable side gutters & bottom space */
    box-sizing: border-box;
  }

  .about-text {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Decorative Icons inside text flow naturally */
  .about-text img {
    position: relative !important;
    display: block;
    margin: 24px auto !important;
  }
}