/* ==========================================================
   CONTACT PAGE
========================================================== */

.contact-page {
    background: #fffdf9;
}


/* ==========================================================
   CONTACT HERO
========================================================== */

.contact-hero {
    position: relative;

    margin-top: 50px;

    padding:
        55px
        0
        45px;

    overflow: hidden;

    background:
        linear-gradient(
            90deg,
            #fffdf9 0%,
            #fffdf9 44%,
            #faf7ef 100%
        );
}


/* ==========================================================
   LAYOUT
========================================================== */

.contact-hero__layout {
    display: grid;

    grid-template-columns:
        minmax(330px, .78fr)
        minmax(620px, 1.42fr);

    gap: 48px;

    align-items: center;
}


/* ==========================================================
   LEFT CONTENT
========================================================== */

.contact-hero__content {
    max-width: 430px;
}


/* ==========================================================
   EYEBROW
========================================================== */

.contact-hero__eyebrow {
    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 14px;

    color: #1b4b3d;

    font-size: 10px;

    font-weight: 700;

    letter-spacing: .11em;

    text-transform: uppercase;
}


.contact-hero__leaf {
    color: #738b7c;

    font-size: 14px;
}


/* ==========================================================
   TITLE
========================================================== */

.contact-hero__title {
    margin: 0;

    color: #17211d;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 50px;

    font-weight: 400;

    line-height: 1.05;

    letter-spacing: -.035em;
}


.contact-hero__title span {
    display: block;
}


.contact-hero__title em {
    display: block;

    color: #17483b;

    font-weight: 400;

    font-style: italic;
}


/* ==========================================================
   DIVIDER
========================================================== */

.contact-hero__divider {
    display: block;

    width: 60px;
    height: 1px;

    margin:
        20px
        0
        18px;

    background: #c99c43;
}


/* ==========================================================
   TEXT
========================================================== */

.contact-hero__text {
    max-width: 390px;

    margin: 0;

    color: #53615b;

    font-size: 11px;

    line-height: 1.7;
}


/* ==========================================================
   HANDWRITTEN LINE
========================================================== */

.contact-hero__script {
    max-width: 360px;

    margin:
        24px
        0
        0;

    color: #214a3e;

    font-family:
        "Brush Script MT",
        "Segoe Script",
        cursive;

    font-size: 24px;

    font-style: italic;

    line-height: 1.35;
}


/* ==========================================================
   RIGHT VISUAL
========================================================== */

.contact-hero__visual {
    position: relative;

    min-height: 390px;
}


/* ==========================================================
   IMAGE
========================================================== */

.contact-hero__image-placeholder {
    width: 100%;
    height: 390px;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #c2cdb9,
            #7f947c
        );

    border-radius:
        42%
        8px
        8px
        42%;

    box-shadow:
        0
        18px
        40px
        rgba(12,59,46,.08);
}


.contact-hero__image-placeholder span {
    padding:
        7px
        10px;

    color: #ffffff;

    background: rgba(12,59,46,.60);

    border-radius: 999px;

    font-size: 8px;
}


/* ==========================================================
   QUOTE CARD
========================================================== */

.contact-hero__quote {
    position: absolute;

    right: 15px;
    bottom: -22px;

    width: 245px;

    min-height: 175px;

    margin: 0;

    padding:
        26px
        24px
        22px;

    overflow: hidden;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #17483b,
            #0f382f
        );

    border-radius: 12px;

    box-shadow:
        0
        16px
        30px
        rgba(12,59,46,.14);
}


.contact-hero__quote-mark {
    display: block;

    margin-bottom: 8px;

    color: #d3aa55;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 38px;

    font-weight: 700;

    line-height: .8;
}


.contact-hero__quote p {
    max-width: 170px;

    margin: 0;

    color: rgba(255,255,255,.92);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 15px;

    font-weight: 400;

    line-height: 1.45;
}


.contact-hero__quote-leaf {
    position: absolute;

    right: 8px;
    bottom: -6px;

    color: rgba(218,177,85,.30);

    font-size: 78px;

    transform:
        rotate(-28deg);
}

