body.calima-about {
    background: #eee8de;
}

.about-main {
    width: min(100% - clamp(2rem, 4vw, 4rem), 1760px);
    margin: 0 auto;
    padding-top: clamp(7.5rem, 7vw, 8.5rem);
}

.about-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(18rem, .72fr) minmax(18rem, .58fr);
    gap: clamp(2rem, 5vw, 7rem);
    align-items: center;
    min-height: 0;
    margin-top: 0;
    padding: clamp(2rem, 3vw, 3.4rem) clamp(1.5rem, 3vw, 4rem);
    color: #eee8de;
    background: #141514;
}

.about-hero__media {
    position: relative;
    align-self: end;
    justify-self: start;
    width: min(100%, 37rem);
    aspect-ratio: auto;
    min-height: 0;
    background: transparent;
    overflow: hidden;
}

.about-hero__fallback {
    position: absolute;
    content: "";
}

.about-hero__fallback {
    inset: 0;
    background:
        linear-gradient(180deg, rgba(238, 232, 222, .06), rgba(23, 21, 18, .22)),
        url("../images/calima-hero-desktop.webp") center / cover no-repeat;
    filter: grayscale(1) contrast(1.04);
}

.about-story-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(.42rem, .65vw, .7rem);
    width: 100%;
    height: auto;
    padding: clamp(.42rem, .65vw, .7rem);
}

.about-story-grid__item {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    background: #bdb5aa;
}

.about-story-grid__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: grayscale(1) contrast(1.04);
    transition: filter 180ms ease, transform 180ms ease;
}

.about-story-grid__item span {
    display: block;
    width: 100%;
    height: 100%;
    background:
        linear-gradient(135deg, rgba(23, 21, 18, .08), rgba(23, 21, 18, .2)),
        #c8c0b5;
}

.about-story-grid__item::after {
    position: absolute;
    inset: 0;
    background: rgba(23, 21, 18, .08);
    content: "";
    opacity: 0;
    transition: opacity 180ms ease;
}

.about-story-grid__item:hover img,
.about-story-grid__item:focus-visible img {
    filter: grayscale(.7) contrast(1.06);
    transform: scale(1.025);
}

.about-story-grid__item:hover::after,
.about-story-grid__item:focus-visible::after {
    opacity: 1;
}

.about-story-grid__item:focus-visible {
    outline: 2px solid #171512;
    outline-offset: 4px;
}

.about-hero__copy {
    padding-bottom: clamp(.25rem, 1vw, 1rem);
}

.about-kicker {
    margin: 0 0 1.1rem;
    color: rgba(238, 232, 222, .62);
    font-size: .72rem;
    line-height: 1.4;
    letter-spacing: .28em;
    text-transform: uppercase;
}

.about-hero h1,
.about-content__intro p {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    letter-spacing: 0;
}

.about-hero h1 {
    margin: 0;
    font-size: clamp(4.25rem, 7.2vw, 9.5rem);
    line-height: .86;
}

.about-hero__copy > p:not(.about-kicker) {
    max-width: 30rem;
    margin: clamp(1.4rem, 2.5vw, 2rem) 0 0;
    color: rgba(238, 232, 222, .78);
    font-size: clamp(1rem, 1.16vw, 1.18rem);
    line-height: 1.55;
}

.about-content {
    display: grid;
    grid-template-columns: minmax(15rem, .46fr) minmax(0, .74fr);
    gap: clamp(2.2rem, 5vw, 7rem);
    padding: clamp(2.25rem, 4vw, 4rem) 0;
    border-top: 1px solid rgba(23, 21, 18, .14);
}

.about-content__intro p {
    position: sticky;
    top: 2rem;
    max-width: 24rem;
    margin: 0;
    font-size: clamp(2rem, 3.1vw, 4rem);
    line-height: 1.02;
}

.about-content__body {
    max-width: 54rem;
}

.about-content__body p {
    margin: 0 0 1.35rem;
    color: rgba(23, 21, 18, .84);
    font-size: clamp(1.02rem, 1.12vw, 1.18rem);
    line-height: 1.75;
}

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

.about-content__body a {
    color: inherit;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .24em;
}

.about-content__body a:hover {
    color: #5f4a32;
}

