/* ==========================================================
   EMPOWER HER — SPEAKING REQUEST
   File: speaking-request.css
========================================================== */

:root {
    --eh-speak-pink: #df1462;
    --eh-speak-hot-pink: #ee2a74;
    --eh-speak-deep: #8f083c;
    --eh-speak-blush: #f9dce6;
    --eh-speak-pale: #fff2f6;
    --eh-speak-cream: #fffaf7;
    --eh-speak-white: #ffffff;
    --eh-speak-black: #171215;
    --eh-speak-gray: #6d6569;
    --eh-speak-gold: #d5a13e;

    --eh-speak-shadow:
        0 28px 70px rgba(70, 32, 45, 0.11);
}


/* ==========================================================
   BASE
========================================================== */

.eh-speaking-page,
.eh-speaking-page * {
    box-sizing: border-box;
}

.eh-speaking-page {
    width: 100%;
    overflow: hidden;

    background:
        linear-gradient(
            180deg,
            #fffaf7 0%,
            #fffefd 45%,
            #fff9f7 100%
        );

    color: var(--eh-speak-black);
}

.eh-speaking-container {
    position: relative;
    z-index: 5;

    width: min(1180px, calc(100% - 48px));

    margin: 0 auto;
}


/* ==========================================================
   HERO
========================================================== */

.eh-speaking-hero {
    position: relative;

    min-height: 720px;

    display: flex;
    align-items: center;

    padding:
        105px 0
        120px;

    text-align: center;

    overflow: hidden;
}


/* left watercolor */

.eh-speaking-hero::before {
    content: "";

    position: absolute;

    width: 680px;
    height: 670px;

    left: -300px;
    top: -120px;

    background:
        radial-gradient(
            ellipse at center,
            rgba(238, 61, 126, .43),
            rgba(247, 138, 177, .26) 40%,
            rgba(255, 210, 224, .16) 65%,
            transparent 76%
        );

    transform: rotate(-15deg);

    filter: blur(3px);
}


/* right watercolor */

.eh-speaking-hero::after {
    content: "";

    position: absolute;

    width: 590px;
    height: 590px;

    right: -250px;
    bottom: -210px;

    background:
        radial-gradient(
            ellipse,
            rgba(236, 89, 142, .29),
            rgba(249, 175, 201, .16) 52%,
            transparent 72%
        );

    transform: rotate(15deg);
}

.eh-speaking-gold-speckles {
    position: absolute;

    left: 2%;
    top: 18%;

    width: 350px;
    height: 300px;

    opacity: .55;

    background-image:
        radial-gradient(
            circle,
            var(--eh-speak-gold) 1.4px,
            transparent 2px
        );

    background-size:
        31px 36px;

    transform: rotate(-14deg);
}


/* ==========================================================
   HERO TYPOGRAPHY
========================================================== */

.eh-speaking-eyebrow {
    font-size: 14px;
    font-weight: 800;

    letter-spacing: .42em;

    color: var(--eh-speak-pink);
}

.eh-speaking-divider {
    width: 300px;

    margin:
        18px auto
        32px;

    display: flex;
    align-items: center;

    gap: 16px;
}

.eh-speaking-divider > span:not(.eh-speaking-heart) {
    flex: 1;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--eh-speak-gold)
        );
}

.eh-speaking-divider > span:last-child {
    background:
        linear-gradient(
            90deg,
            var(--eh-speak-gold),
            transparent
        );
}

.eh-speaking-heart {
    color: var(--eh-speak-gold);

    font-size: 26px;
}

.eh-speaking-hero h1 {
    margin: 0;
}

.eh-speaking-title-small {
    display: block;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(52px, 7vw, 92px);

    font-weight: 500;

    letter-spacing: .06em;

    line-height: .95;
}

.eh-speaking-title-script {
    position: relative;

    display: inline-block;

    margin-top: -4px;

    font-family:
        "Brush Script MT",
        "Segoe Script",
        cursive;

    font-size: clamp(100px, 13vw, 175px);

    font-weight: 400;

    line-height: .85;

    color: var(--eh-speak-pink);

    transform: rotate(-2deg);
}

.eh-speaking-title-script::after {
    content: "";

    position: absolute;

    left: 12%;
    right: 5%;
    bottom: -11px;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--eh-speak-gold) 20%,
            var(--eh-speak-gold) 80%,
            transparent
        );

    transform: rotate(-2deg);
}

.eh-speaking-intro {
    width: min(700px, 100%);

    margin:
        55px auto
        0;

    font-size: 19px;

    line-height: 1.75;

    color: #292326;
}