/* ==========================================================
   CONTACT — FORM + CONNECT
========================================================== */

.contact-main {
    position: relative;

    padding:
        28px
        0
        42px;

    background: #fffdf9;
}


/* ==========================================================
   TWO COLUMN LAYOUT
========================================================== */

.contact-main__layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(320px, .75fr);

    gap: 42px;

    align-items: start;
}


/* ==========================================================
   SHARED HEADING
========================================================== */

.contact-main__heading {
    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 20px;
}


.contact-main__heading h2 {
    margin: 0;

    color: #203f35;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 25px;

    font-weight: 400;

    line-height: 1.2;
}


.contact-main__heading span {
    color: #6d8878;

    font-size: 13px;
}


/* ==========================================================
   FORM CARD
========================================================== */

.contact-form-card {
    padding:
        28px
        30px
        30px;

    background:
        linear-gradient(
            135deg,
            #f7f3e9,
            #fbf9f4
        );

    border:
        1px solid rgba(12,59,46,.07);

    border-radius: 12px;
}


/* ==========================================================
   FORM
========================================================== */

.contact-form {
    display: grid;

    gap: 14px;
}


.contact-form__row {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 14px;
}


.contact-form__field {
    min-width: 0;
}


.contact-form input,
.contact-form textarea {
    width: 100%;

    display: block;

    padding:
        13px
        14px;

    color: #33483f;

    background: rgba(255,255,255,.72);

    border:
        1px solid rgba(12,59,46,.12);

    border-radius: 6px;

    font: inherit;

    font-size: 10px;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;
}


.contact-form textarea {
    min-height: 150px;

    resize: vertical;
}


.contact-form input::placeholder,
.contact-form textarea::placeholder {
    color: #717b76;
}


.contact-form input:focus,
.contact-form textarea:focus {
    background: #ffffff;

    border-color: #2b6553;

    box-shadow:
        0 0 0 3px rgba(43,101,83,.08);
}


/* ==========================================================
   SUBMIT BUTTON
========================================================== */

.contact-form__button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    width: fit-content;

    margin-top: 4px;

    padding:
        10px
        16px;

    color: #ffffff;

    background: #10483a;

    border: 0;

    border-radius: 5px;

    font-family: inherit;

    font-size: 9px;

    font-weight: 700;

    cursor: pointer;

    transition:
        background-color .2s ease,
        transform .2s ease;
}


.contact-form__button:hover {
    background: #0c382e;

    transform: translateY(-2px);
}


/* ==========================================================
   CONNECT COLUMN
========================================================== */

.contact-connect {
    padding-top: 3px;
}


.contact-connect__list {
    display: grid;
}


/* ==========================================================
   CONTACT ITEM
========================================================== */

.contact-connect__item {
    display: grid;

    grid-template-columns:
        48px
        minmax(0, 1fr);

    gap: 15px;

    align-items: start;

    padding:
        17px
        0;

    border-bottom:
        1px solid rgba(12,59,46,.10);
}


.contact-connect__item:first-child {
    padding-top: 3px;
}


.contact-connect__item:last-child {
    border-bottom: 0;
}


/* ==========================================================
   ICON
========================================================== */

.contact-connect__icon {
    width: 44px;
    height: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: #255847;

    background: #e8ede4;

    border-radius: 50%;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 20px;
}


/* ==========================================================
   TYPOGRAPHY
========================================================== */

.contact-connect__item h3 {
    margin:
        0
        0
        5px;

    color: #223d34;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 16px;

    font-weight: 400;
}


.contact-connect__item p,
.contact-connect__item > div > span,
.contact-connect__item a {
    margin: 0;

    color: #53615b;

    font-size: 9px;

    line-height: 1.5;
}


.contact-connect__item a {
    display: inline-block;

    color: #1b4e3f;

    text-decoration: none;
}


.contact-connect__item a:hover {
    color: #a7782a;
}


/* ==========================================================
   BOOK LINK
========================================================== */

.contact-connect__book-link {
    display: inline-flex !important;

    align-items: center;

    gap: 7px;

    margin-top: 5px !important;

    font-weight: 700;
}

