:root {
    --color-bg-beige: #E9E2D3;
    --color-text-teal: #196B81; /* Adjusted to match SVG fill if needed, or stick to theme */
    --color-text-body: #000000;
    --color-btn-orange: #EE7D3D;
    --color-btn-orange-hover: #D96C2E;
    --font-family-archer: "Archer", "sans-serif", serif;
}

body {
    font-family: var(--font-family-archer);
}

.hero-science-wrapper {
    padding-bottom: 50px;
    position: relative;
    overflow: hidden;
}

.hero-science {
    background-color: var(--color-bg-beige);
    padding: 60px 130px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.hero-science__container {
    max-width: 1440px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.hero-science__content {
    flex: 1;
    max-width: 677px;
    padding-right: 50px;
}

.hero-science__title {
    margin: 0;
    color: var(--color-text-teal);
    font-size: 62px;
    font-weight: 700;
    line-height: 1;
    position: relative;
    padding-bottom: 20px;
}
.hero-science__title.title-mobile{
    display: none;
}

/* Specific decoration for Contact title if needed, otherwise inherit or override. 
   Page 10 doesn't seem to show the underline brush in the screenshot/code explicitly, 
   but we can keep it or remove it. Let's keep it consistent or remove if it conflicts. 
   Assuming consistent design for now. */
.hero-science__title:after {
    content: "";
    position: absolute;
    bottom: -15px;
    width: 80%;
    height: 15px;
    background-image: url('../images/BRUSHES.svg');
    background-size: contain;
    background-repeat: no-repeat;
    left: 0;
}

.hero-science__description {
    color: var(--color-text-body);
    font-size: 22px;
    margin: 0;
    line-height: 140%;
    padding-top: 40px;
    padding-bottom: 40px;
}

.hero-science__cta-wrapper {
    position: relative;
    display: inline-block;
}

.hero-science__button {
    display: inline-block;
    background-color: var(--color-btn-orange);
    color: #fff;
    text-decoration: none;
    padding: 16px 32px;
    border-radius: 50px;
    font-weight: 700;
    font-size: 1.125rem;
    transition: background-color 0.3s ease, transform 0.2s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.hero-science__button:hover {
    background-color: var(--color-btn-orange-hover);
    transform: translateY(-2px);
}

.hero-science__arrow {
    position: absolute;
    bottom: 0%;
    transform: rotate(3deg) translate(-26%, 86%);
    pointer-events: none;
    height: auto;
    z-index: 10;
    height: 108px;
}

/* Contact specific arrow adjustment if needed */
.contact-us-hero .hero-science__arrow {
    position: absolute;
    bottom: -35px;
    transform: rotate(3deg) translate(-26%, 86%); 

    @media (max-width: 1000px) {
        transform: rotate(3deg) translate(-20%, 86%);
        left: 50%;
    }
    /* Adjust these values if the specific SVG needs different placement */
}

.hero-science__image-wrapper {
    flex: 1;
    display: flex;
    justify-content: center;
    position: relative;
    max-width: 420px;
    width: 100%;
    max-height: 420px;
}

.hero-science__image-container {
    position: relative;
    z-index: 2;
    border-radius: 40px;
    border: 4px solid var(--color-text-teal);
    overflow: hidden;
    width: 100%;
    height: 420px;
    aspect-ratio: 4/3;
    -webkit-box-shadow: 12px 12px 0px 0px #196B81;
    box-shadow: 12px 12px 0px 0px #196B81;
}

.hero-science__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.hero-science__decor {
    position: absolute;
    z-index: 1;
    pointer-events: none;
}

.hero-science__decor--purple-blobs {
    top: -47px;
    left: -84px;
    transform: rotate(-5deg);
}

.hero-science__decor--orange-squiggles {
    bottom: 50px;
    right: -73px;
    max-height: 116px;
    transform: rotate(-2deg);
}

/* Responsive Design */
@media (max-width: 1000px) {
    .contact-us-hero .hero-science__description{
        padding: 0;
    }
    .hero-science{
        flex-direction: column;
        gap: 20px;
    }
    .hero-science__title.title-mobile{
        display: block;
        padding-bottom: 5px;
        text-align: center;
    }
    .hero-science__title.title-desktop{
        display: none;
    }
    .hero-science__container {
        flex-direction: column-reverse;
        align-items: center;
        gap: 60px;
    }
   .hero-science__title:after {
        transform: translateX(-50%);
        left: 50%;
    }
    .hero-science__content {
        padding-right: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .hero-science__title {
        width: max-content;
    }

    .hero-science__arrow {
        transform: rotate(3deg) translate(43%, 120%);
        height: 70px;
    }
}

@media (max-width: 1250px) {
    .hero-science__title {
        font-size: 48px;
    }
    
    .hero-science {
        padding-inline: 80px;
    }
}

@media (max-width: 768px) {
    .hero-science__title{
        width: auto;
    }
        .hero-science {
        padding-inline: 20px;
    }
}

@media (max-width: 500px) {
    .hero-science__title {
        font-size: 34px;
    }
}