/* ==========================================================
   HERO BUTTON
========================================================== */

.eh-speaking-hero-button {
    display: inline-flex;

    align-items: center;

    gap: 18px;

    margin-top: 34px;

    padding:
        17px
        28px;

    border-radius: 4px;

    background:
        linear-gradient(
            90deg,
            #cc1253,
            var(--eh-speak-hot-pink)
        );

    color: #fff;

    text-decoration: none;

    font-size: 13px;
    font-weight: 800;

    letter-spacing: .17em;

    box-shadow:
        0 13px 30px rgba(220, 20, 96, .18);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.eh-speaking-hero-button:hover {
    transform: translateY(-3px);

    box-shadow:
        0 18px 38px rgba(220, 20, 96, .25);

    color: #fff;
}

.eh-speaking-hero-button span {
    color: #f5c65f;

    font-size: 20px;
}


/* ==========================================================
   WELCOME
========================================================== */

.eh-speaking-welcome {
    padding:
        110px 0;

    background:
        rgba(255, 255, 255, .65);
}

.eh-speaking-welcome-grid {
    display: grid;

    grid-template-columns:
        .8fr 1.2fr;

    gap: 100px;

    align-items: center;
}

.eh-speaking-script-heading {
    display: block;

    font-family:
        "Brush Script MT",
        "Segoe Script",
        cursive;

    font-size: 52px;

    line-height: .9;

    color: var(--eh-speak-pink);
}

.eh-speaking-welcome-heading h2 {
    margin:
        13px 0
        0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 52px;

    font-weight: 500;

    line-height: 1.08;

    letter-spacing: .05em;
}

.eh-speaking-welcome-copy {
    padding-left: 45px;

    border-left:
        1px solid rgba(222, 20, 98, .22);
}

.eh-speaking-welcome-copy p {
    margin:
        0 0
        21px;

    font-size: 17px;

    line-height: 1.75;

    color: #484144;
}

.eh-speaking-welcome-copy p:last-child {
    margin-bottom: 0;
}

.eh-speaking-welcome-copy .eh-speaking-lead {
    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 23px;

    line-height: 1.55;

    color: #201a1d;
}


/* ==========================================================
   TOPICS
========================================================== */

.eh-speaking-topics {
    position: relative;

    padding:
        115px 0
        125px;

    background:
        linear-gradient(
            180deg,
            #fff8fa,
            #fffdfc
        );
}

.eh-speaking-section-title {
    margin-bottom: 55px;

    text-align: center;
}

.eh-speaking-section-title > span {
    display: block;

    margin-bottom: 14px;

    color: var(--eh-speak-pink);

    font-size: 13px;
    font-weight: 800;

    letter-spacing: .33em;
}

.eh-speaking-section-title h2 {
    margin: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(40px, 5vw, 63px);

    font-weight: 400;

    line-height: 1.1;
}

.eh-speaking-section-title h2 em {
    color: var(--eh-speak-pink);

    font-family:
        "Brush Script MT",
        "Segoe Script",
        cursive;

    font-size: 1.25em;

    font-style: normal;
}


/* ==========================================================
   TOPIC CARDS
========================================================== */

.eh-speaking-topic-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 22px;
}

