.eg-bf, .eg-bf-top {
    --bf-ink: #281529;
    --bf-muted: #645561;
    --bf-paper: #faf4ee;
    --bf-cyan: #24e2ef;
    --bf-line: #e7d8d3;
    color: var(--bf-ink);
    font-family: var(--font-family-sans, system-ui, sans-serif);
}

.eg-bf-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem max(5%, calc((100% - 72rem) / 2));
    background: #fff;
    border-bottom: 1px solid var(--bf-line);
    font-size: .85rem;
}

.eg-bf-top img { display: block; width: min(11.4rem, 48vw); height: auto; }
.eg-bf-top a { color: inherit; }
.eg-bf { background: var(--bf-paper); }
.eg-bf > section { padding: clamp(2.7rem, 7vw, 6.5rem) max(5%, calc((100% - 72rem) / 2)); }

.eg-bf h1, .eg-bf h2, .eg-bf h3 { margin: 0; color: inherit; line-height: 1.04; }
.eg-bf h1 { font-size: clamp(2.5rem, 5vw, 4.85rem); letter-spacing: -.065em; }
.eg-bf h1 em { color: var(--bf-cyan); font-style: normal; }
.eg-bf h2 { max-width: 21ch; font-size: clamp(2rem, 4vw, 3.7rem); letter-spacing: -.055em; }
.eg-bf h3 { font-size: clamp(1.5rem, 2.7vw, 2.15rem); letter-spacing: -.035em; }
.eg-bf p { margin: 0; line-height: 1.58; }
.eg-bf .eg-bf-scope { max-width: 70ch; margin-top: 1.5rem; color: var(--bf-muted); }
.eg-bf-scope a { color: inherit; text-underline-offset: .2em; }

.eg-bf .eg-bf-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.16fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(2rem, 5vw, 5rem);
    background: radial-gradient(ellipse at 100% 0%, #613653 0%, transparent 52%), #30182e;
    color: #fff7f0;
}

.eg-bf .eg-bf-tag, .eg-bf .eg-bf-kicker {
    margin-bottom: 1rem;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .14em;
}

.eg-bf .eg-bf-tag {
    display: inline-block;
    padding: .42rem .72rem;
    border: 1px solid #ad8ca6;
    border-radius: 99px;
    color: #fff7f0;
}

.eg-bf .eg-bf-intro { max-width: 38ch; margin-top: 1.3rem; color: #f3e2ee; font-size: 1.13rem; }

.eg-bf-price {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .25rem 1.25rem;
    margin-top: 1.5rem;
}

.eg-bf-price strong { font-size: clamp(3.5rem, 7vw, 6.5rem); line-height: 1; letter-spacing: -.085em; }
.eg-bf-price span { padding-left: 1rem; border-left: 2px solid var(--bf-cyan); line-height: 1.5; }
.eg-bf-price time { color: #f3e2ee; }

.eg-bf-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.15rem 1.4rem; margin-top: 1.65rem; }
.eg-bf .eg-bf-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .9rem;
    width: fit-content;
    min-height: 3rem;
    padding: .85rem 1.25rem;
    border-radius: .55rem;
    background: var(--bf-cyan);
    color: #211121;
    font-weight: 800;
    text-decoration: none;
}

