/*html {*/
/*  scroll-behavior: smooth !important;*/
/*}*/

html {
  scroll-behavior: auto !important;
}

html, body {
  overflow-x: clip!important;
}

/* disable scroll anchoring so reflows don’t lock your spot */
html, body {
  overflow-anchor: none !important;
}

html, body {
  background-color: #f7f7f7;
}
html, body, .about-container {
  scroll-snap-type: none !important;
}
:root {
  --color-bg:        #1A1A2E;
  --color-card-bg:   #2E2E4E;
  --color-primary:   #C06C84;
  --color-secondary: #6C5B7B;
  --color-accent:    #F8B195;
  --color-text:      #FDF5E6;
}


.about-container {
  max-width: 1100px;  
  margin: 0 auto; 
  padding: 20px;
}


.about-banner {
  box-sizing: border-box;   /* makes width include padding */

  margin-top: 2rem;
  width: 100%;
  height: clamp(700px, 40vh, 800px);
  background-image: linear-gradient(
    to bottom right,
    rgba(28,28,46,0.8),
    rgba(108,91,123,0.8)
  ) ,url('../assets/media/hero2.jpg'); 
  background-size: cover;
  background-repeat: no-repeat;

  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;  
  text-align: center;
  color: white;  
  padding: 20px;
}

.about-banner h2 {
    font-family: 'Centabel', serif;
  font-size: 2.5rem;
  margin-bottom: 10px;
}

.about-section {
  padding: 10rem 0; 
}

.about-banner p {
    font-family: 'Centabel', serif;
  font-size: 1.25rem;
}

.about-content {
  padding: 20px;
  padding-left: 0%;
  width: 100%;
}

.about-content p {
  font-size: 1.125rem; /* text-lg */
  color: #B26E97; /* text-gray-700 */
  margin-bottom: 2rem; /* mb-8 */
  max-width: 36rem; /* max-w-xl */
  font-family:'Centabel', serif;
}
  
.page-header, .page-content {
  width: 100%;
}

.page-content section {
  padding-top: 10rem;
  padding-bottom: 10rem; 
}


.reveal-up {
  opacity: 0;
  transform: translateY(80px);
  transition: 
    opacity 0.6s ease-out,
    transform 0.6s ease-out;
}

.reveal-up.in-view {
  opacity: 1;
  transform: translateY(0);
}


.text-image-pair {

  display: flex;
  align-items: center;
  margin-bottom: 10px;
  gap:20px;
}
.alternate-bg {
  position: relative;
  width: 100vw;            
  left: 50%;              
  margin-left: -50vw;      
  background-color: #111827;
  padding: 4rem 0;        
  box-sizing: border-box; 
  overflow: hidden;      
}

.alternate-bg .inner {
  max-width: 1100px;    
  margin: 0 auto;  
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 2rem;
}


.alternate-bg.reverse .inner {
  flex-direction: row-reverse;
}

.text-image-pair.reverse {
  flex-direction: row-reverse;
}


.text-container {
  flex:2; 
  padding: 0 20px;
  font-size: 1rem;
  line-height: 1.5;
}

.text-container h2 {
    font-family:'Centabel', serif;
  color: var(--color-primary);
}

.image-container {
  flex: 1;
  min-width: 500px;
  border-radius: 5px;
}


.about-image {
  width: 100%;
  height: 500px;       
  object-fit: cover;   
  object-position: 50% 50%;
}

.text-container p {
  text-align: justify;
  /* optional: add hyphenation for smoother breaks */
  hyphens: auto;
  /* ensure words can break to avoid large gaps */
  word-break: break-word;
}

@media (max-width: 768px) {
  .about-section {
    flex-direction: column;
  }
}


/* Mobile stacking for text-image pairs */
@media (max-width: 768px) {
  .text-image-pair {
    display: flex;
    flex-direction: column; /* stacks text then image by default */
    gap: 1.5rem;            /* space between the two sections */
  }

  .alternate-bg {
    width: 100%;      /* use container width instead of viewport */
    left: 0;          /* cancel the 50%/−50vw shift */
    margin-left: 0;
    padding: 2rem 0;  /* you can reduce top/bottom padding here if needed */
  }

  .alternate-bg .inner {
    padding: 0 1rem;  /* give a little side gutter instead of 20px */
  }


 /* Make sure no child overflows */
 .about-container,
 .text-image-pair,
 .image-container,
 .text-container {
   box-sizing: border-box;
   overflow-x: hidden;
 }

  /* If you want the image first—e.g. on the “reverse” section: */
  .text-image-pair.reverse,
  .alternate-bg.reverse .inner {
    flex-direction: column-reverse;
  }

  /* Make both containers full-width */
  .text-container,
  .image-container {
    min-width: 0 !important;
    flex-basis: auto !important;
  }

  /* Responsive image */
  .about-image {
    width: 100%;
    height: auto;        /* preserve aspect ratio */
    object-fit: cover;   /* still cover if you used contain above, or vice versa */
  }

  .alternate-bg.reverse .image-container {
    min-width: 0 !important;
    flex-basis: auto !important;
  }
  .alternate-bg.reverse .text-container {
    min-width: 0 !important;
    flex-basis: auto !important;
  }

  .alternate-bg {
    position: relative;
    width: 100vw;          /* span the full viewport width */
    left: 50%;             /* shift its left edge to the center */
    right: 50%;            /* and likewise the right edge */
    margin-left: -50vw;    /* pull it back out to fill the viewport */
    margin-right: -50vw;
    box-sizing: border-box;
    /* your existing padding for top/bottom stays in place: */
    padding: 4rem 0;
  }
  
}