.eh-topic-card {
    position: relative;

    min-height: 310px;

    padding:
        35px
        26px;

    border:
        1px solid rgba(224, 36, 107, .11);

    border-radius: 20px;

    background:
        rgba(255, 255, 255, .84);

    box-shadow:
        0 18px 45px rgba(64, 30, 42, .07);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.eh-topic-card:hover {
    transform: translateY(-7px);

    box-shadow:
        0 24px 55px rgba(64, 30, 42, .12);
}

.eh-topic-number {
    position: absolute;

    right: 22px;
    top: 20px;

    font-family:
        Georgia,
        serif;

    font-size: 37px;

    color: rgba(224, 20, 98, .11);
}

.eh-topic-icon {
    width: 58px;
    height: 58px;

    margin-bottom: 28px;

    display: flex;
    justify-content: center;
    align-items: center;

    border-radius:
        46% 54% 56% 44% / 47% 44% 56% 53%;

    background:
        linear-gradient(
            145deg,
            #ef6b9d,
            #d91761
        );

    color: #fff;

    font-size: 25px;

    box-shadow:
        0 10px 22px rgba(215, 23, 97, .16);

    transform: rotate(-4deg);
}

.eh-topic-card h3 {
    margin:
        0 0
        13px;

    font-size: 15px;
    font-weight: 800;

    letter-spacing: .13em;
}

.eh-topic-card p {
    margin: 0;

    font-size: 15px;

    line-height: 1.65;

    color: #565054;
}


/* ==========================================================
   FORM SECTION
========================================================== */

.eh-speaking-form-section {
    position: relative;

    padding:
        115px 0
        130px;

    overflow: hidden;
}

.eh-form-watercolor-one {
    position: absolute;

    width: 570px;
    height: 570px;

    left: -280px;
    top: 150px;

    background:
        radial-gradient(
            ellipse,
            rgba(238, 72, 132, .24),
            rgba(250, 171, 200, .13) 50%,
            transparent 72%
        );

    transform: rotate(-15deg);
}

.eh-form-watercolor-two {
    position: absolute;

    width: 500px;
    height: 500px;

    right: -250px;
    bottom: 100px;

    background:
        radial-gradient(
            ellipse,
            rgba(239, 89, 142, .20),
            rgba(252, 189, 211, .10) 52%,
            transparent 72%
        );
}


/* ==========================================================
   FORM INTRO
========================================================== */

.eh-speaking-form-intro {
    width: min(650px, 100%);

    margin:
        0 auto
        48px;

    text-align: center;
}

.eh-speaking-form-intro h2 {
    margin:
        8px 0
        18px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 48px;

    font-weight: 500;

    letter-spacing: .07em;
}

.eh-speaking-form-intro p {
    margin: 0;

    font-size: 17px;

    line-height: 1.7;

    color: #5b5357;
}


/* ==========================================================
   FORM CARD
========================================================== */

.eh-speaking-form-card {
    width: min(880px, 100%);

    margin: 0 auto;

    padding:
        52px
        55px
        42px;

    border:
        1px solid rgba(255,255,255,.9);

    border-radius: 25px;

    background:
        rgba(255,255,255,.92);

    box-shadow:
        var(--eh-speak-shadow);

    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}

.eh-speaking-form {
    display: grid;

    gap: 17px;
}


/* ==========================================================
   SECTION LABEL
========================================================== */

.eh-form-section-label {
    display: flex;

    align-items: center;

    gap: 13px;

    margin:
        22px 0
        5px;

    color: var(--eh-speak-deep);

    font-size: 13px;
    font-weight: 800;

    letter-spacing: .18em;
}

.eh-form-section-label:first-of-type {
    margin-top: 0;
}

.eh-form-section-label span {
    width: 35px;
    height: 35px;

    display: flex;
    justify-content: center;
    align-items: center;

    border-radius: 50%;

    background:
        var(--eh-speak-pale);

    color: var(--eh-speak-pink);

    font-family:
        Georgia,
        serif;

    font-size: 14px;

    letter-spacing: 0;
}


/* ==========================================================
   FIELDS
========================================================== */

.eh-speaking-form-row {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 16px;
}

.eh-speaking-field {
    display: grid;

    gap: 7px;
}

.eh-speaking-field label {
    font-size: 12px;

    font-weight: 700;

    letter-spacing: .03em;

    color: #51494d;
}

.eh-speaking-field input,
.eh-speaking-field select,
.eh-speaking-field textarea {
    width: 100%;

    border:
        1px solid #ddd6d9;

    border-radius: 7px;

    background: #fff;

    color: #221e20;

    font-family: inherit;

    font-size: 15px;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.eh-speaking-field input,
.eh-speaking-field select {
    height: 57px;

    padding:
        0
        17px;
}

.eh-speaking-field textarea {
    min-height: 130px;

    padding: 17px;

    resize: vertical;
}

.eh-speaking-field input::placeholder,
.eh-speaking-field textarea::placeholder {
    color: #938b90;
}

.eh-speaking-field input:focus,
.eh-speaking-field select:focus,
.eh-speaking-field textarea:focus {
    border-color: var(--eh-speak-pink);

    box-shadow:
        0 0 0 3px rgba(223, 20, 98, .08);
}


/* ==========================================================
   SUBMIT
========================================================== */

.eh-speaking-submit {
    position: relative;

    width: 100%;
    min-height: 62px;

    margin-top: 16px;

    display: flex;
    justify-content: center;
    align-items: center;

    border: 0;

    border-radius: 6px;

    background:
        linear-gradient(
            90deg,
            #c90d50,
            #ef2471
        );

    color: #fff;

    font-size: 14px;
    font-weight: 800;

    letter-spacing: .16em;

    cursor: pointer;

    box-shadow:
        0 12px 30px rgba(219, 21, 98, .17);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.eh-speaking-submit:hover {
    transform: translateY(-2px);

    box-shadow:
        0 17px 36px rgba(219, 21, 98, .25);
}

.eh-speaking-submit-arrow {
    position: absolute;

    right: 26px;

    color: #f5c75e;

    font-size: 27px;
}

.eh-speaking-form-note {
    display: flex;

    justify-content: center;

    gap: 10px;

    margin-top: 22px;

    text-align: center;

    font-size: 13px;

    line-height: 1.55;

    color: #625a5e;
}

.eh-speaking-form-note span {
    color: var(--eh-speak-gold);

    font-size: 22px;
}


/* ==========================================================
   NOTICES
========================================================== */

.eh-speaking-notice {
    margin-bottom: 30px;

    padding:
        15px
        17px;

    border-radius: 7px;

    font-size: 14px;

    line-height: 1.5;
}

.eh-speaking-success {
    background: #f2fff6;

    border:
        1px solid #bddfc7;

    color: #28683b;
}

.eh-speaking-error {
    background: #fff4f6;

    border:
        1px solid #efbdc8;

    color: #98243f;
}

.eh-speaking-honeypot {
    position: absolute !important;

    left: -9999px !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;
}


/* ==========================================================
   CLOSING
========================================================== */

.eh-speaking-closing {
    position: relative;

    padding:
        110px 0
        115px;

    text-align: center;

    background:
        linear-gradient(
            135deg,
            rgba(248, 215, 225, .78),
            rgba(255, 244, 247, .92),
            rgba(248, 210, 223, .68)
        );
}

.eh-closing-small {
    display: block;

    margin-bottom: 17px;

    color: var(--eh-speak-pink);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .3em;
}

.eh-speaking-closing h2 {
    width: min(760px, 100%);

    margin: 0 auto;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(37px, 5vw, 58px);

    font-weight: 400;

    line-height: 1.18;
}

.eh-speaking-closing h2 em {
    display: block;

    margin-top: 5px;

    font-family:
        "Brush Script MT",
        "Segoe Script",
        cursive;

    font-size: 1.15em;

    font-style: normal;

    color: var(--eh-speak-pink);
}

.eh-closing-heart {
    margin-top: 20px;

    color: var(--eh-speak-gold);

    font-size: 34px;
}


/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1000px) {

    .eh-speaking-hero {
        min-height: auto;

        padding:
            90px 0
            100px;
    }

    .eh-speaking-welcome-grid {
        grid-template-columns: 1fr;

        gap: 50px;
    }

    .eh-speaking-welcome-copy {
        padding:
            35px 0 0;

        border-left: 0;

        border-top:
            1px solid rgba(222, 20, 98, .22);
    }

    .eh-speaking-topic-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 680px) {

    .eh-speaking-container {
        width: min(
            100% - 30px,
            1180px
        );
    }

    .eh-speaking-hero {
        padding:
            70px 0
            80px;
    }

    .eh-speaking-eyebrow {
        font-size: 11px;

        letter-spacing: .3em;
    }

    .eh-speaking-divider {
        width: 220px;
    }

    .eh-speaking-title-small {
        font-size: 43px;
    }

    .eh-speaking-title-script {
        font-size: 87px;
    }

    .eh-speaking-intro {
        margin-top: 45px;

        font-size: 16px;
    }

    .eh-speaking-welcome {
        padding:
            75px 0;
    }

    .eh-speaking-script-heading {
        font-size: 42px;
    }

    .eh-speaking-welcome-heading h2 {
        font-size: 38px;
    }

    .eh-speaking-welcome-copy .eh-speaking-lead {
        font-size: 20px;
    }

    .eh-speaking-topics {
        padding:
            80px 0
            90px;
    }

    .eh-speaking-topic-grid {
        grid-template-columns: 1fr;
    }

    .eh-topic-card {
        min-height: auto;
    }

    .eh-speaking-form-section {
        padding:
            80px 0
            90px;
    }

    .eh-speaking-form-intro h2 {
        font-size: 38px;
    }

    .eh-speaking-form-card {
        padding:
            32px
            19px
            28px;

        border-radius: 18px;
    }

    .eh-speaking-form-row {
        grid-template-columns: 1fr;
    }

    .eh-form-section-label {
        margin-top: 28px;
    }

    .eh-speaking-submit {
        padding:
            0
            45px
            0
            15px;

        font-size: 12px;

        letter-spacing: .1em;
    }

    .eh-speaking-submit-arrow {
        right: 17px;
    }

    .eh-speaking-closing {
        padding:
            80px 0;
    }

}