/* ==========================================================
   CONTACT — TOPICS
========================================================== */

.contact-topics {
    position: relative;

    padding:
        8px
        0
        34px;

    background: #fffdf9;
}


/* ==========================================================
   HEADING
========================================================== */

.contact-topics__heading {
    display: flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-bottom: 20px;
}


.contact-topics__heading h2 {
    margin: 0;

    color: #21473b;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 21px;

    font-weight: 400;

    line-height: 1.2;
}


.contact-topics__line {
    width: 30px;
    height: 1px;

    background: #caa04e;
}


.contact-topics__leaf {
    color: #718979;

    font-size: 13px;
}


/* ==========================================================
   GRID
========================================================== */

.contact-topics__grid {
    display: grid;

    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 10px;
}


/* ==========================================================
   CARD
========================================================== */

.contact-topics__card {
    position: relative;

    min-width: 0;

    min-height: 190px;

    display: flex;

    flex-direction: column;

    align-items: center;

    padding:
        20px
        16px
        16px;

    text-align: center;

    background:
        linear-gradient(
            180deg,
            #f8f4eb,
            #fbf9f4
        );

    border:
        1px solid rgba(12,59,46,.07);

    border-radius: 9px;
}


/* ==========================================================
   ICON
========================================================== */

.contact-topics__icon {
    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 13px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #315c4d,
            #1d473a
        );

    border-radius: 50%;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 19px;

    box-shadow:
        0
        6px
        14px
        rgba(12,59,46,.08);
}


/* ==========================================================
   TITLE
========================================================== */

.contact-topics__card h3 {
    margin:
        0
        0
        8px;

    color: #243f36;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 16px;

    font-weight: 400;

    line-height: 1.25;
}


/* ==========================================================
   DESCRIPTION
========================================================== */

.contact-topics__card p {
    margin: 0;

    color: #59665f;

    font-size: 8px;

    line-height: 1.55;
}


/* ==========================================================
   SMALL GOLD LINE
========================================================== */

.contact-topics__card-line {
    width: 28px;
    height: 1px;

    margin-top: auto;

    background: #d1a24c;
}

/* ==========================================================
   CONTACT — STAY CONNECTED NEWSLETTER
========================================================== */

.contact-newsletter {
    position: relative;

    padding:
        0
        0
        52px;

    background: #fffdf9;
}


/* ==========================================================
   PANEL
========================================================== */

.contact-newsletter__panel {
    position: relative;

    min-height: 245px;

    display: grid;

    grid-template-columns:
        minmax(340px, .9fr)
        minmax(480px, 1.1fr);

    overflow: hidden;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #17483b 0%,
            #123b31 55%,
            #0d3028 100%
        );

    border-radius: 12px;

    box-shadow:
        0
        14px
        30px
        rgba(12,59,46,.09);
}


/* ==========================================================
   LEFT CONTENT
========================================================== */

.contact-newsletter__content {
    position: relative;

    z-index: 3;

    align-self: center;

    max-width: 450px;

    padding:
        36px
        38px;
}


/* ==========================================================
   HEADING
========================================================== */

.contact-newsletter__heading {
    display: flex;

    align-items: center;

    gap: 8px;
}


.contact-newsletter__heading h2 {
    margin: 0;

    color: #fffaf0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 28px;

    font-weight: 400;

    line-height: 1.15;
}


.contact-newsletter__heading span {
    color: #d5b364;

    font-size: 14px;
}


/* ==========================================================
   TEXT
========================================================== */

.contact-newsletter__text {
    max-width: 360px;

    margin:
        12px
        0
        0;

    color: rgba(255,255,255,.75);

    font-size: 10px;

    line-height: 1.6;
}


/* ==========================================================
   FORM
========================================================== */

.contact-newsletter__form {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap: 8px;

    max-width: 390px;

    margin-top: 18px;
}


.contact-newsletter__form input {
    min-width: 0;

    padding:
        11px
        13px;

    color: #ffffff;

    background: rgba(255,255,255,.10);

    border:
        1px solid rgba(255,255,255,.24);

    border-radius: 5px;

    font: inherit;

    font-size: 9px;

    outline: none;
}


