/* Ported verbatim from @H's design, staging page 10333 widget 1.
   Only two changes: his Manrope @import is dropped (Poppins is the locked
   brand font and already loaded, and a second webfont is a render-blocking
   request for one page type), and font-family falls through to inherit. */
/* =========================================
   SMBF BUSINESS NETWORKING - EVENT HERO
========================================= */

.smbf-event-hero,
.smbf-event-hero *,
.smbf-event-hero *::before,
.smbf-event-hero *::after {
    box-sizing: border-box;
}

.smbf-event-hero {
    position: relative;
    width: 100%;
    overflow: hidden;

    /* @H designed this as a standalone page with no header above it. On the
       single-event template the sticky .smbf-header overlays the top of the
       hero and the eyebrow lands inside the nav. The extra top padding is
       the header height; his 74px is preserved below it. */
    padding: calc(74px + var(--smbf-headroom, 96px)) 24px 78px;

    font-family: inherit;
    text-align: center;

    background:
        radial-gradient(
            circle at 0% 0%,
            rgba(20,91,199,0.08),
            transparent 34%
        ),
        radial-gradient(
            circle at 100% 100%,
            rgba(21,152,167,0.07),
            transparent 34%
        ),
        #F8FBFF;

    color: #071A3A;
}


/* =========================================
   DECORATIVE RINGS
========================================= */

.smbf-event-hero__rings {
    position: absolute;

    left: -125px;
    top: -125px;

    width: 290px;
    height: 290px;

    border-radius: 50%;

    background:
        repeating-radial-gradient(
            circle,
            transparent 0,
            transparent 34px,
            rgba(20,91,199,0.07) 35px,
            transparent 36px
        );

    pointer-events: none;
}


/* =========================================
   DOT PATTERN
========================================= */

.smbf-event-hero__dots {
    position: absolute;

    right: 18px;
    top: 82px;

    width: 110px;
    height: 110px;

    opacity: 0.45;

    background-image:
        radial-gradient(circle, #2870C5 2px, transparent 2.5px),
        radial-gradient(circle, #1598A7 2px, transparent 2.5px);

    background-size: 26px 26px;
    background-position: 0 0, 13px 13px;

    pointer-events: none;
}


/* =========================================
   INNER
========================================= */

.smbf-event-hero__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1180px;

    margin: 0 auto;
}


/* =========================================
   EYEBROW
========================================= */

.smbf-event-hero__eyebrow {
    display: inline-block;

    color: #148EA4;

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

    letter-spacing: 4px;

    text-transform: uppercase;
}

.smbf-event-hero__eyebrow::after {
    content: "";

    display: block;

    width: 62px;
    height: 2px;

    margin: 15px auto 0;

    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );
}


/* =========================================
   TITLE
========================================= */

.smbf-event-hero__title {
    width: 100%;
    max-width: 1160px;

    margin: 28px auto 0;

    color: #071A3A;

    font-size: clamp(46px, 4.5vw, 68px);
    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -2.8px;
}

.smbf-event-hero__title-line {
    display: block;
}

.smbf-event-hero__highlight {
    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
    color: transparent;
}


/* =========================================
   DESCRIPTION
========================================= */

.smbf-event-hero__description {
    width: 100%;
    max-width: 790px;

    margin: 23px auto 0;

    color: #4C5D78;

    font-size: 17px;
    font-weight: 500;

    line-height: 1.75;
}


/* =========================================
   CTA
========================================= */

.smbf-event-hero__cta-wrap {
    margin-top: 31px;
}

.smbf-event-hero__cta {
    display: inline-flex;

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

    gap: 10px;

    min-height: 54px;

    padding: 0 27px;

    border-radius: 8px;

    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );

    color: #ffffff;

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

    line-height: 1;

    text-decoration: none;

    box-shadow:
        0 10px 24px rgba(20,91,199,0.17);

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

.smbf-event-hero__cta:hover {
    transform: translateY(-2px);

    box-shadow:
        0 13px 29px rgba(20,91,199,0.22);
}

.smbf-event-hero__cta-arrow {
    font-size: 17px;
    line-height: 1;
}


/* =========================================
   RATING
========================================= */

.smbf-event-hero__rating {
    margin-top: 23px;

    color: #66758D;

    font-size: 12px;
    font-weight: 700;
}

.smbf-event-hero__stars {
    margin-top: 6px;

    color: #0A2D68;

    font-size: 18px;

    letter-spacing: 3px;
}


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

@media (max-width: 980px) {

    .smbf-event-hero__title {
        max-width: 900px;

        font-size: clamp(42px, 6vw, 58px);
    }

}


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

