
/* ARTIGOS DE LUGARES — VIVA! COSTA DOS CORAIS */

body {
    background-color: #fff;
    background-image: url("fundo.png");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: top center;
    color: #0B4A6B;
}

/* ABERTURA */

body .hero {
    width: min(calc(100% - 40px), 820px);
    margin: 0 auto;
    padding: 42px 0 0;
}

body .hero .kicker {
    margin: 0 0 8px;
    color: #2A8CAB;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
}

body .hero h1 {
    margin: 0 0 12px;
    color: #0B4A6B;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(34px, 3.5vw, 48px) !important;
    font-weight: 500;
    line-height: 1.12;
}

body .hero .location {
    margin: 0 0 16px;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .72;
}

body .hero .dek {
    max-width: 760px;
    margin: 18px 0 0;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* IMAGENS EM AQUARELA */

.hero-image,
.story-image,
.lateral-image {
    overflow: visible;
    background: transparent;
    border: none;
    box-shadow: none;
}

.hero-image {
    width: min(calc(100% - 24px), 910px);
    margin: 15px auto;
}

.hero-image img,
.story-image img,
.lateral-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;

    -webkit-mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            rgba(0,0,0,.65) 2%,
            #000 5%,
            #000 95%,
            rgba(0,0,0,.65) 98%,
            transparent 100%
        ),
        linear-gradient(
            to bottom,
            transparent 0%,
            rgba(0,0,0,.65) 2%,
            #000 5%,
            #000 95%,
            rgba(0,0,0,.65) 98%,
            transparent 100%
        );

    -webkit-mask-composite: source-in;

    mask-image:
        linear-gradient(
            to right,
            transparent 0%,
            #000 5%,
            #000 95%,
            transparent 100%
        ),
        linear-gradient(
            to bottom,
            transparent 0%,
            #000 5%,
            #000 95%,
            transparent 100%
        );

    mask-composite: intersect;
}

/* TEXTO */

body .article {
    width: min(calc(100% - 40px), 820px);
    margin: 0 auto;
    padding: 0;
}

.article p,
.lateral-copy p {
    font-family: "Crimson Pro", Georgia, serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.62;
    letter-spacing: 0;
    text-align: justify;
    text-justify: inter-word;
    hyphens: none;
    overflow-wrap: break-word;
}

.article p a {
    color: #2A8CAB;
    text-underline-offset: 3px;
}

.article strong {
    font-weight: 600;
}

.article h2,
.lateral-copy h2 {
    margin: 0 0 10px;
    color: #0B4A6B;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(28px, 2.8vw, 38px);
    font-weight: 500;
    line-height: 1.16;
}

.article h3 {
    margin: 12px 0 8px;
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 29px;
}

.article .divider {
    width: 58px;
    height: 1px;
    margin: 12px 0 10px;
    background: #FF8A5B;
    border: none;
}

/* IMAGENS ADICIONAIS */

.story-image {
    width: min(calc(100vw - 24px), 700px);
    margin: 10px auto;
}

.lateral-block {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 10px;
    margin: 10px 0 14px;
}

/* FINAL DOS ARTIGOS */

.category-return {
    margin-top: 25px;
    padding-top: 16px;
    border-top: 1px solid rgba(11,74,107,.14);
}

.category-return .phrase {
    margin: 0 0 14px;
    font-family: "Crimson Pro", Georgia, serif;
    font-size: 24px;
    line-height: 1.6;
    text-align: left;
}

.category-return a,
.next a {
    color: #2A8CAB;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .1em;
    text-decoration: none;
    text-transform: uppercase;
}

.next {
    margin: 20px 0 38px;
    padding: 22px;
    background: transparent;
    border: 1px solid rgba(11,74,107,.12);
    border-radius: 18px;
}

.next-label {
    color: #6A9E7F;
    font-family: "Montserrat", Arial, sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.next h2 {
    margin: 6px 0 8px;
    font-size: 34px;
}

.next p {
    margin: 0 0 12px;
    font-size: 24px;
    line-height: 1.6;
    text-align: left;
}

/* CELULAR */

@media (max-width: 699px) {
    body {
        background-size: cover;
        background-attachment: fixed;
    }

    body .hero {
        width: calc(100% - 30px);
        padding-top: 24px;
    }

    body .hero h1 {
        font-size: 36px !important;
    }

    body .hero .kicker,
    body .hero .location,
    body .hero .dek {
        font-size: 15px;
    }

    .hero-image {
        width: calc(100% - 10px);
        margin-top: 0;
    }

    body .article {
        width: calc(100% - 30px);
    }

    .article p,
    .lateral-copy p,
    .category-return .phrase,
    .next p {
        font-size: 20px;
        line-height: 1.6;
    }

    .article h2,
    .lateral-copy h2 {
        font-size: 29px;
    }

    .story-image {
        width: min(calc(100vw - 24px), 700px);
    }
}

@media (min-width: 820px) {
    .lateral-block {
        grid-template-columns: minmax(0,1.08fr) minmax(300px,.92fr);
        gap: 28px;
    }
}