.about-links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0 0 clamp(4rem, 7vw, 7rem);
    border-top: 1px solid rgba(23, 21, 18, .14);
}

.about-links a {
    display: flex;
    min-height: clamp(8rem, 13vw, 12rem);
    padding: clamp(1.4rem, 2.8vw, 2.7rem);
    flex-direction: column;
    justify-content: space-between;
    border-left: 1px solid rgba(23, 21, 18, .14);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 3.2vw, 4rem);
    line-height: .98;
}

.about-links a:first-child {
    border-left: 0;
    padding-left: 0;
}

.about-links span {
    font-family: "Helvetica Neue", Arial, sans-serif;
    color: rgba(23, 21, 18, .48);
    font-size: .68rem;
    line-height: 1;
    letter-spacing: .22em;
}

.about-links a:hover {
    background: rgba(23, 21, 18, .035);
}

.about-contact {
    display: grid;
    grid-template-columns: minmax(15rem, .46fr) minmax(0, .74fr);
    gap: clamp(2.2rem, 5vw, 7rem);
    padding: clamp(3.5rem, 6vw, 6rem) 0 clamp(4rem, 7vw, 7rem);
    border-top: 1px solid rgba(23, 21, 18, .14);
}

.contact-main {
    min-height: 0;
}

.contact-page {
    display: grid;
    grid-template-columns: minmax(0, 24rem);
    justify-content: center;
    align-items: start;
    min-height: 0;
    padding: clamp(8rem, 13vh, 10rem) 0 clamp(3rem, 5vw, 4rem);
    border-top: 0;
}

.about-contact h2 {
    max-width: 24rem;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.8rem, 4.8vw, 6rem);
    font-weight: 400;
    line-height: .92;
    letter-spacing: 0;
}

.about-contact__copy p:not(.about-kicker) {
    max-width: 22rem;
    margin: 1.3rem 0 0;
    color: rgba(23, 21, 18, .72);
    font-size: 1rem;
    line-height: 1.58;
}

.contact-details {
    display: grid;
    width: 100%;
    max-width: 24rem;
    margin: 0 auto;
    justify-items: center;
    text-align: center;
}

.contact-details__item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 0;
    color: #171512;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 2.1vw, 2.15rem);
    line-height: 1.18;
    text-align: center;
}

.contact-details__item + .contact-details__item {
    margin-top: .65rem;
}

.contact-details a:hover {
    color: #5f4a32;
}

.contact-details__socials {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1.25rem;
}

.contact-details__social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    color: #171512;
}

.contact-details__social-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.55;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.contact-details__social-icon:hover {
    color: #5f4a32;
}

.contact-details__social-icon--whatsapp svg {
    fill: currentColor;
    stroke: none;
}

.contact-details__social-icon--whatsapp {
    width: 2.2rem;
    height: 2.2rem;
}

.contact-details__icon-dot {
    fill: currentColor;
    stroke: none;
}

.contact-details__place {
    margin: 1.05rem 0 0;
    color: rgba(23, 21, 18, .62);
    font-size: .72rem;
    line-height: 1.4;
    letter-spacing: .24em;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    body.calima-about .about-main {
        width: 100%;
        max-width: none;
        margin: 0;
        padding-top: 6.25rem;
        padding-right: 1.5rem;
        padding-left: 1.5rem;
        box-sizing: border-box;
    }

    .about-hero,
    .about-content,
    .about-contact,
    .contact-page {
        grid-template-columns: 1fr;
    }

    .about-hero {
        gap: 2rem;
        min-height: 0;
        padding-top: 4.4rem;
    }

    .about-hero__media {
        min-height: 0;
        order: 2;
    }

    .about-story-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        height: auto;
    }

    .about-hero__copy {
        order: 1;
    }

    .about-content__intro p {
        position: static;
    }

    .about-links {
        grid-template-columns: 1fr;
    }

    .about-links a,
    .about-links a:first-child {
        min-height: 6.5rem;
        padding: 1.25rem 0;
        border-left: 0;
        border-top: 1px solid rgba(23, 21, 18, .14);
    }
}

@media (max-width: 560px) {
    .about-hero h1 {
        font-size: clamp(2.85rem, 13.8vw, 3.9rem);
    }

    .about-content__intro p {
        font-size: clamp(1.65rem, 8.5vw, 2.35rem);
    }
}