@media (max-width: 767px) {

    .smbf-event-hero {
        /* @H's mobile rule reset the padding SHORTHAND, wiping the calc()
           header clearance from the base rule - the same bug found on the
           tour hero. His values kept, clearance re-added. */
        padding: calc(54px + var(--smbf-headroom, 76px)) 18px 58px;
    }

    .smbf-event-hero__rings {
        width: 210px;
        height: 210px;

        left: -120px;
        top: -90px;
    }

    .smbf-event-hero__dots {
        width: 75px;
        height: 75px;

        right: -10px;
        top: 68px;

        background-size: 20px 20px;
        background-position: 0 0, 10px 10px;
    }

    .smbf-event-hero__eyebrow {
        font-size: 11px;

        letter-spacing: 2.5px;
    }

    .smbf-event-hero__title {
        max-width: 410px;

        margin-top: 23px;

        font-size: 36px;

        line-height: 1.09;

        letter-spacing: -1.7px;
    }

    .smbf-event-hero__description {
        max-width: 500px;

        margin-top: 19px;

        font-size: 15px;

        line-height: 1.65;
    }

    .smbf-event-hero__cta-wrap {
        margin-top: 26px;
    }

    .smbf-event-hero__cta {
        min-height: 52px;

        padding: 0 24px;
    }

}


/* ---------------------------------------------------------------------------
   FACT GRID
   🔴 These rules were lost when this file was overwritten with @H's hero CSS,
   which left the SVG icons unstyled - default size, default fill - and they
   rendered as large black blocks. Kept in the same stylesheet so the two cannot
   drift apart again.
   --------------------------------------------------------------------------- */
