body, html {
    height: 100%;
    line-height: 1;
    background-image: url('../images/aboutus/background.png');
    background-position: center;
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    overflow: auto;
}


.btn-style-homepage {
    background-color:white;
    border: none;
    color: white;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    transition-duration: 0.4s;
    cursor: pointer;
}

.btn-homepage {
    background-color: transparent;
    color: white;
    border: 2px solid white;
    border-radius: 30px;
}
  
.btn-homepage:hover {
    background-color: white;
    color: black;
}

h1 {
    color: white;
    font-family: 'CenturyGothic', "Century Gothic";
    font-weight: bold;
    padding: 0px 19px;
    padding-top: 10%;
}

.about-text p{
    color: white;
    text-align: justify;
    line-height: 1.3;
    margin-top: 15px;
    padding: 0px 19px;
    font-family: 'CenturyGothic', "Century Gothic";
}

.plant-image{
    width: 85%;
    height: auto;
}


/* @media only screen and (min-width: 576px) {

}

@media only screen and (min-width: 767px) {

} */

@media only screen and (min-width: 992px) {
    h1 {
        font-size: 32px;
    }

    .about-text p{
        font-size: 16px;
        margin-top: 20px;
    }

    .row {
        margin: 0 5em;
    }

}

@media only screen and (min-width: 1200px) {
    .about-text p{
        font-size: 24px;
        margin-top: 30px;
    }

}

@media only screen and (min-width: 2000px) {
    h1 {
        font-size: 48px;
        padding-top: 50px;
    }

    .about-text p{
        font-size: 32px;
        margin-top: 30px;
        line-height: 1.5;
    }

}

/* Philosophy section styles */
.philosophy-section{
    background: #ffffff;
    width: 100vw; /* full viewport width so background touches edges */
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
/* Modifier: transparent section that uses the page background (no white bar) */
.philosophy-section--transparent{
    background: transparent;
    width: auto;
    left: auto;
    transform: none;
}

/* When using transparent variant, keep media in-flow instead of absolutely positioned */
.philosophy-section--transparent .philosophy-media{
    position: relative;
    flex: 0 0 40vw;
}

/* Make text clearly visible on the page background for transparent sections */
.philosophy-section--transparent .philosophy-text,
.philosophy-section--transparent .philosophy-text h2,
.philosophy-section--transparent .philosophy-text p{
    color: #fff !important;
}
.philosophy-section--transparent .philosophy-text h2{
    text-shadow: 0 3px 12px rgba(0,0,0,0.45);
}
.philosophy-inner{
    max-width: 1400px;
    display: flex;
    align-items: stretch;
    min-height: 520px; /* controls section height */
}

/* Mission-specific seam fix: nudge media slightly down to cover subpixel white gap */
.philosophy-section--mission{
    overflow: hidden; /* ensure any small overflow is clipped */
}
.philosophy-section--mission .philosophy-media{
    /* push the absolutely-positioned media down 1-2px to hide rendering gaps */
    bottom: -2px;
}
@media (max-width: 991px){
    /* on stacked/mobile layout keep normal flow to avoid clipping content */
    .philosophy-section--mission .philosophy-media{ bottom: 0; }
}
.philosophy-text{
    /* use the Bootstrap column flow; add vertical padding and keep left alignment by matching about-text padding */
    padding: 60px 0 60px 46px; /* nudged right further */
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.philosophy-text h2{
    /* use same font family & weight as the About Us heading */
    font-family: 'CenturyGothic', 'Century Gothic';
    font-weight: bold;
    font-size: 32px; /* same as h1 at desktop */
    color: #000;
    margin: 0 0 18px 0;
}
.philosophy-text p{
    /* match About Us paragraph styling but keep color black */
    font-family: 'CenturyGothic', 'Century Gothic';
    color: #000;
    text-align: justify;
    line-height: 1.3; /* same as .about-text p */
    margin-top: 15px;
    font-size: 24px;
}
.philosophy-media{
    /* make media anchor to the right edge of the section */
    flex: 0 0 33vw; /* keep roughly one-third of viewport */
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}
.philosophy-media .media-inner{ 
    position: absolute;
    inset: 0;
}
.philosophy-media .media-photo{
    /* Ensure media fills the media container both horizontally and vertically
       while preserving the image aspect ratio by cropping (cover).
       This prevents both horizontal shrinkage and vertical gaps. */
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    max-width: none;
}
.philosophy-media .overlay-element{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
}

/* Transparent-section media uses in-flow layout; keep images responsive
   by width rather than forcing height to 100% (avoids clipping on small images). */
.philosophy-section--transparent .philosophy-media .media-photo{
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: cover;
}

/* Remove any accidental borders/lines from images or section containers */
.philosophy-section,
.philosophy-media,
.philosophy-media .media-inner,
.philosophy-media .media-photo,
.philosophy-media .overlay-element{
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Ensure images don't render as inline with gaps or outlines */
.philosophy-media .media-photo{
    display: block;
    border: none !important;
}

/* Prevent focus outlines from showing as thin lines */
.philosophy-section *:focus{
    outline: none !important;
    box-shadow: none !important;
}

/* Responsive stack on smaller screens */
@media (max-width: 991px){
    .philosophy-inner{ flex-direction: column; min-height: auto; }
    .philosophy-media{ position: relative; height: 360px; width: 100%; flex: 0 0 auto; }
    .philosophy-text{ padding: 30px 6%; }
    .philosophy-text h2{ font-size: 28px; }
    .philosophy-text p{ font-size: 16px; }
}

@media (min-width: 992px){
    /* reserve space on the right for the absolutely-positioned media */
    .philosophy-inner{ padding-right: 33vw; }
}

/* Stronger Mission-only seam fix: use small overfill + translate to avoid subpixel gaps */
.philosophy-section--mission{
    overflow: hidden; /* clip any small overhang produced by the overfill */
}
.philosophy-section--mission .philosophy-media{
    /* allow the media to extend slightly below the section to cover rendering gaps */
    bottom: -6px; /* increased negative offset to fully hide remaining seam */
}
.philosophy-section--mission .philosophy-media .media-inner{
    bottom: -6px;
}
.philosophy-section--mission .philosophy-media .media-photo{
    /* Ensure mission images fill the mission container height fully
       (no gaps) while preserving aspect ratio via cropping. */
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: none;
    -webkit-transform: none;
    display: block;
    max-width: none;
}
@media (max-width: 991px){
    /* On mobile stacked layout restore normal behavior to avoid clipping content */
    .philosophy-section--mission .philosophy-media,
    .philosophy-section--mission .philosophy-media .media-inner{ bottom: 0; }
    .philosophy-section--mission .philosophy-media .media-photo{ height: 100%; transform: none; -webkit-transform: none; }
}
