/* Custom styles for this site. Loaded after framer.min.css (the exported page styles). */

/* ---------- Typography: Inter only (400 for body text, 700 for headings and bold) ---------- */
/* The exported design also used Poppins, Inter italic, Inter 500/600 and a variable Inter; those font files are
   no longer loaded. Weights 300/500 now show as 400, weight 600 as 700 (the browser picks the nearest of the two). */
#main,
#main .framer-text,
#main input,
#main textarea,
#main button {
    font-family: "Inter", "Inter Placeholder", sans-serif !important
}

/* Text that got its boldness from the variable font (stat numbers and their labels) */
#main .framer-text[style*='"wght" 700'],
#main .framer-text[style*='"wght" 600'] {
    font-weight: 700 !important
}

/* Services: only Editing & Proofreading, Formatting, Publishing and Cover Design are shown.
   Ghostwriting, Distribution & Sales, Marketing and Audiobook tiles are hidden. */
.framer-s0YeH .framer-105vp0m,
.framer-s0YeH .framer-rlpz46,
.framer-s0YeH .framer-wdxrla,
.framer-s0YeH .framer-1pvuvs3 {
    display: none !important
}

#main .framer-s0YeH .framer-x86bdn {
    grid-template-rows: auto;
    grid-auto-rows: auto
}

/* "#main" is needed: the page script adds its own copy of these rules after this stylesheet. */
/* Services: less empty space above and below the section (was 80px + the 68px of the section above) */
@media (min-width: 810px) {
    #main .framer-s0YeH .framer-gf2c03 {
        padding-bottom: 20px
    }

    #main .framer-s0YeH .framer-fhyhas {
        padding-top: 20px;
        padding-bottom: 40px
    }

    #main .framer-s0YeH .framer-jpxst5 {
        height: 80px
    }
}

/* "Get Started" form: typed text was white on a white field (invisible). */
#main .framer-s0YeH .framer-wrmbc1,
#main .framer-s0YeH .framer-1pn9ahh,
#main .framer-s0YeH .framer-1rg7c5k,
#main .framer-s0YeH .framer-1dyhznu {
    --framer-input-font-color: #111
}

/* Reviews not shown because they are about services that are no longer offered:
   Rina B. (marketing), Daniël (writing), Rachel M. (printing / royalties). */
#main .framer--carousel li:has(> .framer-1xd9zg9),
#main .framer--carousel li:has(> .framer-117hid5),
#main .framer--carousel li:has(> .framer-tfc6g7),
#main .framer-s0YeH .framer-1xd9zg9,
#main .framer-s0YeH .framer-117hid5,
#main .framer-s0YeH .framer-tfc6g7 {
    display: none !important
}

/* ---------- Phone number: header link + floating call button ---------- */

/* Header: smaller "Publish Now!" button, leaving room for the phone number beside it */
#main .framer-Ubo1L .framer-qjbcki p {
    --framer-font-size: 14px
}

@media (min-width: 810px) {
    #main .framer-Ubo1L .framer-1cyhtdj-container {
        width: 132px;
        height: 36px
    }
}

@media (max-width: 809.98px) {
    #main .framer-Ubo1L .framer-4ccjrd-container {
        width: 108px
    }

    #main .framer-Ubo1L.framer-v-1qozo1e .framer-vjixoh {
        width: 170px
    }
}

/* Phone number button. Sits on top of the header (64px tall, scrolls with the page), just left of "Publish Now!" */
.bp-header-call {
    position: absolute;
    top: 14px;
    right: 164px;
    z-index: 2;
    box-sizing: border-box;
    height: 36px;
    padding: 0 16px 0 12px;
    display: flex;
    align-items: center;
    gap: 7px;
    border-radius: 21px;
    background: linear-gradient(72deg, rgb(255, 190, 77) -32%, rgb(255, 66, 3) 86%);
    color: #fff;
    font-family: "Inter", "Inter Placeholder", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap
}

.bp-header-call svg {
    width: 16px;
    height: 16px;
    fill: #fff
}

@media (max-width: 809.98px) {
    /* phone: round icon button (tap to call), there is no room for the digits next to the logo */
    .bp-header-call {
        top: 23px;
        right: 128px;
        width: 34px;
        height: 34px;
        padding: 0;
        justify-content: center
    }

    .bp-header-call span {
        display: none
    }
}

@media (max-width: 349.98px) {
    .bp-header-call {
        display: none
    }
}

/* Floating call button, bottom left */
.bp-call {
    position: fixed;
    left: 18px;
    bottom: 18px;
    z-index: 900;
    display: block;
    text-decoration: none
}

.bp-call-icon {
    position: relative;
    flex: none;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(72deg, rgb(255, 190, 77) -32%, rgb(255, 66, 3) 86%);
    box-shadow: 0 6px 18px rgba(255, 66, 3, .4)
}

.bp-call-icon::before,
.bp-call-icon::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid rgb(254, 113, 32);
    animation: bp-call-pulse 2s ease-out infinite
}

.bp-call-icon::after {
    animation-delay: 1s
}

.bp-call-icon svg {
    width: 26px;
    height: 26px;
    fill: #fff;
    animation: bp-call-ring 2s ease-in-out infinite
}

/* Both step aside while a popup is open (class set by assets/js/forms.js) */
body.bp-popup-open .bp-call,
body.bp-popup-open .bp-header-call {
    display: none
}

@keyframes bp-call-pulse {
    0% {
        transform: scale(1);
        opacity: .7
    }

    100% {
        transform: scale(1.7);
        opacity: 0
    }
}

@keyframes bp-call-ring {
    0%, 50%, 100% {
        transform: rotate(0)
    }

    10%, 30% {
        transform: rotate(-14deg)
    }

    20%, 40% {
        transform: rotate(14deg)
    }
}

@media (prefers-reduced-motion: reduce) {
    .bp-call-icon::before,
    .bp-call-icon::after,
    .bp-call-icon svg {
        animation: none
    }
}

/* ---------- Footer form: full width on phones (it was a fixed 280px box, about half the screen) ---------- */
@media (max-width: 809.98px) {
    #main .framer-dlzgB .framer-1d477mb,
    #main .framer-dlzgB .framer-1hqbenj {
        width: 100%
    }
}

/* ---------- Footer bottom ---------- */
/* "Privacy & Policy" / "Terms of Services" were white text on white (invisible, and linked nowhere): removed */
#main .framer-dlzgB .framer-u75o4u,
#main .framer-dlzgB .framer-1nscytx {
    display: none !important
}

/* Copyright line sits on the orange bar: the text row becomes the bar, the empty bar below it is dropped */
#main .framer-dlzgB .framer-i14dvu {
    justify-content: center;
    padding: 12px 20px;
    background-color: rgb(255, 147, 1)
}

#main .framer-dlzgB .framer-p69ox9 {
    width: 100%
}

#main .framer-dlzgB .framer-p69ox9 p {
    --framer-font-size: 13px !important;
    --framer-text-alignment: center !important
}

#main .framer-dlzgB .framer-582tud {
    display: none
}

/* phones: keep the copyright text clear of the floating call button in the bottom-left corner */
@media (max-width: 809.98px) {
    #main .framer-dlzgB .framer-i14dvu {
        padding-left: 84px
    }
}