.smbf-b2bfacts{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0 0 28px}
.smbf-b2bfact{display:flex;flex-direction:column;align-items:center;gap:10px;padding:26px 18px 24px;
  border:1px solid #E3ECF7;border-radius:14px;background:#fff;text-align:center}
.smbf-b2bfact__i{width:22px;height:22px;flex:0 0 auto;color:#2870C5;
  box-sizing:content-box;padding:11px;border-radius:50%;background:#EAF2FD}
.smbf-b2bfact__k{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#7789A0}
.smbf-b2bfact__v{font-size:16px;font-weight:500;color:#0B1F3A;line-height:1.45}

.smbf-b2bsectors{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  list-style:none;margin:0;padding:0}
.smbf-b2bsectors li{padding:12px 16px;border:1px solid #E3ECF7;border-radius:8px;background:#fff;
  font-size:15px;color:#0B1F3A}

@media(max-width:781px){
  .smbf-event-hero{padding-top:calc(44px + var(--smbf-headroom, 76px));padding-bottom:52px}
}


/* --- EVENT DETAILS, ported from @H widget 2 --- */
.smbf-event-details,
.smbf-event-details *,
.smbf-event-details *::before,
.smbf-event-details *::after {
    box-sizing: border-box;
}

.smbf-event-details {
    position: relative;
    width: 100%;
    overflow: hidden;

    padding: 54px 24px 58px;

    font-family: inherit;

    background:
        linear-gradient(
            180deg,
            #f8fbff 0%,
            #eef5fc 100%
        );

    color: #071A3A;
}


/* =========================
   DECORATIVE ELEMENTS
========================= */

.smbf-event-details__rings {
    position: absolute;

    left: -100px;
    top: -55px;

    width: 230px;
    height: 230px;

    border-radius: 50%;

    background:
        repeating-radial-gradient(
            circle,
            transparent 0,
            transparent 28px,
            rgba(20, 91, 199, 0.08) 29px,
            transparent 30px
        );

    pointer-events: none;
}

.smbf-event-details__dots {
    position: absolute;

    right: 4%;
    top: 50%;

    width: 105px;
    height: 105px;

    opacity: 0.65;

    background-image:
        radial-gradient(circle, #2870C5 2px, transparent 2.5px),
        radial-gradient(circle, #1598A7 2px, transparent 2.5px);

    background-size: 26px 26px;
    background-position: 0 0, 13px 13px;
}


/* =========================
   INNER
========================= */

.smbf-event-details__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1180px;

    margin: 0 auto;
}


/* =========================
   EYEBROW
========================= */

.smbf-event-details__eyebrow-wrap {
    text-align: center;
    margin-bottom: 30px;
}

.smbf-event-details__eyebrow {
    display: inline-block;

    color: #148EA4;

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

    letter-spacing: 4px;

    text-transform: uppercase;
}

.smbf-event-details__eyebrow::after {
    content: "";

    display: block;

    width: 62px;
    height: 2px;

    margin: 13px auto 0;

    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );
}


/* =========================
   GRID
========================= */

.smbf-event-details__grid {
    display: grid;

    /* 3 per row since the Venue card was added 2026-09-05: 6 cards give two
       even rows, where repeat(5) left a single orphan on the second row and
       squeezed long venue/location values into four lines. */

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

    gap: 18px;
}


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

.smbf-event-detail-card {
    min-width: 0;

    min-height: 185px;

    padding: 24px 18px;

    background: rgba(255,255,255,0.97);

    border: 1px solid rgba(20, 91, 199, 0.08);

    border-radius: 16px;

    box-shadow:
        0 10px 28px rgba(11, 42, 99, 0.06);

    display: flex;
    flex-direction: column;

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

    text-align: center;

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

.smbf-event-detail-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 14px 32px rgba(11, 42, 99, 0.09);
}


/* =========================
   ICON
========================= */

.smbf-event-detail-card__icon {
    width: 58px;
    height: 58px;

    margin-bottom: 15px;

    border-radius: 50%;

    display: flex;

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

    background:
        linear-gradient(
            135deg,
            rgba(20,91,199,0.09) 0%,
            rgba(21,152,167,0.09) 55%,
            rgba(88,168,68,0.09) 100%
        );

    color: #145BC7;
}

.smbf-event-detail-card__icon svg {
    width: 28px;
    height: 28px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================
   LABEL / VALUE
========================= */

.smbf-event-detail-card__label {
    margin-bottom: 7px;

    color: #7A89A2;

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

    letter-spacing: 1.8px;

    text-transform: uppercase;
}

.smbf-event-detail-card__value {
    color: #0A2D68;

    /* Venue values are street addresses - 86 chars, one 29-char hyphenated
       token - so guard the narrow mobile column against overflow. */
    min-width: 0;
    overflow-wrap: break-word;

    font-size: 16px;
    font-weight: 700;

    line-height: 1.45;
}


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

@media (max-width: 1024px) {

    .smbf-event-details__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .smbf-event-detail-card {
        min-height: 170px;
    }

}


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

@media (max-width: 767px) {

    .smbf-event-details {
        padding:
            42px
            18px
            44px;
    }

    .smbf-event-details__rings {
        width: 190px;
        height: 190px;

        left: -105px;
        top: -35px;
    }

    .smbf-event-details__dots {
        display: none;
    }

    .smbf-event-details__eyebrow-wrap {
        margin-bottom: 24px;
    }

    .smbf-event-details__eyebrow {
        font-size: 11px;

        letter-spacing: 3px;
    }

    .smbf-event-details__grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }

    .smbf-event-detail-card {
        min-height: 0;

        padding: 18px;

        display: grid;

        grid-template-columns: 52px 1fr;

        column-gap: 14px;

        text-align: left;

        align-items: center;
    }

    .smbf-event-detail-card__icon {
        width: 52px;
        height: 52px;

        margin: 0;

        grid-row: span 2;
    }

    .smbf-event-detail-card__icon svg {
        width: 25px;
        height: 25px;
    }

    .smbf-event-detail-card__label {
        margin-bottom: 2px;

        font-size: 10px;
    }

    .smbf-event-detail-card__value {
        font-size: 15px;
    }

}


/* --- ABOUT THE EVENT, ported from @H widget 3 --- */
.smbf-business-event,
.smbf-business-event *,
.smbf-business-event *::before,
.smbf-business-event *::after {
    box-sizing: border-box;
}

.smbf-business-event {
    position: relative;
    width: 100%;
    overflow: hidden;

    padding: 64px 24px 68px;

    font-family: inherit;

    background:
        radial-gradient(
            circle at 50% 0%,
            #ffffff 0%,
            #fbfdff 55%,
            #f4f8fd 100%
        );

    color: #071A3A;
}


/* =========================
   DECORATION
========================= */

.smbf-business-event__rings {
    position: absolute;

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

    width: 280px;
    height: 280px;

    border-radius: 50%;

    background:
        repeating-radial-gradient(
            circle,
            transparent 0,
            transparent 30px,
            rgba(20, 91, 199, 0.07) 31px,
            transparent 32px
        );

    pointer-events: none;
}

.smbf-business-event__dots {
    position: absolute;

    right: 4%;
    top: 70px;

    width: 105px;
    height: 105px;

    opacity: 0.62;

    background-image:
        radial-gradient(circle, #2870C5 2px, transparent 2.5px),
        radial-gradient(circle, #1598A7 2px, transparent 2.5px);

    background-size: 26px 26px;
    background-position: 0 0, 13px 13px;

    pointer-events: none;
}


/* =========================
   INNER
========================= */

.smbf-business-event__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1180px;

    margin: 0 auto;

    text-align: center;
}


/* =========================
   EYEBROW
========================= */

.smbf-business-event__eyebrow {
    display: inline-block;

    color: #148EA4;

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

    letter-spacing: 4px;

    text-transform: uppercase;
}

.smbf-business-event__eyebrow::after {
    content: "";

    display: block;

    width: 62px;
    height: 2px;

    margin: 13px auto 0;

    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );
}


/* =========================
   TITLE
========================= */

.smbf-business-event__title {
    width: 100%;
    max-width: 1050px;

    margin: 20px auto 0;

    color: #071A3A;

    font-size: clamp(38px, 3.4vw, 48px);
    font-weight: 800;

    line-height: 1.1;
    letter-spacing: -1.7px;

    text-align: center;
}

.smbf-business-event__title-top {
    display: block;
}

.smbf-business-event__title-highlight {
    display: block;

    width: fit-content;

    margin: 5px auto 0;

    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
    color: transparent;
}


/* =========================
   COPY
========================= */

.smbf-business-event__copy {
    width: 100%;
    max-width: 850px;

    margin: 25px auto 0;

    color: #354866;

    font-size: 16px;
    font-weight: 500;

    line-height: 1.72;

    text-align: center;
}

.smbf-business-event__copy p {
    margin: 0 0 18px;
}

.smbf-business-event__copy p:last-child {
    margin-bottom: 0;
}

.smbf-business-event__copy strong {
    color: #071A3A;

    font-weight: 800;
}


/* =========================
   CTA
========================= */

.smbf-business-event__cta-wrap {
    margin-top: 30px;
}

.smbf-business-event__cta {
    display: inline-flex;

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

    min-width: 300px;

    padding: 15px 24px;

    border-radius: 8px;

    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );

    color: #ffffff;

    text-decoration: none;

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

    box-shadow:
        0 8px 20px rgba(8, 47, 111, 0.12);

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

.smbf-business-event__cta-text {
    flex: 1;

    text-align: center;
}

.smbf-business-event__cta-arrow {
    margin-left: 20px;

    font-size: 22px;
    font-weight: 400;

    transition: transform .25s ease;
}

.smbf-business-event__cta:hover {
    transform: translateY(-2px);

    box-shadow:
        0 12px 26px rgba(8, 47, 111, 0.17);
}

.smbf-business-event__cta:hover
.smbf-business-event__cta-arrow {
    transform: translateX(4px);
}


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

@media (max-width: 767px) {

    .smbf-business-event {
        padding: 48px 18px 52px;
    }

    .smbf-business-event__rings {
        width: 200px;
        height: 200px;

        left: -110px;
        top: -80px;
    }

    .smbf-business-event__dots {
        display: none;
    }

    .smbf-business-event__eyebrow {
        font-size: 11px;
        letter-spacing: 3px;
    }

    .smbf-business-event__title {
        max-width: 440px;

        margin-top: 16px;

        font-size: 34px;

        line-height: 1.1;
        letter-spacing: -1.3px;
    }

    .smbf-business-event__title-highlight {
        width: auto;

        margin-top: 4px;
    }

    .smbf-business-event__copy {
        max-width: 500px;

        margin-top: 21px;

        font-size: 15px;

        line-height: 1.65;
    }

    .smbf-business-event__cta {
        width: 100%;

        min-width: 0;
        max-width: 320px;

        font-size: 14px;
    }

}


/* --- KEY SECTORS, ported from @H widget 4 --- */
.smbf-top-companies,
.smbf-top-companies *,
.smbf-top-companies *::before,
.smbf-top-companies *::after {
    box-sizing: border-box;
}

.smbf-top-companies {
    position: relative;
    width: 100%;
    overflow: hidden;

    padding: 62px 24px 66px;

    font-family: inherit;

    background:
        linear-gradient(
            180deg,
            #f7faff 0%,
            #eef5fc 100%
        );

    color: #071A3A;
}


/* =========================
   DECORATION
========================= */

.smbf-top-companies__rings {
    position: absolute;

    left: -105px;
    bottom: -110px;

    width: 260px;
    height: 260px;

    border-radius: 50%;

    background:
        repeating-radial-gradient(
            circle,
            transparent 0,
            transparent 30px,
            rgba(20, 91, 199, 0.07) 31px,
            transparent 32px
        );

    pointer-events: none;
}

.smbf-top-companies__dots {
    position: absolute;

    right: 4%;
    top: 60px;

    width: 105px;
    height: 105px;

    opacity: 0.58;

    background-image:
        radial-gradient(circle, #2870C5 2px, transparent 2.5px),
        radial-gradient(circle, #1598A7 2px, transparent 2.5px);

    background-size: 26px 26px;
    background-position: 0 0, 13px 13px;
}


/* =========================
   INNER
========================= */

.smbf-top-companies__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1180px;

    margin: 0 auto;

    text-align: center;
}


/* =========================
   EYEBROW
========================= */

.smbf-top-companies__eyebrow {
    display: inline-block;

    color: #148EA4;

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

    letter-spacing: 4px;

    text-transform: uppercase;
}

.smbf-top-companies__eyebrow::after {
    content: "";

    display: block;

    width: 62px;
    height: 2px;

    margin: 13px auto 0;

    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );
}


/* =========================
   TITLE
========================= */

.smbf-top-companies__title {
    max-width: 860px;

    margin: 20px auto 0;

    color: #071A3A;

    font-size: clamp(38px, 3.4vw, 48px);
    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -1.7px;
}


/* =========================
   DESCRIPTION
========================= */

.smbf-top-companies__description {
    max-width: 720px;

    margin: 18px auto 0;

    color: #435574;

    font-size: 16px;
    font-weight: 500;

    line-height: 1.65;
}


/* =========================
   GRID
========================= */

.smbf-top-companies__grid {
    display: grid;

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

    gap: 18px;

    margin-top: 34px;
}


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

.smbf-top-company-card {
    min-height: 170px;

    padding: 24px 20px;

    display: flex;
    flex-direction: column;

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

    text-align: center;

    background: rgba(255,255,255,0.94);

    border: 1px solid rgba(20,91,199,0.08);

    border-radius: 16px;

    box-shadow:
        0 10px 28px rgba(11,42,99,0.05);

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

.smbf-top-company-card:hover {
    transform: translateY(-3px);

    border-color: rgba(20,91,199,0.16);

    box-shadow:
        0 14px 30px rgba(11,42,99,0.08);
}


/* =========================
   ICON
========================= */

.smbf-top-company-card__icon {
    width: 58px;
    height: 58px;

    margin-bottom: 14px;

    border-radius: 50%;

    display: flex;

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

    background:
        linear-gradient(
            135deg,
            rgba(20,91,199,0.09) 0%,
            rgba(21,152,167,0.09) 55%,
            rgba(88,168,68,0.09) 100%
        );

    color: #145BC7;
}

.smbf-top-company-card__icon svg {
    width: 28px;
    height: 28px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================
   CARD TEXT
========================= */

.smbf-top-company-card__title {
    margin: 0;

    color: #0A2D68;

    font-size: 16px;
    font-weight: 700;

    line-height: 1.4;
}


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

@media (max-width: 1024px) {

    .smbf-top-companies__grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


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

@media (max-width: 767px) {

    .smbf-top-companies {
        padding:
            48px
            18px
            52px;
    }

    .smbf-top-companies__dots {
        display: none;
    }

    .smbf-top-companies__rings {
        width: 190px;
        height: 190px;

        left: -100px;
        bottom: -80px;
    }

    .smbf-top-companies__eyebrow {
        font-size: 11px;

        letter-spacing: 3px;
    }

    .smbf-top-companies__title {
        margin-top: 16px;

        font-size: 34px;

        line-height: 1.1;

        letter-spacing: -1.3px;
    }

    .smbf-top-companies__description {
        margin-top: 15px;

        font-size: 15px;

        line-height: 1.6;
    }

    .smbf-top-companies__grid {
        grid-template-columns: 1fr;

        gap: 12px;

        margin-top: 26px;
    }

    .smbf-top-company-card {
        min-height: 0;

        padding: 20px;

        display: grid;

        grid-template-columns: 52px 1fr;

        column-gap: 14px;

        text-align: left;

        align-items: center;
    }

    .smbf-top-company-card__icon {
        width: 52px;
        height: 52px;

        margin: 0;
    }

    .smbf-top-company-card__icon svg {
        width: 25px;
        height: 25px;
    }

    .smbf-top-company-card__title {
        font-size: 15px;
    }

}


/* --- EVENT BENEFITS, ported from @H widget 5 --- */
.smbf-event-gain,
.smbf-event-gain *,
.smbf-event-gain *::before,
.smbf-event-gain *::after {
    box-sizing: border-box;
}

.smbf-event-gain {
    position: relative;
    width: 100%;
    overflow: hidden;

    padding: 68px 24px;

    font-family: inherit;

    background: #ffffff;

    color: #071A3A;
}


/* =========================
   DECORATION
========================= */

.smbf-event-gain__rings {
    position: absolute;

    right: -115px;
    bottom: -120px;

    width: 270px;
    height: 270px;

    border-radius: 50%;

    background:
        repeating-radial-gradient(
            circle,
            transparent 0,
            transparent 30px,
            rgba(20,91,199,0.07) 31px,
            transparent 32px
        );

    pointer-events: none;
}

.smbf-event-gain__dots {
    position: absolute;

    left: 3.5%;
    top: 52px;

    width: 100px;
    height: 100px;

    opacity: 0.52;

    background-image:
        radial-gradient(circle, #2870C5 2px, transparent 2.5px),
        radial-gradient(circle, #1598A7 2px, transparent 2.5px);

    background-size: 26px 26px;
    background-position: 0 0, 13px 13px;

    pointer-events: none;
}


/* =========================
   INNER
========================= */

.smbf-event-gain__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1180px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 0.92fr 1.08fr;

    gap: 64px;

    align-items: center;
}


/* =========================
   CONTENT
========================= */

.smbf-event-gain__content {
    width: 100%;
}


/* =========================
   EYEBROW
========================= */

.smbf-event-gain__eyebrow {
    display: inline-block;

    color: #148EA4;

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

    letter-spacing: 4px;

    text-transform: uppercase;
}

.smbf-event-gain__eyebrow::after {
    content: "";

    display: block;

    width: 62px;
    height: 2px;

    margin-top: 13px;

    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );
}


/* =========================
   TITLE
========================= */

.smbf-event-gain__title {
    margin: 20px 0 0;

    max-width: 560px;

    color: #071A3A;

    font-size: clamp(38px, 3.4vw, 48px);
    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -1.7px;
}

.smbf-event-gain__highlight {
    display: block;

    width: fit-content;

    margin-top: 3px;

    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
    color: transparent;
}


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

.smbf-event-gain__intro {
    margin: 18px 0 0;

    max-width: 530px;

    color: #435574;

    font-size: 16px;
    font-weight: 500;

    line-height: 1.65;
}


/* =========================
   BULLETS
========================= */

.smbf-event-gain__list {
    margin: 24px 0 0;

    padding: 0;

    list-style: none;
}

.smbf-event-gain__list li {
    position: relative;

    margin-bottom: 13px;

    padding-left: 22px;

    color: #203A64;

    font-size: 16px;
    font-weight: 500;

    line-height: 1.55;
}

.smbf-event-gain__list li:last-child {
    margin-bottom: 0;
}

.smbf-event-gain__list li::before {
    content: "";

    position: absolute;

    left: 0;
    top: 10px;

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );
}

.smbf-event-gain__list strong {
    color: #071A3A;

    font-weight: 700;
}


/* =========================
   IMAGE
========================= */

.smbf-event-gain__visual {
    position: relative;

    width: 100%;
}

.smbf-event-gain__image {
    position: relative;

    width: 100%;
    height: 430px;

    overflow: hidden;

    border-radius: 18px;

    background: #edf3fa;

    box-shadow:
        0 16px 38px rgba(11,42,99,0.08);
}

.smbf-event-gain__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* IMAGE ACCENT */

.smbf-event-gain__visual::before {
    content: "";

    position: absolute;

    right: -16px;
    bottom: -16px;

    width: 68%;
    height: 68%;

    border-radius: 18px;

    background: linear-gradient(
        135deg,
        rgba(20,91,199,0.08),
        rgba(21,152,167,0.08),
        rgba(88,168,68,0.08)
    );
}


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

@media (max-width: 1024px) {

    .smbf-event-gain__inner {
        gap: 42px;

        grid-template-columns: 1fr 1fr;
    }

    .smbf-event-gain__image {
        height: 380px;
    }

}


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

@media (max-width: 767px) {

    .smbf-event-gain {
        padding:
            50px
            18px
            54px;
    }

    .smbf-event-gain__rings {
        width: 190px;
        height: 190px;

        right: -100px;
        bottom: -80px;
    }

    .smbf-event-gain__dots {
        display: none;
    }

    .smbf-event-gain__inner {
        display: flex;

        flex-direction: column;

        gap: 30px;
    }

    .smbf-event-gain__content {
        width: 100%;
    }

    .smbf-event-gain__eyebrow {
        font-size: 11px;

        letter-spacing: 3px;
    }

    .smbf-event-gain__title {
        margin-top: 16px;

        font-size: 34px;

        line-height: 1.1;

        letter-spacing: -1.3px;
    }

    .smbf-event-gain__highlight {
        width: auto;
    }

    .smbf-event-gain__intro {
        margin-top: 16px;

        font-size: 15px;

        line-height: 1.6;
    }

    .smbf-event-gain__list {
        margin-top: 21px;
    }

    .smbf-event-gain__list li {
        margin-bottom: 11px;

        font-size: 15px;

        line-height: 1.55;
    }

    .smbf-event-gain__image {
        height: 300px;

        border-radius: 16px;
    }

    .smbf-event-gain__visual::before {
        right: -9px;
        bottom: -9px;

        border-radius: 16px;
    }

}


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

@media (max-width: 420px) {

    .smbf-event-gain__title {
        font-size: 32px;
    }

    .smbf-event-gain__image {
        height: 260px;
    }

}


/* --- WHO SHOULD ATTEND, ported from @H widget 6 --- */
.smbf-event-for,
.smbf-event-for *,
.smbf-event-for *::before,
.smbf-event-for *::after {
    box-sizing: border-box;
}

.smbf-event-for {
    position: relative;
    width: 100%;
    overflow: hidden;

    padding: 68px 24px;

    font-family: inherit;

    background:
        linear-gradient(
            180deg,
            #f7faff 0%,
            #eef5fc 100%
        );

    color: #071A3A;
}


/* =========================
   DECORATION
========================= */

.smbf-event-for__rings {
    position: absolute;

    left: -115px;
    bottom: -120px;

    width: 270px;
    height: 270px;

    border-radius: 50%;

    background:
        repeating-radial-gradient(
            circle,
            transparent 0,
            transparent 30px,
            rgba(20,91,199,0.07) 31px,
            transparent 32px
        );

    pointer-events: none;
}

.smbf-event-for__dots {
    position: absolute;

    right: 3.5%;
    top: 52px;

    width: 100px;
    height: 100px;

    opacity: 0.52;

    background-image:
        radial-gradient(circle, #2870C5 2px, transparent 2.5px),
        radial-gradient(circle, #1598A7 2px, transparent 2.5px);

    background-size: 26px 26px;
    background-position: 0 0, 13px 13px;

    pointer-events: none;
}


/* =========================
   INNER
========================= */

.smbf-event-for__inner {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1180px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1.08fr 0.92fr;

    gap: 64px;

    align-items: center;
}


/* =========================
   IMAGE
========================= */

.smbf-event-for__visual {
    position: relative;

    width: 100%;
}

.smbf-event-for__image {
    position: relative;
    z-index: 2;

    width: 100%;
    height: 430px;

    overflow: hidden;

    border-radius: 18px;

    background: #eaf1f8;

    box-shadow:
        0 16px 38px rgba(11,42,99,0.08);
}

.smbf-event-for__image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.smbf-event-for__visual::before {
    content: "";

    position: absolute;

    left: -16px;
    bottom: -16px;

    width: 68%;
    height: 68%;

    border-radius: 18px;

    background: linear-gradient(
        135deg,
        rgba(20,91,199,0.08),
        rgba(21,152,167,0.08),
        rgba(88,168,68,0.08)
    );
}


/* =========================
   CONTENT
========================= */

.smbf-event-for__content {
    width: 100%;
}


/* =========================
   EYEBROW
========================= */

.smbf-event-for__eyebrow {
    display: inline-block;

    color: #148EA4;

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

    letter-spacing: 4px;

    text-transform: uppercase;
}

.smbf-event-for__eyebrow::after {
    content: "";

    display: block;

    width: 62px;
    height: 2px;

    margin-top: 13px;

    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );
}


/* =========================
   TITLE
========================= */

.smbf-event-for__title {
    max-width: 540px;

    margin: 20px 0 0;

    color: #071A3A;

    font-size: clamp(38px, 3.4vw, 48px);
    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -1.7px;
}

.smbf-event-for__highlight {
    display: block;

    width: fit-content;

    margin-top: 4px;

    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
    color: transparent;
}


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

.smbf-event-for__intro {
    max-width: 530px;

    margin: 20px 0 0;

    color: #435574;

    font-size: 16px;
    font-weight: 500;

    line-height: 1.68;
}


/* =========================
   BULLET LIST
========================= */

.smbf-event-for__list {
    margin: 25px 0 0;

    padding: 0;

    list-style: none;
}

.smbf-event-for__list li {
    position: relative;

    margin-bottom: 15px;

    padding-left: 22px;

    color: #203A64;

    font-size: 16px;
    font-weight: 500;

    line-height: 1.58;
}

.smbf-event-for__list li:last-child {
    margin-bottom: 0;
}

.smbf-event-for__list li::before {
    content: "";

    position: absolute;

    left: 0;
    top: 10px;

    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: linear-gradient(
        135deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );
}

.smbf-event-for__list strong {
    color: #071A3A;

    font-weight: 700;
}


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

@media (max-width: 1024px) {

    .smbf-event-for__inner {
        grid-template-columns: 1fr 1fr;

        gap: 42px;
    }

    .smbf-event-for__image {
        height: 380px;
    }

}


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

@media (max-width: 767px) {

    .smbf-event-for {
        padding: 50px 18px 54px;
    }

    .smbf-event-for__rings {
        width: 190px;
        height: 190px;

        left: -100px;
        bottom: -80px;
    }

    .smbf-event-for__dots {
        display: none;
    }

    .smbf-event-for__inner {
        display: flex;

        flex-direction: column;

        gap: 30px;
    }

    .smbf-event-for__visual {
        order: 2;
    }

    .smbf-event-for__content {
        order: 1;
    }

    .smbf-event-for__eyebrow {
        font-size: 11px;

        letter-spacing: 3px;
    }

    .smbf-event-for__title {
        margin-top: 16px;

        font-size: 34px;

        line-height: 1.1;

        letter-spacing: -1.3px;
    }

    .smbf-event-for__highlight {
        width: auto;
    }

    .smbf-event-for__intro {
        margin-top: 16px;

        font-size: 15px;

        line-height: 1.6;
    }

    .smbf-event-for__list {
        margin-top: 21px;
    }

    .smbf-event-for__list li {
        margin-bottom: 12px;

        font-size: 15px;

        line-height: 1.55;
    }

    .smbf-event-for__image {
        height: 300px;

        border-radius: 16px;
    }

    .smbf-event-for__visual::before {
        left: -9px;
        bottom: -9px;

        border-radius: 16px;
    }

}


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

@media (max-width: 420px) {

    .smbf-event-for__title {
        font-size: 32px;
    }

    .smbf-event-for__image {
        height: 260px;
    }

}


/* --- REGISTER HEADER, ported from @H widget 7.
   Header and wrapper rules ONLY - his form styling is deliberately left out,
   because the live form is a FluentForm with its own markup and classes. --- */
.smbf-register,
.smbf-register *,
.smbf-register *::before,
.smbf-register *::after{
    box-sizing: border-box;
}
.smbf-register{
    position: relative;
    width: 100%;
    overflow: hidden;

    padding: 72px 24px 82px;

    font-family: inherit;

    background:
        linear-gradient(
            180deg,
            #eef5fc 0%,
            #f7faff 100%
        );

    color: #071A3A;
}
.smbf-register__dots{
    position: absolute;

    right: 4%;
    bottom: 80px;

    width: 105px;
    height: 105px;

    opacity: 0.55;

    background-image:
        radial-gradient(circle, #2870C5 2px, transparent 2.5px),
        radial-gradient(circle, #1598A7 2px, transparent 2.5px);

    background-size: 26px 26px;
    background-position: 0 0, 13px 13px;
}
.smbf-register__eyebrow{
    display: inline-block;

    color: #148EA4;

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

    letter-spacing: 4px;

    text-transform: uppercase;
}
.smbf-register__eyebrow::after{
    content: "";

    display: block;

    width: 62px;
    height: 2px;

    margin: 13px auto 0;

    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );
}
.smbf-register__title{
    margin: 20px 0 0;

    color: #071A3A;

    font-size: clamp(38px, 3.4vw, 48px);
    font-weight: 800;

    line-height: 1.08;

    letter-spacing: -1.7px;
}
.smbf-register__highlight{
    background: linear-gradient(
        90deg,
        #145BC7 0%,
        #1598A7 55%,
        #58A844 100%
    );

    -webkit-background-clip: text;
    background-clip: text;

    -webkit-text-fill-color: transparent;
    color: transparent;
}
.smbf-register__description{
    margin: 18px auto 0;

    color: #435574;

    font-size: 16px;
    font-weight: 500;

    line-height: 1.65;
}
/* =========================
   INPUTS
========================= */

.smbf-register input[type="text"],
.smbf-register input[type="email"],
.smbf-register input[type="tel"],
.smbf-register input[type="number"],
.smbf-register select,
.smbf-register textarea{
    width: 100%;

    min-height: 50px;

    padding: 13px 15px;

    border: 1px solid #CFD9E8;

    border-radius: 9px;

    background: #ffffff;

    color: #203A64;

    font-family: inherit;

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

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}
.smbf-register textarea{
    min-height: 110px;

    resize: vertical;
}
.smbf-register input::placeholder,
.smbf-register textarea::placeholder{
    color: #9AA7BA;
}
.smbf-register input:focus,
.smbf-register select:focus,
.smbf-register textarea:focus{
    border-color: #1598A7;

    box-shadow:
        0 0 0 3px rgba(21,152,167,0.08);
}
.smbf-register{
        padding:
            52px
            18px
            58px;
    }
.smbf-register__rings{
        width: 190px;
        height: 190px;

        left: -100px;
        top: -70px;
    }
.smbf-register__dots{
        display: none;
    }
.smbf-register__header{
        margin-bottom: 28px;
    }
.smbf-register__eyebrow{
        font-size: 11px;

        letter-spacing: 3px;
    }
.smbf-register__title{
        margin-top: 16px;

        font-size: 34px;

        line-height: 1.1;

        letter-spacing: -1.3px;
    }
.smbf-register__description{
        font-size: 15px;
    }
@media (max-width: 900px) {

    .smbf-register__checks {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* 🔴 These two were dropped by the rule filter when widget 7 was ported -
   the selector test required a space before the brace and his source has
   none. They are the rules that CENTRE the band: __inner sets the max-width
   and auto margins, __header sets text-align:center. Without them the
   heading sat hard against the left edge of the viewport. */
.smbf-register__inner{
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1180px;

    margin: 0 auto;
}
.smbf-register__header{
    max-width: 760px;

    margin: 0 auto 36px;

    text-align: center;
}