.contact-newsletter__form input::placeholder {
    color: rgba(255,255,255,.60);
}


.contact-newsletter__form input:focus {
    border-color: #e2bd69;

    box-shadow:
        0
        0
        0
        3px
        rgba(226,189,105,.08);
}


/* ==========================================================
   BUTTON
========================================================== */

.contact-newsletter__button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 7px;

    padding:
        10px
        14px;

    color: #173d31;

    background: #e4ba60;

    border: 0;

    border-radius: 5px;

    font-family: inherit;

    font-size: 9px;

    font-weight: 700;

    cursor: pointer;

    transition:
        background-color .2s ease,
        transform .2s ease;
}


.contact-newsletter__button:hover {
    background: #efd18c;

    transform: translateY(-1px);
}


/* ==========================================================
   NOTE
========================================================== */

.contact-newsletter__note {
    margin:
        9px
        0
        0;

    color: rgba(255,255,255,.52);

    font-size: 7px;
}


/* ==========================================================
   RIGHT VISUAL
========================================================== */

.contact-newsletter__visual {
    position: relative;

    min-height: 245px;
}


/* ==========================================================
   IMAGE PLACEHOLDER
========================================================== */

.contact-newsletter__image-placeholder {
    position: absolute;

    inset: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            #68816d,
            #365d49
        );

    border-radius:
        90px
        0
        0
        90px;
}


.contact-newsletter__image-placeholder span {
    padding:
        6px
        9px;

    background:
        rgba(12,59,46,.60);

    border-radius: 999px;

    font-size: 7px;
}


/* ==========================================================
   DECORATIVE LEAF
========================================================== */

.contact-newsletter__decor {
    position: absolute;

    left: -22px;
    bottom: -20px;

    z-index: 2;

    color: rgba(218,177,85,.26);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 120px;

    line-height: 1;

    transform: rotate(20deg);

    pointer-events: none;
}


/* ==========================================================
   FOOTER SPACE
========================================================== */

.contact-page + .site-footer {
    margin-top: 28px;
}


/* ==========================================================
   CONTACT PAGE — RESPONSIVE
   Paste at the END of contact.css
========================================================== */


/* ==========================================================
   SMALL LAPTOP / LARGE TABLET — 1200px
========================================================== */

@media (max-width: 1200px) {

    /* HERO */

    .contact-hero__layout {
        grid-template-columns:
            minmax(300px, .8fr)
            minmax(0, 1.2fr);

        gap: 35px;
    }

    .contact-hero__title {
        font-size: 44px;
    }

    .contact-hero__visual,
    .contact-hero__image-placeholder {
        min-height: 370px;
        height: 370px;
    }


    /* FORM */

    .contact-main__layout {
        grid-template-columns:
            minmax(0, 1.15fr)
            minmax(280px, .85fr);

        gap: 32px;
    }


    /* TOPICS */

    .contact-topics__card {
        padding:
            20px
            12px
            16px;
    }


    /* NEWSLETTER */

    .contact-newsletter__panel {
        grid-template-columns:
            minmax(320px, .9fr)
            minmax(0, 1.1fr);
    }
}


/* ==========================================================
   TABLET — 992px
========================================================== */

@media (max-width: 992px) {

    /* ======================================================
       HERO
    ====================================================== */

    .contact-hero {
        margin-top: 35px;

        padding:
            45px
            0
            55px;
    }

    .contact-hero__layout {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .contact-hero__content {
        max-width: 620px;
    }

    .contact-hero__title {
        font-size: 46px;
    }

    .contact-hero__text {
        max-width: 520px;

        font-size: 12px;
    }

    .contact-hero__visual {
        min-height: 360px;
    }

    .contact-hero__image-placeholder {
        height: 360px;

        border-radius:
            100px
            8px
            8px
            8px;
    }

    .contact-hero__quote {
        right: 25px;
        bottom: -28px;

        width: 240px;
    }


    /* ======================================================
       FORM + CONNECT
    ====================================================== */

    .contact-main {
        padding-top: 40px;
    }

    .contact-main__layout {
        grid-template-columns:
            minmax(0, 1.1fr)
            minmax(260px, .9fr);

        gap: 28px;
    }

    .contact-form-card {
        padding:
            25px
            24px
            26px;
    }

    .contact-main__heading h2 {
        font-size: 23px;
    }


    /* ======================================================
       TOPICS
    ====================================================== */

    .contact-topics__grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));

        gap: 12px;
    }

    .contact-topics__card {
        min-height: 175px;
    }


    /* ======================================================
       NEWSLETTER
    ====================================================== */

    .contact-newsletter__panel {
        grid-template-columns:
            minmax(300px, .95fr)
            minmax(0, 1.05fr);
    }

    .contact-newsletter__content {
        padding:
            32px
            28px;
    }

    .contact-newsletter__heading h2 {
        font-size: 26px;
    }
}