.eg-bf .eg-bf-button:hover { background: #a4faff; color: #211121; }
.eg-bf .eg-bf-link { color: inherit; font-weight: 750; text-decoration: underline; text-underline-offset: .28em; }

.eg-bf-visual { margin: 0; overflow: hidden; border: 1px solid #855f7d; border-radius: 1rem; background: #fff7f0; color: var(--bf-ink); }
.eg-bf-portrait { aspect-ratio: 1.92; overflow: hidden; }
.eg-bf-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top; }
.eg-bf-calendar { display: block; }
.eg-bf-calendar img { display: block; width: 100%; height: auto; }
.eg-bf-visual figcaption { display: flex; align-items: center; gap: .85rem; padding: 1.15rem; }
.eg-bf-visual figcaption div span { display: block; margin-top: .25rem; color: var(--bf-muted); font-size: .9rem; }

.eg-bf-step { display: inline-grid; place-items: center; flex-shrink: 0; min-width: 2.45rem; min-height: 2.45rem; padding: .3rem; border-radius: .5rem; background: #eee0ee; color: #472044; font-weight: 800; }
.eg-bf-step span { display: inline; }
.eg-bf-visual .eg-bf-step { display: inline-flex; gap: .15rem; }

.eg-bf-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.eg-bf-pair article { padding: clamp(1.25rem, 4vw, 2.5rem); border: 1px solid var(--bf-line); border-radius: .85rem; background: #fffdfb; }
.eg-bf-pair h3 { margin: .85rem 0 .6rem; }
.eg-bf-pair p, .eg-bf-demo p { max-width: 52ch; color: var(--bf-muted); }

.eg-bf .eg-bf-demo { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: center; gap: clamp(1.5rem, 5vw, 4rem); background: #f0e2ed; }
.eg-bf-demo h2 { margin-bottom: 1rem; }
.eg-bf-demo .eg-bf-link { display: block; width: fit-content; margin: 1.2rem 0 .25rem; }
.eg-bf-demo-steps { margin: 0; padding-left: 1.4rem; list-style: decimal; }
.eg-bf-demo-steps li { margin: .6rem 0; }
.eg-bf-demo-preview { display: block; border: 1px solid #d1b8cc; border-radius: .85rem; overflow: hidden; background: #fff; }
.eg-bf-demo-preview img { display: block; width: 100%; height: auto; }

.eg-bf .eg-bf-close { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; background: #30182e; color: #fff7f0; }
.eg-bf-close h2 { margin-bottom: .7rem; }
.eg-bf-close p { max-width: 55ch; }
.eg-bf-close .eg-bf-kicker { color: var(--bf-cyan); }
.eg-bf .eg-bf-close { align-items: flex-start; }
.eg-bf-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    width: min(100%, 32rem);
}
.eg-bf-form label { display: grid; gap: .35rem; min-width: 0; }
.eg-bf-form input:not([type="checkbox"]), .eg-bf-form select {
    width: 100%;
    min-height: 2.75rem;
    padding: .5rem .65rem;
    border: 1px solid #d9c4d6;
    border-radius: .45rem;
    background: #fffdfb;
    color: #24121f;
    font: inherit;
}
.eg-bf-form-wide, .eg-bf-form-status { grid-column: 1 / -1; }
.eg-bf-form .eg-bf-form-privacy { display: flex; align-items: flex-start; gap: .55rem; }
.eg-bf-form a { color: inherit; text-decoration: underline; }
.eg-bf-form .eg-bf-button { border: 0; cursor: pointer; }
.eg-bf-form :is(input, select, button):focus-visible { outline: 2px solid var(--bf-cyan); outline-offset: 3px; }
.eg-bf-form .eg-bf-form-status { padding: .75rem; border: 1px solid #b796af; border-radius: .45rem; }

@media (max-width: 36rem) {
    .eg-bf-form { grid-template-columns: 1fr; }
}

.eg-bf-footer { flex-wrap: wrap; }
.eg-bf-footer nav { display: flex; flex-wrap: wrap; gap: .7rem 1rem; }
.eg-bf-footer button { padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }

.eg-bf a:focus-visible, .eg-bf-top a:focus-visible, .eg-bf-top button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

.eg-bf-app-showcase { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(2rem,5vw,4rem); background:#fffaf2; }
.eg-bf-app-copy p { max-width:52ch; color:var(--bf-muted); }
.eg-bf-app-copy .eg-bf-link { display:block; width:fit-content; margin-top:1rem; }
.eg-bf-app-mockup { margin:0; min-width:0; }
.eg-bf-app-mockup img { display:block; width:100%; height:auto; }
.eg-bf-app-mockup figcaption { margin-top:.8rem; text-align:center; font-size:.85rem; color:#594538; }
@media(max-width:48rem) { .eg-bf-app-showcase { grid-template-columns:1fr; } }

@media (max-width: 48rem) {
    .eg-bf .eg-bf-hero, .eg-bf .eg-bf-demo, .eg-bf-pair { grid-template-columns: 1fr; }
    .eg-bf-top { font-size: .75rem; }
}


@media (max-width: 600px) {
    #egconsent .cookie-notice:not(.cookie-modal-notice) {
        inset: auto 10px max(10px, env(safe-area-inset-bottom)) !important;
        width: auto !important;
        max-height: 50vh !important;
        transform: none !important;
        border-radius: .85rem !important;
        z-index: 100000;
    }

    #egconsent .cookie-notice:not(.cookie-modal-notice)::before { display: none; }

    #egconsent .cookie-notice:not(.cookie-modal-notice) .cn-body {
        padding: .75rem !important;
        text-align: left !important;
    }

    #egconsent .cookie-notice:not(.cookie-modal-notice) .cn-body h2 {
        margin: 0;
        font-size: 1rem !important;
    }

    #egconsent .cookie-notice:not(.cookie-modal-notice) .cn-body p {
        margin: .35rem 0 .5rem !important;
        font-size: .8125rem !important;
        line-height: 1.4 !important;
    }

    #egconsent .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-ok,
    #egconsent .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .25rem;
        margin: 0;
    }

    #egconsent .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons {
        width: auto;
    }

    #egconsent .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-learn-more,
    #egconsent .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons .cm-btn {
        width: auto !important;
        min-height: 44px;
        margin: 0 !important;
        padding: .35rem .55rem !important;
        font-size: .8125rem;
    }

    #egconsent .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-learn-more {
        display: inline-flex;
        flex-grow: 0;
        align-items: center;
    }

    #egconsent .cookie-notice:not(.cookie-modal-notice) .cn-body .cn-buttons .cm-btn {
        background: #eaf1f4 !important;
        color: var(--egconsent-navy) !important;
    }
}