/* ==========================================================
   MOBILE — 767px
========================================================== */

@media (max-width: 767px) {

    /* ======================================================
       HERO
    ====================================================== */

    .contact-hero {
        margin-top: 20px;

        padding:
            34px
            0
            58px;
    }

    .contact-hero__layout {
        grid-template-columns: 1fr;

        gap: 26px;
    }

    .contact-hero__content {
        max-width: 100%;
    }

    .contact-hero__eyebrow {
        font-size: 9px;
    }

    .contact-hero__title {
        font-size: clamp(35px, 10vw, 43px);

        line-height: 1.07;
    }

    .contact-hero__divider {
        margin:
            17px
            0
            15px;
    }

    .contact-hero__text {
        max-width: 100%;

        font-size: 12px;

        line-height: 1.65;
    }

    .contact-hero__script {
        max-width: 320px;

        margin-top: 19px;

        font-size: 21px;
    }

    .contact-hero__visual {
        min-height: 310px;
    }

    .contact-hero__image-placeholder {
        height: 280px;

        border-radius:
            65px
            7px
            7px
            7px;
    }

    .contact-hero__quote {
        right: 14px;
        bottom: 0;

        width: min(230px, 75%);

        min-height: 145px;

        padding:
            21px
            20px;
    }

    .contact-hero__quote-mark {
        font-size: 32px;
    }

    .contact-hero__quote p {
        font-size: 13px;
    }

    .contact-hero__quote-leaf {
        font-size: 60px;
    }


    /* ======================================================
       FORM + CONNECT
    ====================================================== */

    .contact-main {
        padding:
            30px
            0
            38px;
    }

    .contact-main__layout {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .contact-main__heading {
        margin-bottom: 17px;
    }

    .contact-main__heading h2 {
        font-size: 23px;
    }

    .contact-form-card {
        padding:
            24px
            20px
            24px;
    }

    .contact-form__row {
        grid-template-columns: 1fr;

        gap: 14px;
    }

    .contact-form input,
    .contact-form textarea {
        padding:
            13px
            13px;

        font-size: 11px;
    }

    .contact-form textarea {
        min-height: 140px;
    }

    .contact-form__button {
        padding:
            11px
            17px;

        font-size: 10px;
    }


    /* CONNECT */

    .contact-connect {
        padding-top: 0;
    }

    .contact-connect__item {
        grid-template-columns:
            48px
            minmax(0, 1fr);

        padding:
            15px
            0;
    }

    .contact-connect__item h3 {
        font-size: 16px;
    }

    .contact-connect__item p,
    .contact-connect__item > div > span,
    .contact-connect__item a {
        font-size: 10px;
    }


    /* ======================================================
       TOPICS
    ====================================================== */

    .contact-topics {
        padding:
            5px
            0
            32px;
    }

    .contact-topics__heading {
        margin-bottom: 18px;
    }

    .contact-topics__heading h2 {
        font-size: 20px;

        text-align: center;
    }

    .contact-topics__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 10px;
    }

    .contact-topics__card {
        min-height: 180px;

        padding:
            20px
            14px
            16px;
    }

    .contact-topics__icon {
        width: 46px;
        height: 46px;
    }

    .contact-topics__card h3 {
        font-size: 16px;
    }

    .contact-topics__card p {
        font-size: 9px;
    }

    .contact-topics__card:last-child {
        grid-column: 1 / -1;

        width: calc(50% - 5px);

        justify-self: center;
    }


    /* ======================================================
       NEWSLETTER
    ====================================================== */

    .contact-newsletter {
        padding-bottom: 60px;
    }

    .contact-newsletter__panel {
        grid-template-columns: 1fr;

        min-height: 0;
    }

    .contact-newsletter__content {
        max-width: 100%;

        padding:
            32px
            24px
            28px;
    }

    .contact-newsletter__heading h2 {
        font-size: 26px;
    }

    .contact-newsletter__text {
        max-width: 420px;

        font-size: 10px;
    }

    .contact-newsletter__form {
        max-width: 450px;
    }

    .contact-newsletter__form input {
        font-size: 10px;
    }

    .contact-newsletter__button {
        font-size: 10px;
    }

    .contact-newsletter__visual {
        min-height: 220px;
    }

    .contact-newsletter__image-placeholder {
        border-radius:
            70px
            70px
            0
            0;
    }

    .contact-newsletter__decor {
        font-size: 90px;
    }

    .contact-page + .site-footer {
        margin-top: 24px;
    }
}


/* ==========================================================
   SMALL MOBILE — 480px
========================================================== */

@media (max-width: 480px) {

    /* ======================================================
       HERO
    ====================================================== */

    .contact-hero {
        padding-top: 28px;
    }

    .contact-hero__title {
        font-size: 35px;
    }

    .contact-hero__script {
        font-size: 19px;
    }

    .contact-hero__visual {
        min-height: 290px;
    }

    .contact-hero__image-placeholder {
        height: 245px;

        border-radius:
            50px
            6px
            6px
            6px;
    }

    .contact-hero__quote {
        right: 10px;

        width: 205px;

        min-height: 135px;

        padding:
            19px
            17px;
    }

    .contact-hero__quote p {
        font-size: 12px;
    }


    /* ======================================================
       FORM
    ====================================================== */

    .contact-form-card {
        padding:
            22px
            16px;
    }

    .contact-main__heading h2 {
        font-size: 21px;
    }

    .contact-form__button {
        width: 100%;
    }


    /* ======================================================
       CONNECT
    ====================================================== */

    .contact-connect__item {
        grid-template-columns:
            43px
            minmax(0, 1fr);

        gap: 12px;
    }

    .contact-connect__icon {
        width: 40px;
        height: 40px;

        font-size: 17px;
    }


    /* ======================================================
       TOPICS
    ====================================================== */

    .contact-topics__heading {
        gap: 6px;
    }

    .contact-topics__heading h2 {
        font-size: 18px;
    }

    .contact-topics__line {
        width: 20px;
    }

    .contact-topics__grid {
        grid-template-columns: 1fr;
    }

    .contact-topics__card,
    .contact-topics__card:last-child {
        grid-column: auto;

        width: 100%;

        min-height: 155px;
    }

    .contact-topics__card p {
        max-width: 280px;

        font-size: 9px;
    }


    /* ======================================================
       NEWSLETTER
    ====================================================== */

    .contact-newsletter {
        padding-bottom: 55px;
    }

    .contact-newsletter__content {
        padding:
            28px
            18px
            25px;
    }

    .contact-newsletter__heading h2 {
        font-size: 24px;
    }

    .contact-newsletter__form {
        grid-template-columns: 1fr;

        gap: 9px;
    }

    .contact-newsletter__form input {
        width: 100%;

        padding:
            12px
            13px;
    }

    .contact-newsletter__button {
        width: 100%;

        padding:
            11px
            14px;
    }

    .contact-newsletter__visual {
        min-height: 190px;
    }

    .contact-newsletter__image-placeholder {
        border-radius:
            50px
            50px
            0
            0;
    }
}


/* ==========================================================
   VERY SMALL MOBILE — 360px
========================================================== */

@media (max-width: 360px) {

    .contact-hero__title {
        font-size: 32px;
    }

    .contact-hero__quote {
        width: 190px;
    }

    .contact-newsletter__heading h2 {
        font-size: 22px;
    }
}