:root {
    --abh-bg: #05080f;
    --abh-surface: rgba(12, 19, 32, 0.94);
    --abh-surface-soft: rgba(20, 31, 50, 0.76);
    --abh-border: rgba(79, 157, 255, 0.2);
    --abh-blue: #2f8cff;
    --abh-blue-light: #72b7ff;
    --abh-text: #f5f8ff;
    --abh-muted: #98a8bd;
    --abh-radius: 18px;
    --abh-shadow: 0 18px 55px rgba(0, 0, 0, 0.32);
}

* {
    box-sizing: border-box;
}

html {
    color-scheme: dark;
}

body {
    margin: 0;
    min-height: 100vh;
    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(47, 140, 255, 0.12),
            transparent 34rem
        ),
        var(--abh-bg);
    color: var(--abh-text);
    font-family:
        Inter,
        Arial,
        sans-serif;
}

a {
    color: inherit;
    text-decoration: none;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    padding: 14px 18px;
    background: rgba(5, 8, 15, 0.76);
    border-bottom: 1px solid rgba(79, 157, 255, 0.08);
    backdrop-filter: blur(18px);
}

.site-header__inner {
    width: min(1380px, 100%);
    min-height: 70px;
    margin-inline: auto;
    padding: 10px 14px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    background: linear-gradient(
        135deg,
        var(--abh-surface),
        rgba(8, 13, 24, 0.96)
    );
    border: 1px solid var(--abh-border);
    border-radius: var(--abh-radius);
    box-shadow: var(--abh-shadow);
}

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    min-width: max-content;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -0.03em;
}

.site-brand__mark {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(114, 183, 255, 0.5);
    border-radius: 13px;
    background:
        linear-gradient(
            145deg,
            rgba(47, 140, 255, 0.34),
            rgba(47, 140, 255, 0.08)
        );
    color: var(--abh-blue-light);
    box-shadow:
        inset 0 0 18px rgba(47, 140, 255, 0.15),
        0 0 24px rgba(47, 140, 255, 0.14);
}

.site-brand__logo {
    width: 31px;
    height: 31px;
    display: block;
    overflow: visible;
}

.site-brand__text {
    background: linear-gradient(
        90deg,
        #ffffff,
        var(--abh-blue-light)
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.site-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.site-nav a {
    padding: 10px 13px;
    border-radius: 10px;
    color: var(--abh-muted);
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    transition:
        color 0.2s ease,
        background 0.2s ease,
        transform 0.2s ease;
}

.site-nav a:hover {
    color: #ffffff;
    background: rgba(47, 140, 255, 0.11);
    transform: translateY(-1px);
}

.site-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: max-content;
}

.language-switch,
.login-link,
.register-link {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 14px;
    border-radius: 11px;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        background 0.2s ease;
}

.language-switch {
    color: var(--abh-blue-light);
    border: 1px solid rgba(114, 183, 255, 0.22);
    background: rgba(47, 140, 255, 0.07);
}

.login-link {
    color: #d8e5f6;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.035);
}

.register-link {
    color: #ffffff;
    border: 1px solid rgba(114, 183, 255, 0.5);
    background: linear-gradient(
        135deg,
        #1679ed,
        #3d9aff
    );
    box-shadow: 0 10px 26px rgba(47, 140, 255, 0.22);
}

.language-switch:hover,
.login-link:hover,
.register-link:hover {
    transform: translateY(-2px);
}

@media (max-width: 1050px) {
    .site-header__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
    }

    .site-nav {
        grid-column: 1 / -1;
        justify-content: flex-start;
        overflow-x: auto;
        padding-block-start: 4px;
        scrollbar-width: none;
    }

    .site-nav::-webkit-scrollbar {
        display: none;
    }
}

@media (max-width: 620px) {
    .site-header {
        padding: 8px;
    }

    .site-header__inner {
        min-height: auto;
        padding: 10px;
        border-radius: 15px;
    }

    .site-brand__mark {
        width: 38px;
        height: 38px;
    }
    .site-brand__logo {
        width: 27px;
        height: 27px;
    }


    .site-brand__text {
        font-size: 15px;
    }

    .login-link {
        display: none;
    }

    .language-switch,
    .register-link {
        min-height: 37px;
        padding-inline: 10px;
        font-size: 12px;
    }

    .site-nav {
        gap: 3px;
    }

    .site-nav a {
        padding: 9px 11px;
        font-size: 13px;
    }
}

.home-main {
    width: min(1380px, calc(100% - 36px));
    margin-inline: auto;
}

.hero-section {
    min-height: 620px;
    display: flex;
    align-items: center;
    padding-block: 80px;
}

.hero-section__content {
    width: min(720px, 100%);
}

.hero-section__eyebrow {
    display: inline-flex;
    margin-bottom: 18px;
    padding: 8px 13px;
    border: 1px solid rgba(114, 183, 255, 0.24);
    border-radius: 999px;
    background: rgba(47, 140, 255, 0.08);
    color: var(--abh-blue-light);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.05em;
}

.hero-section h1 {
    margin: 0;
    font-size: clamp(42px, 6vw, 78px);
    line-height: 1.04;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.hero-section p {
    max-width: 650px;
    margin: 24px 0 0;
    color: var(--abh-muted);
    font-size: clamp(17px, 2vw, 21px);
    line-height: 1.8;
}

.hero-section__button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 32px;
    padding: 12px 22px;
    border: 1px solid rgba(114, 183, 255, 0.5);
    border-radius: 13px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #ffffff;
    font-weight: 900;
    box-shadow: 0 14px 35px rgba(47, 140, 255, 0.24);
    transition: transform 0.2s ease;
}

.hero-section__button:hover {
    transform: translateY(-2px);
}

@media (max-width: 620px) {
    .home-main {
        width: min(100% - 20px, 1380px);
    }

    .hero-section {
        min-height: 520px;
        padding-block: 55px;
    }

    .hero-section h1 {
        font-size: clamp(38px, 12vw, 54px);
    }
}

.hero-section__grid {
    width: 100%;
    display: grid;
    grid-template-columns:
        minmax(0, 1.1fr)
        minmax(340px, 0.75fr);
    align-items: center;
    gap: clamp(45px, 7vw, 110px);
}

.hero-section__content {
    width: 100%;
}

.broker-finder {
    position: relative;
    overflow: hidden;
    padding: 28px;
    border: 1px solid rgba(114, 183, 255, 0.25);
    border-radius: 24px;
    background:
        linear-gradient(
            145deg,
            rgba(16, 27, 46, 0.96),
            rgba(7, 12, 22, 0.98)
        );
    box-shadow:
        0 25px 70px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.broker-finder::before {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    inset-block-start: -130px;
    inset-inline-end: -90px;
    border-radius: 50%;
    background: rgba(47, 140, 255, 0.18);
    filter: blur(20px);
    pointer-events: none;
}

.broker-finder__heading {
    position: relative;
    margin-bottom: 24px;
}

.broker-finder__kicker {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.broker-finder__heading h2 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(24px, 3vw, 32px);
    line-height: 1.25;
    letter-spacing: -0.035em;
}

.broker-finder__form {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.broker-finder__field {
    display: grid;
    gap: 8px;
}

.broker-finder__field > span {
    color: #b8c7da;
    font-size: 12px;
    font-weight: 800;
}

.broker-finder__field input,
.broker-finder__field select {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid rgba(114, 183, 255, 0.17);
    border-radius: 12px;
    outline: none;
    background: rgba(4, 9, 17, 0.82);
    color: #ffffff;
    font: inherit;
    font-size: 13px;
    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.broker-finder__field input::placeholder {
    color: #687a91;
}

.broker-finder__field input:focus,
.broker-finder__field select:focus {
    border-color: rgba(114, 183, 255, 0.62);
    box-shadow: 0 0 0 3px rgba(47, 140, 255, 0.11);
}

.broker-finder__button {
    grid-column: 1 / -1;
    min-height: 52px;
    margin-top: 5px;
    border: 1px solid rgba(114, 183, 255, 0.55);
    border-radius: 13px;
    background:
        linear-gradient(
            135deg,
            #1679ed,
            #3d9aff
        );
    color: #ffffff;
    font: inherit;
    font-size: 14px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 14px 32px rgba(47, 140, 255, 0.23);
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.broker-finder__button:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(47, 140, 255, 0.3);
}

@media (max-width: 920px) {
    .hero-section__grid {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .hero-section__content {
        width: min(720px, 100%);
    }

    .broker-finder {
        width: min(680px, 100%);
    }
}

@media (max-width: 560px) {
    .broker-finder {
        padding: 20px;
        border-radius: 19px;
    }

    .broker-finder__form {
        grid-template-columns: 1fr;
    }

    .broker-finder__button {
        grid-column: auto;
    }
}

.brokers-page {
    width: min(1380px, calc(100% - 36px));
    margin-inline: auto;
    padding-block: 80px;
}

.brokers-page__hero {
    width: min(760px, 100%);
    margin-bottom: 45px;
}

.brokers-page__hero h1 {
    margin: 0;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1.08;
    letter-spacing: -0.05em;
}

.brokers-page__hero p {
    margin: 20px 0 0;
    color: var(--abh-muted);
    font-size: 18px;
    line-height: 1.8;
}

.brokers-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.broker-card {
    display: flex;
    flex-direction: column;
    padding: 24px;
    border: 1px solid var(--abh-border);
    border-radius: 22px;
    background:
        linear-gradient(
            145deg,
            rgba(15, 25, 42, 0.95),
            rgba(7, 12, 22, 0.98)
        );
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.28);
}

.broker-card__top {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.broker-card__logo,
.broker-card__placeholder {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border: 1px solid rgba(114, 183, 255, 0.35);
    border-radius: 16px;
}

.broker-card__logo {
    object-fit: contain;
    padding: 7px;
    background: #ffffff;
}

.broker-card__placeholder {
    display: grid;
    place-items: center;
    background: rgba(47, 140, 255, 0.12);
    color: var(--abh-blue-light);
    font-size: 13px;
    font-weight: 900;
}

.broker-card h2 {
    margin: 2px 0 8px;
    font-size: 22px;
}

.broker-card__top p {
    margin: 0;
    color: var(--abh-muted);
    font-size: 14px;
    line-height: 1.7;
}

.broker-card__details {
    display: grid;
    gap: 11px;
    margin: 24px 0;
}

.broker-card__details > div {
    padding: 12px 13px;
    border: 1px solid rgba(114, 183, 255, 0.1);
    border-radius: 12px;
    background: rgba(2, 7, 14, 0.45);
}

.broker-card__details dt {
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 900;
}

.broker-card__details dd {
    margin: 5px 0 0;
    color: #e8f0fb;
    font-size: 13px;
    line-height: 1.6;
}

.broker-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: auto;
}

.broker-card__details-button,
.broker-card__visit-button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 12px;
    border-radius: 11px;
    font-size: 13px;
    font-weight: 900;
    text-align: center;
}

.broker-card__details-button {
    border: 1px solid rgba(114, 183, 255, 0.25);
    background: rgba(47, 140, 255, 0.08);
    color: var(--abh-blue-light);
}

.broker-card__visit-button {
    border: 1px solid rgba(114, 183, 255, 0.5);
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #ffffff;
}

.brokers-empty {
    padding: 35px;
    border: 1px solid var(--abh-border);
    border-radius: 18px;
    color: var(--abh-muted);
    text-align: center;
}

@media (max-width: 1050px) {
    .brokers-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .brokers-page {
        width: min(100% - 20px, 1380px);
        padding-block: 55px;
    }

    .brokers-grid {
        grid-template-columns: 1fr;
    }

    .broker-card {
        padding: 19px;
    }
}

.broker-page {
    width: min(1380px, calc(100% - 36px));
    margin-inline: auto;
    padding-block: 72px 100px;
}

.broker-profile-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    padding: clamp(26px, 4vw, 44px);
    border: 1px solid rgba(114, 183, 255, 0.23);
    border-radius: 26px;
    background:
        linear-gradient(
            140deg,
            rgba(16, 27, 46, 0.97),
            rgba(6, 11, 20, 0.99)
        );
    box-shadow:
        0 26px 70px rgba(0, 0, 0, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.broker-profile-hero::before {
    content: "";
    position: absolute;
    width: 340px;
    height: 340px;
    inset-block-start: -210px;
    inset-inline-end: -140px;
    border-radius: 50%;
    background: rgba(47, 140, 255, 0.18);
    filter: blur(28px);
    pointer-events: none;
}

.broker-profile-hero__identity {
    position: relative;
    display: flex;
    align-items: center;
    gap: 22px;
    min-width: 0;
}

.broker-profile-hero__logo,
.broker-profile-hero__placeholder {
    width: 94px;
    height: 94px;
    flex: 0 0 94px;
    border: 1px solid rgba(114, 183, 255, 0.35);
    border-radius: 23px;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.25);
}

.broker-profile-hero__logo {
    padding: 11px;
    object-fit: contain;
    background: #ffffff;
}

.broker-profile-hero__placeholder {
    display: grid;
    place-items: center;
    background:
        linear-gradient(
            145deg,
            rgba(47, 140, 255, 0.24),
            rgba(47, 140, 255, 0.07)
        );
    color: var(--abh-blue-light);
    font-size: 20px;
    font-weight: 900;
}

.broker-profile-hero h1 {
    margin: 0;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.broker-profile-hero__identity p {
    max-width: 680px;
    margin: 14px 0 0;
    color: var(--abh-muted);
    font-size: 16px;
    line-height: 1.8;
}

.broker-profile-hero__actions {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
}

.broker-profile-hero__back,
.broker-profile-hero__visit {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
    transition:
        transform 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.broker-profile-hero__back {
    border: 1px solid rgba(114, 183, 255, 0.22);
    background: rgba(47, 140, 255, 0.07);
    color: var(--abh-blue-light);
}

.broker-profile-hero__visit {
    border: 1px solid rgba(114, 183, 255, 0.52);
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #ffffff;
    box-shadow: 0 13px 30px rgba(47, 140, 255, 0.24);
}

.broker-profile-hero__back:hover,
.broker-profile-hero__visit:hover {
    transform: translateY(-2px);
}

.broker-overview {
    margin-top: 28px;
    padding: clamp(25px, 4vw, 40px);
    border: 1px solid rgba(114, 183, 255, 0.16);
    border-radius: 23px;
    background:
        linear-gradient(
            145deg,
            rgba(13, 22, 37, 0.94),
            rgba(6, 11, 20, 0.97)
        );
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.25);
}

.broker-overview h2 {
    margin: 0;
    font-size: clamp(25px, 3vw, 34px);
    letter-spacing: -0.035em;
}

.broker-overview > p {
    max-width: 950px;
    margin: 20px 0 0;
    color: var(--abh-muted);
    font-size: 16px;
    line-height: 1.95;
}

.broker-overview__highlights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin-top: 32px;
}

.broker-overview__highlights article {
    min-height: 125px;
    padding: 20px;
    border: 1px solid rgba(114, 183, 255, 0.13);
    border-radius: 16px;
    background: rgba(2, 7, 14, 0.48);
}

.broker-overview__highlights span {
    display: block;
    margin-bottom: 11px;
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
}

.broker-overview__highlights strong {
    display: block;
    color: #f1f6fd;
    font-size: 15px;
    line-height: 1.7;
}

.broker-not-found {
    padding: 45px;
    border: 1px solid var(--abh-border);
    border-radius: 22px;
    background: var(--abh-surface);
    text-align: center;
}

.broker-not-found h1 {
    margin: 0 0 24px;
    font-size: clamp(28px, 4vw, 44px);
}

.broker-not-found a {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border: 1px solid rgba(114, 183, 255, 0.4);
    border-radius: 12px;
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
    font-weight: 900;
}

@media (max-width: 900px) {
    .broker-profile-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .broker-profile-hero__actions {
        width: 100%;
    }

    .broker-profile-hero__back,
    .broker-profile-hero__visit {
        flex: 1;
    }

    .broker-overview__highlights {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .broker-page {
        width: min(100% - 20px, 1380px);
        padding-block: 50px 70px;
    }

    .broker-profile-hero {
        padding: 21px;
        border-radius: 20px;
    }

    .broker-profile-hero__identity {
        align-items: flex-start;
        flex-direction: column;
    }

    .broker-profile-hero__logo,
    .broker-profile-hero__placeholder {
        width: 76px;
        height: 76px;
        flex-basis: 76px;
        border-radius: 18px;
    }

    .broker-profile-hero__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .broker-overview {
        padding: 21px;
        border-radius: 19px;
    }
}
/* Part 02: expanded broker profiles */
.broker-profile-hero__copy {
    min-width: 0;
}

.broker-profile-hero__badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 18px;
}

.broker-profile-badge {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 999px;
    background: rgba(47, 140, 255, 0.08);
    color: #c8dcf5;
    font-size: 11px;
    font-weight: 900;
}

.broker-profile-badge--success {
    border-color: rgba(63, 214, 148, 0.24);
    background: rgba(63, 214, 148, 0.08);
    color: #8be9bf;
}

.broker-snapshot {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.broker-snapshot__item {
    min-height: 98px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 16px;
    border: 1px solid rgba(114, 183, 255, 0.14);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(14, 23, 38, 0.92), rgba(6, 11, 20, 0.96));
}

.broker-snapshot__item span {
    color: var(--abh-muted);
    font-size: 10px;
    font-weight: 900;
}

.broker-snapshot__item strong {
    display: block;
    margin-top: 9px;
    color: #fff;
    font-size: 15px;
    line-height: 1.45;
}

.broker-page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    align-items: start;
    gap: 22px;
    margin-top: 24px;
}

.broker-page-main {
    min-width: 0;
    display: grid;
    gap: 20px;
}

.broker-content-card,
.broker-sidebar-card {
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 21px;
    background: linear-gradient(145deg, rgba(13, 22, 37, 0.95), rgba(6, 11, 20, 0.98));
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);
}

.broker-content-card {
    padding: clamp(22px, 3vw, 34px);
}

.broker-section-heading {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 22px;
}

.broker-section-heading > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    flex: 0 0 38px;
    border: 1px solid rgba(114, 183, 255, 0.28);
    border-radius: 11px;
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 900;
}

.broker-section-heading h2,
.broker-summary-card h2,
.broker-sidebar-card h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(22px, 2.5vw, 30px);
    letter-spacing: -0.035em;
}

.broker-rich-text {
    margin: 0;
    color: var(--abh-muted);
    font-size: 15px;
    line-height: 2;
}

.broker-overview {
    margin-top: 0;
}

.broker-overview > p {
    max-width: none;
    margin: 0;
}

.broker-overview__highlights {
    margin-top: 26px;
}

.broker-facts-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.broker-facts-grid > div {
    min-height: 78px;
    padding: 14px 15px;
    border: 1px solid rgba(114, 183, 255, 0.1);
    border-radius: 13px;
    background: rgba(2, 7, 14, 0.45);
}

.broker-facts-grid dt {
    color: var(--abh-muted);
    font-size: 10px;
    font-weight: 900;
}

.broker-facts-grid dd {
    margin: 8px 0 0;
    color: #eef4fd;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.5;
}

.broker-platform-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.broker-platform-card {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 17px;
    border: 1px solid rgba(114, 183, 255, 0.12);
    border-radius: 15px;
    background: rgba(2, 7, 14, 0.45);
}

.broker-platform-card__icon {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    border: 1px solid rgba(114, 183, 255, 0.28);
    border-radius: 11px;
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
    font-size: 13px;
    font-weight: 900;
}

.broker-platform-card h3 {
    margin: 0;
    color: #fff;
    font-size: 16px;
}

.broker-platform-card p {
    margin: 6px 0 0;
    color: var(--abh-muted);
    font-size: 12px;
}

.broker-platform-card__devices {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 11px;
}

.broker-platform-card__devices span,
.broker-chip-list span {
    display: inline-flex;
    align-items: center;
    padding: 6px 9px;
    border: 1px solid rgba(114, 183, 255, 0.14);
    border-radius: 999px;
    background: rgba(47, 140, 255, 0.07);
    color: #bcd3ef;
    font-size: 10px;
    font-weight: 900;
}

.broker-chip-list {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.broker-chip-list span {
    min-height: 35px;
    padding-inline: 13px;
    font-size: 11px;
}

.broker-regulation-list {
    display: grid;
    gap: 13px;
    margin-top: 22px;
}

.broker-regulation-card {
    padding: 18px;
    border: 1px solid rgba(114, 183, 255, 0.13);
    border-radius: 15px;
    background: rgba(2, 7, 14, 0.48);
}

.broker-regulation-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
}

.broker-regulation-card h3 {
    margin: 0;
    color: #fff;
    font-size: 17px;
}

.broker-regulation-card p {
    margin: 6px 0 0;
    color: var(--abh-muted);
    font-size: 12px;
}

.broker-regulation-card__badges {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.broker-regulation-card__badges span {
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
}

.broker-regulation-card__badges .is-primary {
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
}

.broker-regulation-card__badges .is-active {
    background: rgba(63, 214, 148, 0.1);
    color: #8be9bf;
}

.broker-regulation-card__badges .is-limited {
    background: rgba(255, 190, 75, 0.1);
    color: #ffd28a;
}

.broker-regulation-card__badges .is-unknown {
    background: rgba(150, 165, 185, 0.1);
    color: #b6c2d2;
}

.broker-regulation-card dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 16px 0 0;
}

.broker-regulation-card dl > div {
    padding: 10px 11px;
    border-radius: 10px;
    background: rgba(7, 13, 23, 0.75);
}

.broker-regulation-card dt {
    color: var(--abh-muted);
    font-size: 9px;
    font-weight: 900;
}

.broker-regulation-card dd {
    margin: 6px 0 0;
    color: #e8f1fc;
    font-size: 12px;
    font-weight: 800;
}

.broker-regulation-card > a {
    display: inline-flex;
    margin-top: 14px;
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 900;
}

.broker-summary-card h2 {
    margin-bottom: 16px;
}

.broker-page-sidebar {
    position: sticky;
    top: 105px;
    display: grid;
    gap: 16px;
}

.broker-sidebar-card {
    padding: 20px;
}

.broker-sidebar-card h2 {
    margin-bottom: 17px;
    font-size: 20px;
}

.broker-safety-list {
    display: grid;
    gap: 0;
    margin: 0;
}

.broker-safety-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(114, 183, 255, 0.08);
}

.broker-safety-list > div:last-child {
    border-bottom: 0;
}

.broker-safety-list dt {
    color: #c8d5e6;
    font-size: 11px;
    font-weight: 800;
}

.broker-safety-list dd {
    margin: 0;
    font-size: 10px;
    font-weight: 900;
}

.broker-safety-list dd.is-yes {
    color: #8be9bf;
}

.broker-safety-list dd.is-no {
    color: #ffaaaa;
}

.broker-safety-list dd.is-unknown {
    color: var(--abh-muted);
}

.broker-payment-list {
    display: grid;
    gap: 8px;
}

.broker-payment-list > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 12px;
    border: 1px solid rgba(114, 183, 255, 0.09);
    border-radius: 10px;
    background: rgba(2, 7, 14, 0.42);
}

.broker-payment-list strong {
    color: #f1f6fd;
    font-size: 11px;
}

.broker-payment-list span {
    color: var(--abh-muted);
    font-size: 9px;
    text-align: end;
}

.broker-sidebar-cta {
    position: relative;
    overflow: hidden;
    padding: 23px;
    border: 1px solid rgba(114, 183, 255, 0.28);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(25, 71, 130, 0.45), rgba(7, 14, 25, 0.98));
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25);
}

.broker-sidebar-cta::before {
    content: "";
    position: absolute;
    width: 170px;
    height: 170px;
    inset-block-start: -100px;
    inset-inline-end: -70px;
    border-radius: 50%;
    background: rgba(47, 140, 255, 0.2);
    filter: blur(18px);
}

.broker-sidebar-cta span,
.broker-sidebar-cta h2,
.broker-sidebar-cta a {
    position: relative;
}

.broker-sidebar-cta span {
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
}

.broker-sidebar-cta h2 {
    margin: 9px 0 18px;
    color: #fff;
    font-size: 22px;
}

.broker-sidebar-cta a {
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border: 1px solid rgba(114, 183, 255, 0.52);
    border-radius: 11px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    text-align: center;
}

.broker-card__identity {
    min-width: 0;
    flex: 1;
}

.broker-card__title-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.broker-card__regulated {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(63, 214, 148, 0.09);
    color: #8be9bf;
    font-size: 9px;
    font-weight: 900;
}

.broker-card__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 20px;
}

.broker-card__metrics > div {
    min-height: 66px;
    padding: 10px;
    border: 1px solid rgba(114, 183, 255, 0.1);
    border-radius: 11px;
    background: rgba(2, 7, 14, 0.4);
}

.broker-card__metrics span {
    display: block;
    color: var(--abh-muted);
    font-size: 8px;
    font-weight: 900;
}

.broker-card__metrics strong {
    display: block;
    margin-top: 7px;
    color: #f1f6fd;
    font-size: 12px;
    line-height: 1.35;
}

@media (max-width: 1180px) {
    .broker-snapshot {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .broker-page-layout {
        grid-template-columns: minmax(0, 1fr) 285px;
    }
}

@media (max-width: 900px) {
    .broker-page-layout {
        grid-template-columns: 1fr;
    }

    .broker-page-sidebar {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .broker-sidebar-cta {
        grid-column: 1 / -1;
    }
}

@media (max-width: 680px) {
    .broker-snapshot,
    .broker-facts-grid,
    .broker-platform-grid,
    .broker-page-sidebar,
    .broker-card__metrics {
        grid-template-columns: 1fr;
    }

    .broker-snapshot__item {
        min-height: 78px;
    }

    .broker-regulation-card__top {
        flex-direction: column;
    }

    .broker-regulation-card__badges {
        justify-content: flex-start;
    }

    .broker-regulation-card dl {
        grid-template-columns: 1fr;
    }

    .broker-card__title-line {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Part 03: account types and comparison */
.broker-account-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.broker-account-card {
    position: relative;
    overflow: hidden;
    padding: 20px;
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(8, 16, 29, 0.96), rgba(3, 8, 16, 0.98));
}

.broker-account-card.is-featured {
    border-color: rgba(114, 183, 255, 0.42);
    box-shadow: 0 18px 50px rgba(47, 140, 255, 0.12);
}

.broker-account-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.broker-account-card__featured {
    display: inline-flex;
    margin-bottom: 7px;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(47, 140, 255, 0.12);
    color: var(--abh-blue-light);
    font-size: 9px;
    font-weight: 900;
}

.broker-account-card h3 {
    margin: 0;
    color: #fff;
    font-size: 20px;
}

.broker-account-card__head p {
    margin: 7px 0 0;
    color: var(--abh-muted);
    font-size: 11px;
    line-height: 1.6;
}

.broker-account-card__category {
    flex: 0 0 auto;
    padding: 6px 9px;
    border: 1px solid rgba(114, 183, 255, 0.18);
    border-radius: 999px;
    color: #b9cbe1;
    font-size: 9px;
    font-weight: 900;
}

.broker-account-card__description {
    margin: 15px 0 0;
    color: var(--abh-muted);
    font-size: 12px;
    line-height: 1.8;
}

.broker-account-card__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin: 17px 0 0;
}

.broker-account-card__facts div {
    padding: 10px;
    border: 1px solid rgba(114, 183, 255, 0.09);
    border-radius: 10px;
    background: rgba(1, 6, 13, 0.5);
}

.broker-account-card__facts dt {
    color: var(--abh-muted);
    font-size: 8px;
    font-weight: 900;
}

.broker-account-card__facts dd {
    margin: 6px 0 0;
    color: #eef5fd;
    font-size: 11px;
    font-weight: 800;
}

.broker-account-card__rules {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 15px;
}

.broker-account-card__rules span {
    padding: 6px 8px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 900;
}

.broker-account-card__rules .is-yes {
    background: rgba(55, 210, 145, 0.09);
    color: #90f0c6;
}

.broker-account-card__rules .is-no {
    background: rgba(255, 95, 95, 0.08);
    color: #ffb0b0;
}

.compare-page {
    width: min(1380px, calc(100% - 36px));
    margin-inline: auto;
    padding-block: 72px 100px;
}

.compare-hero {
    width: min(820px, 100%);
    margin-bottom: 34px;
}

.compare-hero h1 {
    margin: 0;
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1.06;
    letter-spacing: -0.05em;
}

.compare-hero p {
    margin: 18px 0 0;
    color: var(--abh-muted);
    font-size: 17px;
    line-height: 1.8;
}

.compare-picker,
.compare-results,
.compare-notice {
    margin-top: 22px;
    border: 1px solid rgba(114, 183, 255, 0.17);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(13, 22, 37, 0.96), rgba(5, 10, 19, 0.98));
}

.compare-picker {
    padding: 22px;
}

.compare-picker__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.compare-picker__heading strong {
    display: block;
    color: #fff;
    font-size: 20px;
}

.compare-picker__heading span {
    display: block;
    margin-top: 6px;
    color: var(--abh-muted);
    font-size: 11px;
}

.compare-picker__heading button {
    min-height: 46px;
    padding: 10px 18px;
    border: 1px solid rgba(114, 183, 255, 0.5);
    border-radius: 11px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.compare-picker__options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.compare-option {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 13px;
    border: 1px solid rgba(114, 183, 255, 0.11);
    border-radius: 12px;
    background: rgba(2, 7, 14, 0.5);
    cursor: pointer;
}

.compare-option:has(input:checked) {
    border-color: rgba(114, 183, 255, 0.48);
    background: rgba(47, 140, 255, 0.09);
}

.compare-option input {
    position: absolute;
    opacity: 0;
}

.compare-option__mark {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 1px solid rgba(114, 183, 255, 0.35);
    border-radius: 5px;
}

.compare-option:has(input:checked) .compare-option__mark {
    background: #2f8cff;
    box-shadow: inset 0 0 0 4px #09111e;
}

.compare-option__content strong,
.compare-option__content span {
    display: block;
}

.compare-option__content strong {
    color: #fff;
    font-size: 12px;
}

.compare-option__content span {
    margin-top: 4px;
    color: var(--abh-muted);
    font-size: 10px;
}

.compare-notice {
    padding: 28px;
    color: var(--abh-muted);
    text-align: center;
}

.compare-table-wrap {
    overflow-x: auto;
}

.compare-table {
    width: 100%;
    min-width: 850px;
    border-collapse: collapse;
}

.compare-table th,
.compare-table td {
    padding: 16px;
    border-bottom: 1px solid rgba(114, 183, 255, 0.09);
    text-align: start;
}

.compare-table thead th {
    background: rgba(47, 140, 255, 0.06);
    vertical-align: top;
}

.compare-table tbody th {
    width: 190px;
    color: var(--abh-blue-light);
    font-size: 11px;
}

.compare-table tbody td {
    color: #e9f1fb;
    font-size: 12px;
    font-weight: 700;
}

.compare-account-head {
    min-width: 180px;
}

.compare-account-head img,
.compare-account-head > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 10px;
    padding: 5px;
    border-radius: 12px;
    background: #fff;
    object-fit: contain;
    color: #1b5fa9;
    font-size: 10px;
    font-weight: 900;
}

.compare-account-head strong,
.compare-account-head small {
    display: block;
}

.compare-account-head strong {
    color: #fff;
    font-size: 14px;
}

.compare-account-head small {
    margin-top: 5px;
    color: var(--abh-muted);
    font-size: 10px;
}

.compare-table__actions td {
    vertical-align: top;
}

.compare-table__actions a {
    min-height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 7px;
    padding: 8px 10px;
    border: 1px solid rgba(114, 183, 255, 0.22);
    border-radius: 9px;
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
}

.compare-table__actions a.is-primary {
    border-color: rgba(114, 183, 255, 0.48);
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
}

@media (max-width: 900px) {
    .broker-account-grid,
    .compare-picker__options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .compare-page {
        width: min(100% - 20px, 1380px);
        padding-block: 50px 70px;
    }

    .broker-account-grid,
    .broker-account-card__facts,
    .compare-picker__options {
        grid-template-columns: 1fr;
    }

    .compare-picker__heading {
        align-items: stretch;
        flex-direction: column;
    }
}

/* Part 04: deals and broker offers */
.deals-page {
    width: min(1380px, calc(100% - 36px));
    margin-inline: auto;
    padding-block: 72px 100px;
}

.deals-hero {
    width: min(820px, 100%);
    margin-bottom: 34px;
}

.deals-hero h1 {
    margin: 0;
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1.06;
    letter-spacing: -0.05em;
}

.deals-hero p {
    margin: 18px 0 0;
    color: var(--abh-muted);
    font-size: 17px;
    line-height: 1.8;
}

.deals-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.deal-card {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 22px;
    border: 1px solid rgba(114, 183, 255, 0.16);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(13, 22, 37, 0.97), rgba(5, 10, 19, 0.99));
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.24);
}

.deal-card.is-featured {
    border-color: rgba(114, 183, 255, 0.45);
    box-shadow: 0 22px 60px rgba(47, 140, 255, 0.13);
}

.deal-card__topline,
.deal-card__broker,
.deal-card__meta > div,
.deal-card__actions {
    display: flex;
    align-items: center;
}

.deal-card__topline {
    justify-content: space-between;
    gap: 10px;
}

.deal-card__type,
.deal-card__featured {
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
}

.deal-card__type {
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
}

.deal-card__featured {
    background: rgba(55, 210, 145, 0.09);
    color: #90f0c6;
}

.deal-card__broker {
    gap: 11px;
    margin-top: 18px;
}

.deal-card__broker img,
.deal-card__broker > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    padding: 5px;
    border-radius: 12px;
    background: #fff;
    object-fit: contain;
    color: #1b5fa9;
    font-size: 10px;
    font-weight: 900;
}

.deal-card__broker strong,
.deal-card__broker small {
    display: block;
}

.deal-card__broker strong {
    color: #fff;
    font-size: 13px;
}

.deal-card__broker small {
    margin-top: 4px;
    color: var(--abh-muted);
    font-size: 10px;
}

.deal-card__value {
    margin-top: 20px;
}

.deal-card__value strong,
.deal-card__value span {
    display: block;
}

.deal-card__value strong {
    color: #fff;
    font-size: clamp(30px, 4vw, 46px);
    letter-spacing: -0.04em;
}

.deal-card__value span {
    margin-top: 3px;
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
}

.deal-card h2 {
    margin: 19px 0 0;
    color: #fff;
    font-size: 20px;
    line-height: 1.35;
}

.deal-card__description {
    margin: 10px 0 0;
    color: var(--abh-muted);
    font-size: 12px;
    line-height: 1.8;
}

.deal-card__meta {
    display: grid;
    gap: 8px;
    margin-top: 18px;
}

.deal-card__meta > div {
    justify-content: space-between;
    gap: 12px;
    padding: 10px 11px;
    border: 1px solid rgba(114, 183, 255, 0.1);
    border-radius: 10px;
    background: rgba(2, 7, 14, 0.5);
}

.deal-card__meta span {
    color: var(--abh-muted);
    font-size: 9px;
}

.deal-card__meta code,
.deal-card__meta strong {
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.deal-card__terms {
    margin-top: 14px;
    color: var(--abh-muted);
    font-size: 11px;
}

.deal-card__terms summary {
    color: var(--abh-blue-light);
    font-weight: 900;
    cursor: pointer;
}

.deal-card__terms p {
    line-height: 1.8;
}

.deal-card__actions {
    gap: 9px;
    margin-top: auto;
    padding-top: 20px;
}

.deal-card__actions a {
    min-height: 43px;
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 11px;
    border: 1px solid rgba(114, 183, 255, 0.22);
    border-radius: 10px;
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
    text-align: center;
}

.deal-card__actions .deal-card__claim {
    border-color: rgba(114, 183, 255, 0.5);
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
}

.deals-empty {
    padding: 42px;
    border: 1px solid rgba(114, 183, 255, 0.16);
    border-radius: 20px;
    background: rgba(10, 17, 29, 0.9);
    text-align: center;
}

.deals-empty h2 { margin: 0; }
.deals-empty p { margin: 10px 0 0; color: var(--abh-muted); }

.broker-section-heading--actions {
    grid-template-columns: auto 1fr auto;
}

.broker-section-heading--actions > a {
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
}

.broker-deals-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.broker-deal-card {
    padding: 16px;
    border: 1px solid rgba(114, 183, 255, 0.12);
    border-radius: 14px;
    background: rgba(2, 7, 14, 0.52);
}

.broker-deal-card.is-featured {
    border-color: rgba(114, 183, 255, 0.4);
}

.broker-deal-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.broker-deal-card__head span,
.broker-deal-card__head code {
    color: var(--abh-blue-light);
    font-size: 9px;
    font-weight: 900;
}

.broker-deal-card h3 {
    margin: 13px 0 0;
    color: #fff;
    font-size: 16px;
}

.broker-deal-card p {
    margin: 8px 0 0;
    color: var(--abh-muted);
    font-size: 11px;
    line-height: 1.7;
}

.broker-deal-card > a {
    min-height: 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    padding: 8px 12px;
    border-radius: 9px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
}

@media (max-width: 980px) {
    .deals-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .deals-page { width: min(100% - 20px, 1380px); padding-block: 50px 70px; }
    .deals-grid,
    .broker-deals-grid { grid-template-columns: 1fr; }
    .deal-card { padding: 18px; }
    .deal-card__actions { flex-direction: column; }
    .deal-card__actions a { width: 100%; }
}

/* Part 04R: promotions and rewards */
.deal-card__detail-list {
    display: grid;
    gap: 12px;
    margin-top: 12px;
}

.deal-card__detail-list section {
    padding: 11px 12px;
    border: 1px solid rgba(114, 183, 255, 0.1);
    border-radius: 10px;
    background: rgba(2, 7, 14, 0.45);
}

.deal-card__detail-list strong {
    display: block;
    color: var(--abh-blue-light);
    font-size: 9px;
    font-weight: 900;
}

.deal-card__detail-list p {
    margin: 6px 0 0;
}

.deal-card__actions {
    flex-wrap: wrap;
}

.deal-card__actions a {
    min-width: calc(50% - 5px);
}

.deal-card__actions .deal-card__official {
    color: #d6e8ff;
}

.broker-deal-card__reward {
    display: block;
    margin-top: 10px;
    color: var(--abh-blue-light);
    font-size: 20px;
    line-height: 1.2;
}

/* Part 05: public membership and broker favourites */
.account-link,
.site-user-logout button {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.account-link {
    gap: 8px;
    padding: 6px 12px 6px 7px;
    border: 1px solid rgba(114, 183, 255, 0.3);
    background: rgba(47, 140, 255, 0.09);
    color: #eaf4ff;
}

.account-link__mark {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font-size: 11px;
}

.site-user-logout {
    margin: 0;
}

.site-user-logout button {
    padding: 8px 11px;
    border: 1px solid rgba(255, 105, 105, 0.18);
    background: rgba(255, 70, 70, 0.055);
    color: #ffb3b3;
    cursor: pointer;
}

.member-page {
    width: min(1180px, calc(100% - 36px));
    margin-inline: auto;
    padding-block: 68px 90px;
}

.member-page--auth {
    width: min(560px, calc(100% - 24px));
    min-height: calc(100vh - 130px);
    display: grid;
    align-items: center;
}

.member-auth-card,
.member-account-hero,
.member-account-stats article,
.member-favorites-section {
    border: 1px solid rgba(114, 183, 255, 0.18);
    background: linear-gradient(145deg, rgba(15, 25, 42, 0.97), rgba(7, 12, 22, 0.99));
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.3);
}

.member-auth-card {
    padding: clamp(24px, 5vw, 38px);
    border-radius: 24px;
}

.member-auth-card--center {
    text-align: center;
}

.member-auth-card__icon {
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    margin: 0 auto 20px;
    border: 1px solid rgba(114, 183, 255, 0.35);
    border-radius: 20px;
    background: rgba(47, 140, 255, 0.13);
    color: var(--abh-blue-light);
    font-size: 30px;
    font-weight: 900;
}

.member-auth-card__heading > span,
.member-account-hero > div > span,
.member-section-heading > div > span {
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.member-auth-card__heading h1,
.member-account-hero h1 {
    margin: 9px 0 0;
    color: #fff;
    font-size: clamp(30px, 6vw, 44px);
    line-height: 1.15;
    letter-spacing: -0.04em;
}

.member-auth-card__heading p,
.member-account-hero p {
    margin: 12px 0 0;
    color: var(--abh-muted);
    font-size: 14px;
    line-height: 1.8;
}

.member-form {
    display: grid;
    gap: 16px;
    margin-top: 25px;
}

.member-form label {
    display: grid;
    gap: 8px;
}

.member-form label > span {
    color: #dce7f5;
    font-size: 12px;
    font-weight: 800;
}

.member-form input {
    width: 100%;
    min-height: 50px;
    padding: 11px 14px;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 12px;
    outline: none;
    background: rgba(3, 8, 16, 0.82);
    color: #fff;
    font: inherit;
}

.member-form input:focus {
    border-color: rgba(114, 183, 255, 0.65);
    box-shadow: 0 0 0 3px rgba(47, 140, 255, 0.11);
}

.member-form button,
.member-primary-link,
.member-secondary-link {
    min-height: 51px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 12px;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.member-form button,
.member-primary-link {
    border: 1px solid rgba(114, 183, 255, 0.52);
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    box-shadow: 0 13px 30px rgba(47, 140, 255, 0.22);
}

.member-primary-link,
.member-secondary-link {
    margin-top: 22px;
}

.member-secondary-link {
    border: 1px solid rgba(114, 183, 255, 0.25);
    background: rgba(47, 140, 255, 0.08);
    color: var(--abh-blue-light);
}

.member-form__forgot {
    width: fit-content;
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 800;
}

.member-auth-card__switch {
    margin: 22px 0 0;
    color: var(--abh-muted);
    font-size: 12px;
    text-align: center;
}

.member-auth-card__switch a {
    color: var(--abh-blue-light);
    font-weight: 900;
}

.member-alert {
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.8;
}

.member-auth-card .member-alert {
    margin-top: 20px;
}

.member-alert--error {
    border: 1px solid rgba(255, 100, 100, 0.24);
    background: rgba(255, 70, 70, 0.08);
    color: #ffb6b6;
}

.member-alert--success {
    border: 1px solid rgba(55, 210, 145, 0.25);
    background: rgba(55, 210, 145, 0.08);
    color: #90f0c6;
}

.page-inline-alert {
    margin-bottom: 20px;
}

.member-pending-email {
    display: inline-flex;
    margin-top: 18px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(47, 140, 255, 0.09);
    color: var(--abh-blue-light);
    font-size: 12px;
}

.member-account-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: clamp(25px, 5vw, 42px);
    border-radius: 24px;
}

.member-account-hero form {
    margin: 0;
}

.member-account-logout {
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid rgba(255, 100, 100, 0.25);
    border-radius: 11px;
    background: rgba(255, 70, 70, 0.07);
    color: #ffb2b2;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.member-account-alert {
    margin-top: 18px;
}

.member-account-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.member-account-stats article {
    padding: 20px;
    border-radius: 16px;
}

.member-account-stats span,
.member-account-stats strong {
    display: block;
}

.member-account-stats span {
    color: var(--abh-muted);
    font-size: 10px;
    font-weight: 800;
}

.member-account-stats strong {
    margin-top: 8px;
    color: #fff;
    font-size: 15px;
    word-break: break-word;
}

.member-favorites-section {
    margin-top: 18px;
    padding: clamp(22px, 4vw, 32px);
    border-radius: 22px;
}

.member-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
}

.member-section-heading h2 {
    margin: 7px 0 0;
    font-size: 27px;
}

.member-section-heading > a {
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 900;
}

.member-favorites-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.member-favorite-card {
    display: flex;
    flex-direction: column;
    padding: 18px;
    border: 1px solid rgba(114, 183, 255, 0.12);
    border-radius: 16px;
    background: rgba(2, 7, 14, 0.48);
}

.member-favorite-card__identity {
    display: flex;
    align-items: flex-start;
    gap: 13px;
}

.member-favorite-card__identity img,
.member-favorite-card__identity > span {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    border-radius: 13px;
}

.member-favorite-card__identity img {
    padding: 5px;
    background: #fff;
    object-fit: contain;
}

.member-favorite-card__identity > span {
    display: grid;
    place-items: center;
    background: rgba(47, 140, 255, 0.12);
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
}

.member-favorite-card h3 {
    margin: 2px 0 0;
    font-size: 17px;
}

.member-favorite-card p {
    margin: 7px 0 0;
    color: var(--abh-muted);
    font-size: 11px;
    line-height: 1.7;
}

.member-favorite-card__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px;
    margin-top: auto;
    padding-top: 18px;
}

.member-favorite-card__actions form {
    margin: 0;
}

.member-favorite-card__actions a,
.member-favorite-card__actions button {
    width: 100%;
    min-height: 41px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    border: 1px solid rgba(114, 183, 255, 0.22);
    border-radius: 10px;
    background: rgba(47, 140, 255, 0.08);
    color: var(--abh-blue-light);
    font: inherit;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
}

.member-favorite-card__actions button {
    border-color: rgba(255, 100, 100, 0.18);
    background: rgba(255, 70, 70, 0.055);
    color: #ffb3b3;
}

.member-favorites-empty {
    padding: 40px 20px;
    border: 1px dashed rgba(114, 183, 255, 0.2);
    border-radius: 16px;
    color: var(--abh-muted);
    text-align: center;
}

.member-favorites-empty a {
    display: inline-flex;
    margin-top: 10px;
    color: var(--abh-blue-light);
    font-weight: 900;
}

.broker-card {
    position: relative;
}

.broker-card__favorite {
    position: absolute;
    inset-block-start: 15px;
    inset-inline-end: 15px;
    z-index: 2;
}

.broker-card__favorite form {
    margin: 0;
}

.broker-favorite-button {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 11px;
    background: rgba(3, 8, 16, 0.86);
    color: var(--abh-blue-light);
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}

.broker-favorite-button.is-active {
    border-color: rgba(255, 105, 130, 0.36);
    background: rgba(255, 70, 105, 0.11);
    color: #ff8fac;
}

.broker-card__identity {
    padding-inline-end: 38px;
}

.broker-profile-favorite-form {
    margin: 0;
}

.broker-profile-favorite {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 11px 16px;
    border: 1px solid rgba(114, 183, 255, 0.24);
    border-radius: 12px;
    background: rgba(47, 140, 255, 0.07);
    color: var(--abh-blue-light);
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
    cursor: pointer;
}

.broker-profile-favorite span {
    font-size: 18px;
    line-height: 1;
}

.broker-profile-favorite.is-active {
    border-color: rgba(255, 105, 130, 0.34);
    background: rgba(255, 70, 105, 0.1);
    color: #ff9bb3;
}

@media (max-width: 780px) {
    .member-account-hero {
        align-items: stretch;
        flex-direction: column;
    }

    .member-account-stats,
    .member-favorites-grid {
        grid-template-columns: 1fr;
    }

    .member-account-logout {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .account-link {
        padding-inline: 6px;
    }

    .account-link > span:last-child,
    .site-user-logout {
        display: none;
    }

    .member-page {
        width: min(100% - 20px, 1180px);
        padding-block: 45px 65px;
    }

    .member-auth-card {
        padding: 22px;
        border-radius: 19px;
    }

    .member-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .member-favorite-card__actions {
        grid-template-columns: 1fr;
    }

    .broker-profile-favorite,
    .broker-profile-favorite-form {
        width: 100%;
    }
}

/* Part 06: broker reviews and member review history */
.broker-profile-badge--rating {
    color: #ffd36f;
    text-decoration: none;
}

.broker-profile-badge--rating span {
    font-size: 14px;
}

.broker-section-heading--reviews p {
    margin: 7px 0 0;
    color: var(--abh-muted);
    font-size: 12px;
    line-height: 1.7;
}

.broker-review-alert {
    margin-bottom: 18px;
}

.broker-review-overview {
    display: grid;
    grid-template-columns: minmax(180px, 0.42fr) minmax(260px, 1fr);
    gap: 22px;
    margin-bottom: 24px;
    padding: 20px;
    border: 1px solid rgba(114, 183, 255, 0.13);
    border-radius: 17px;
    background: rgba(2, 7, 14, 0.45);
}

.broker-review-score {
    display: grid;
    align-content: center;
    justify-items: center;
    min-height: 170px;
    padding: 18px;
    border: 1px solid rgba(255, 211, 111, 0.16);
    border-radius: 15px;
    background: rgba(255, 196, 74, 0.035);
    text-align: center;
}

.broker-review-score > span,
.broker-review-score small {
    color: var(--abh-muted);
    font-size: 11px;
    font-weight: 800;
}

.broker-review-score > strong {
    margin: 7px 0 2px;
    color: #fff;
    font-size: 46px;
    line-height: 1;
}

.broker-stars {
    display: inline-flex;
    gap: 3px;
    color: #46566b;
    font-size: 20px;
    line-height: 1;
}

.broker-stars span.is-filled {
    color: #ffd36f;
}

.broker-stars--small {
    font-size: 14px;
}

.broker-review-distribution {
    display: grid;
    align-content: center;
    gap: 12px;
}

.broker-review-distribution > div {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 28px;
    align-items: center;
    gap: 10px;
}

.broker-review-distribution span,
.broker-review-distribution small {
    color: var(--abh-muted);
    font-size: 11px;
    font-weight: 800;
}

.broker-review-distribution i {
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(114, 183, 255, 0.1);
}

.broker-review-distribution b {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #ffbb45, #ffd875);
}

.broker-review-form,
.broker-review-login {
    margin-bottom: 26px;
    padding: 21px;
    border: 1px solid rgba(114, 183, 255, 0.16);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(11, 20, 34, 0.96), rgba(4, 9, 17, 0.98));
}

.broker-review-form__heading,
.broker-review-login {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.broker-review-form__heading h3,
.broker-review-login h3 {
    margin: 0;
    color: #fff;
    font-size: 20px;
}

.broker-review-form__heading p,
.broker-review-login p {
    margin: 7px 0 0;
    color: var(--abh-muted);
    font-size: 12px;
    line-height: 1.7;
}

.broker-review-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}

.broker-review-status--pending {
    background: rgba(255, 190, 75, 0.1);
    color: #ffd28a;
}

.broker-review-status--approved {
    background: rgba(55, 210, 145, 0.1);
    color: #90f0c6;
}

.broker-review-status--rejected {
    background: rgba(255, 95, 95, 0.1);
    color: #ffaaaa;
}

.broker-review-moderation-note,
.member-review-card__note {
    display: grid;
    gap: 5px;
    margin-top: 15px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 190, 75, 0.17);
    border-radius: 11px;
    background: rgba(255, 190, 75, 0.055);
    color: #e7d8b5;
    font-size: 12px;
    line-height: 1.7;
}

.broker-rating-picker {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 5px;
    margin: 20px 0 16px;
    padding: 0;
    border: 0;
}

.broker-rating-picker legend {
    width: 100%;
    margin-bottom: 8px;
    color: #dce7f5;
    font-size: 12px;
    font-weight: 800;
}

.broker-rating-picker input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.broker-rating-picker label {
    color: #46566b;
    font-size: 31px;
    line-height: 1;
    cursor: pointer;
    transition: color 0.16s ease, transform 0.16s ease;
}

.broker-rating-picker input:checked ~ label,
.broker-rating-picker label:hover,
.broker-rating-picker label:hover ~ label {
    color: #ffd36f;
    transform: translateY(-1px);
}

.broker-review-field {
    display: grid;
    gap: 8px;
    margin-top: 14px;
}

.broker-review-field > span {
    color: #dce7f5;
    font-size: 12px;
    font-weight: 800;
}

.broker-review-field input,
.broker-review-field textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 12px;
    outline: none;
    background: rgba(3, 8, 16, 0.84);
    color: #fff;
    font: inherit;
}

.broker-review-field input {
    min-height: 48px;
}

.broker-review-field textarea {
    min-height: 145px;
    resize: vertical;
    line-height: 1.8;
}

.broker-review-field input:focus,
.broker-review-field textarea:focus {
    border-color: rgba(114, 183, 255, 0.65);
    box-shadow: 0 0 0 3px rgba(47, 140, 255, 0.1);
}

.broker-review-field small {
    color: var(--abh-muted);
    font-size: 10px;
    line-height: 1.6;
}

.broker-review-submit,
.broker-review-login a {
    min-height: 47px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 16px;
    padding: 10px 17px;
    border: 1px solid rgba(114, 183, 255, 0.5);
    border-radius: 12px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.broker-review-login {
    align-items: center;
}

.broker-review-login a {
    flex: 0 0 auto;
    margin-top: 0;
}

.broker-review-list__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 14px;
}

.broker-review-list__heading h3 {
    margin: 0;
    font-size: 20px;
}

.broker-review-list__heading > span {
    min-width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 900;
}

.broker-review-list {
    display: grid;
    gap: 13px;
}

.broker-review-card,
.broker-review-empty {
    padding: 18px;
    border: 1px solid rgba(114, 183, 255, 0.13);
    border-radius: 15px;
    background: rgba(2, 7, 14, 0.43);
}

.broker-review-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.broker-review-author {
    display: flex;
    align-items: center;
    gap: 10px;
}

.broker-review-author > span {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(114, 183, 255, 0.24);
    border-radius: 11px;
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
    font-weight: 900;
}

.broker-review-author strong,
.broker-review-author small {
    display: block;
}

.broker-review-author strong {
    color: #fff;
    font-size: 13px;
}

.broker-review-author small {
    margin-top: 4px;
    color: var(--abh-muted);
    font-size: 10px;
}

.broker-review-card h4 {
    margin: 15px 0 7px;
    color: #fff;
    font-size: 16px;
}

.broker-review-card > p,
.broker-review-empty {
    margin: 0;
    color: #b9c8da;
    font-size: 13px;
    line-height: 1.85;
}

.member-account-stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.member-reviews-section {
    margin-top: 18px;
    padding: clamp(22px, 4vw, 32px);
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(13, 22, 37, 0.94), rgba(6, 11, 20, 0.97));
}

.member-review-list {
    display: grid;
    gap: 14px;
}

.member-review-card {
    padding: 18px;
    border: 1px solid rgba(114, 183, 255, 0.13);
    border-radius: 15px;
    background: rgba(2, 7, 14, 0.43);
}

.member-review-card__identity {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
}

.member-review-card__identity > img,
.member-review-card__identity > span:first-child {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    padding: 5px;
    border-radius: 12px;
    background: #fff;
    object-fit: contain;
    color: #0a1322;
    font-size: 10px;
    font-weight: 900;
}

.member-review-card h3,
.member-review-card h4 {
    margin: 0;
    color: #fff;
}

.member-review-card h3 {
    margin-bottom: 6px;
    font-size: 15px;
}

.member-review-card h4 {
    margin-top: 15px;
    font-size: 14px;
}

.member-review-card > p {
    margin: 8px 0 0;
    color: #b9c8da;
    font-size: 12px;
    line-height: 1.8;
}

.member-review-card > a {
    display: inline-flex;
    margin-top: 14px;
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 900;
}

@media (max-width: 820px) {
    .broker-review-overview {
        grid-template-columns: 1fr;
    }

    .member-account-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .broker-review-form__heading,
    .broker-review-login,
    .broker-review-card__top {
        align-items: stretch;
        flex-direction: column;
    }

    .broker-review-login a,
    .broker-review-submit {
        width: 100%;
    }

    .member-account-stats,
    .member-review-card__identity {
        grid-template-columns: 1fr;
    }

    .member-review-card__identity .broker-review-status {
        justify-self: start;
    }
}

.broker-card__rating {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 10px;
    color: #ffd36f;
    font-size: 11px;
    font-weight: 900;
}

.broker-card__rating small {
    color: var(--abh-muted);
    font-weight: 800;
}

/* Part 07: notifications, newsletter and account preferences */
.account-link {
    position: relative;
}

.account-link__badge {
    min-width: 19px;
    height: 19px;
    display: inline-grid;
    place-items: center;
    padding-inline: 5px;
    border-radius: 999px;
    background: #ff5f5f;
    color: #fff;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
}

.member-checkbox-row {
    display: flex !important;
    align-items: flex-start;
    gap: 10px !important;
    color: #c6d4e6;
    font-size: 12px;
    line-height: 1.7;
}

.member-checkbox-row input {
    width: 17px !important;
    min-height: 17px !important;
    height: 17px;
    flex: 0 0 17px;
    margin-top: 2px;
    accent-color: var(--abh-blue);
}

.member-inline-form {
    margin-top: 15px;
}

.member-secondary-button,
.member-quiet-button {
    min-height: 42px;
    padding: 9px 14px;
    border: 1px solid rgba(114, 183, 255, 0.25);
    border-radius: 11px;
    background: rgba(47, 140, 255, 0.08);
    color: var(--abh-blue-light);
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.member-notifications-section,
.member-preferences-section {
    margin-top: 18px;
    padding: clamp(22px, 4vw, 32px);
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(13, 22, 37, 0.94), rgba(6, 11, 20, 0.97));
}

.member-section-heading p {
    margin: 8px 0 0;
    color: var(--abh-muted);
    font-size: 12px;
    line-height: 1.7;
}

.member-notification-list {
    display: grid;
    gap: 11px;
}

.member-notification-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    padding: 15px;
    border: 1px solid rgba(114, 183, 255, 0.11);
    border-radius: 14px;
    background: rgba(2, 7, 14, 0.42);
}

.member-notification-card.is-unread {
    border-color: rgba(114, 183, 255, 0.34);
    background: rgba(47, 140, 255, 0.07);
}

.member-notification-card__mark {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: rgba(47, 140, 255, 0.12);
    color: var(--abh-blue-light);
    font-size: 20px;
    font-weight: 900;
}

.member-notification-card h3 {
    margin: 0;
    color: #fff;
    font-size: 14px;
}

.member-notification-card p {
    margin: 6px 0 0;
    color: #b9c8da;
    font-size: 12px;
    line-height: 1.7;
}

.member-notification-card small {
    display: block;
    margin-top: 6px;
    color: var(--abh-muted);
    font-size: 9px;
}

.member-notification-card__actions {
    display: flex;
    align-items: center;
    gap: 7px;
}

.member-notification-card__actions form {
    margin: 0;
}

.member-notification-card__actions a,
.member-notification-card__actions button {
    min-height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border: 1px solid rgba(114, 183, 255, 0.22);
    border-radius: 9px;
    background: rgba(47, 140, 255, 0.07);
    color: var(--abh-blue-light);
    font: inherit;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
}

.member-preferences-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.member-preference-card {
    display: grid;
    align-content: start;
    gap: 13px;
    padding: 19px;
    border: 1px solid rgba(114, 183, 255, 0.13);
    border-radius: 15px;
    background: rgba(2, 7, 14, 0.43);
}

.member-preference-card h3 {
    margin: 0;
    color: #fff;
    font-size: 17px;
}

.member-preference-card > p {
    margin: 0;
    color: var(--abh-muted);
    font-size: 12px;
    line-height: 1.75;
}

.member-preference-card > button {
    min-height: 44px;
    margin-top: 3px;
    border: 1px solid rgba(114, 183, 255, 0.45);
    border-radius: 11px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.member-subscription-status {
    display: inline-flex;
    width: fit-content;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 190, 75, 0.1);
    color: #ffd28a;
    font-size: 10px;
}

.member-subscription-status.is-active {
    background: rgba(55, 210, 145, 0.1);
    color: #90f0c6;
}

@media (max-width: 760px) {
    .member-preferences-grid,
    .member-notification-card {
        grid-template-columns: 1fr;
    }

    .member-notification-card__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .member-notification-card__actions a,
    .member-notification-card__actions button,
    .member-notification-card__actions form {
        width: 100%;
    }
}

/* Part 08: dedicated newsletter centre and subscription preferences */
.member-preference-card__link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 3px;
    padding: 10px 14px;
    border: 1px solid rgba(114, 183, 255, 0.45);
    border-radius: 11px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    text-align: center;
}

.member-page--newsletter {
    width: min(1240px, calc(100% - 30px));
    margin-inline: auto;
    padding-block: 56px 90px;
}

.newsletter-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
    align-items: center;
    gap: clamp(28px, 6vw, 80px);
    padding: clamp(28px, 5vw, 54px);
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 28px;
    background:
        radial-gradient(circle at 10% 15%, rgba(47, 140, 255, 0.16), transparent 34%),
        linear-gradient(145deg, rgba(15, 25, 42, 0.97), rgba(6, 11, 20, 0.99));
    box-shadow: 0 30px 85px rgba(0, 0, 0, 0.34);
}

.newsletter-hero::after {
    content: "";
    position: absolute;
    width: 330px;
    height: 330px;
    inset-block-start: -210px;
    inset-inline-end: -110px;
    border-radius: 50%;
    background: rgba(47, 140, 255, 0.18);
    filter: blur(35px);
    pointer-events: none;
}

.newsletter-hero__content,
.newsletter-frequency-card {
    position: relative;
    z-index: 1;
}

.newsletter-kicker,
.newsletter-section-heading > span,
.newsletter-subscribe-copy > span {
    display: inline-flex;
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.newsletter-hero h1 {
    max-width: 780px;
    margin: 14px 0 0;
    color: #fff;
    font-size: clamp(38px, 6vw, 70px);
    line-height: 1.06;
    letter-spacing: -0.05em;
    text-wrap: balance;
}

.newsletter-hero__content > p {
    max-width: 730px;
    margin: 20px 0 0;
    color: #b9c8da;
    font-size: clamp(15px, 2vw, 19px);
    line-height: 1.85;
}

.newsletter-benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 26px;
}

.newsletter-benefits span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 11px;
    border: 1px solid rgba(114, 183, 255, 0.14);
    border-radius: 999px;
    background: rgba(2, 7, 14, 0.42);
    color: #c7d5e6;
    font-size: 10px;
    font-weight: 800;
}

.newsletter-benefits i {
    width: 18px;
    height: 18px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(55, 210, 145, 0.13);
    color: #90f0c6;
    font-style: normal;
    font-size: 10px;
}

.newsletter-frequency-card {
    padding: 25px;
    border: 1px solid rgba(114, 183, 255, 0.23);
    border-radius: 21px;
    background: rgba(2, 7, 14, 0.56);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.newsletter-frequency-card > span {
    display: block;
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 900;
}

.newsletter-frequency-card > strong {
    display: block;
    margin-top: 10px;
    color: #fff;
    font-size: clamp(25px, 4vw, 38px);
    letter-spacing: -0.04em;
}

.newsletter-frequency-card > p {
    margin: 12px 0 0;
    color: var(--abh-muted);
    font-size: 12px;
    line-height: 1.8;
}

.newsletter-alert {
    margin-top: 18px;
}

.newsletter-status-card,
.newsletter-preferences-panel,
.newsletter-unsubscribe-panel,
.newsletter-subscribe-layout,
.newsletter-archive-panel {
    margin-top: 20px;
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(13, 22, 37, 0.94), rgba(6, 11, 20, 0.97));
    box-shadow: 0 20px 58px rgba(0, 0, 0, 0.22);
}

.newsletter-status-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: clamp(22px, 4vw, 32px);
}

.newsletter-status-card.is-active {
    border-color: rgba(55, 210, 145, 0.25);
}

.newsletter-status-card.is-inactive {
    border-color: rgba(255, 190, 75, 0.24);
}

.newsletter-status-card__icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    background: rgba(55, 210, 145, 0.11);
    color: #90f0c6;
    font-size: 25px;
    font-weight: 900;
}

.newsletter-status-card.is-inactive .newsletter-status-card__icon {
    background: rgba(255, 190, 75, 0.1);
    color: #ffd28a;
}

.newsletter-status-card > div > span {
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
}

.newsletter-status-card h2 {
    margin: 7px 0 0;
    color: #fff;
    font-size: clamp(22px, 4vw, 32px);
    letter-spacing: -0.03em;
}

.newsletter-status-card p {
    margin: 9px 0 0;
    color: #b9c8da;
    font-size: 13px;
    line-height: 1.75;
}

.newsletter-status-card p strong {
    color: #fff;
}

.newsletter-status-card small {
    display: block;
    margin-top: 8px;
    color: var(--abh-muted);
    font-size: 10px;
}

.newsletter-status-card__actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.newsletter-status-card__actions form {
    margin: 0;
}

.newsletter-preferences-panel,
.newsletter-archive-panel {
    padding: clamp(24px, 4vw, 36px);
}

.newsletter-section-heading h2,
.newsletter-subscribe-copy h2,
.newsletter-unsubscribe-panel h2 {
    margin: 9px 0 0;
    color: #fff;
    font-size: clamp(24px, 4vw, 36px);
    letter-spacing: -0.035em;
}

.newsletter-section-heading p,
.newsletter-subscribe-copy > p,
.newsletter-unsubscribe-panel p {
    max-width: 760px;
    margin: 10px 0 0;
    color: var(--abh-muted);
    font-size: 13px;
    line-height: 1.8;
}

.newsletter-preferences-form {
    margin-top: 24px;
}

.newsletter-preference-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.newsletter-preference-option {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    min-height: 96px;
    padding: 16px;
    border: 1px solid rgba(114, 183, 255, 0.13);
    border-radius: 15px;
    background: rgba(2, 7, 14, 0.43);
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.newsletter-preference-option:hover {
    transform: translateY(-2px);
    border-color: rgba(114, 183, 255, 0.34);
}

.newsletter-preference-option:has(input:checked) {
    border-color: rgba(114, 183, 255, 0.4);
    background: rgba(47, 140, 255, 0.08);
}

.newsletter-preference-option > input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.newsletter-preference-option__mark {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(114, 183, 255, 0.22);
    border-radius: 12px;
    background: rgba(47, 140, 255, 0.09);
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
}

.newsletter-preference-option__copy strong,
.newsletter-preference-option__copy small {
    display: block;
}

.newsletter-preference-option__copy strong {
    color: #fff;
    font-size: 14px;
}

.newsletter-preference-option__copy small {
    margin-top: 6px;
    color: var(--abh-muted);
    font-size: 10px;
    line-height: 1.65;
}

.newsletter-preference-option > i {
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(114, 183, 255, 0.22);
    border-radius: 7px;
    background: rgba(3, 8, 16, 0.68);
}

.newsletter-preference-option:has(input:checked) > i {
    border-color: rgba(114, 183, 255, 0.7);
    background: var(--abh-blue);
}

.newsletter-preference-option:has(input:checked) > i::after {
    content: "✓";
    color: #fff;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
}

.newsletter-primary-button,
.newsletter-secondary-button,
.newsletter-danger-button {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 18px;
    border-radius: 12px;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.newsletter-primary-button {
    margin-top: 18px;
    border: 1px solid rgba(114, 183, 255, 0.5);
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    box-shadow: 0 13px 30px rgba(47, 140, 255, 0.2);
}

.newsletter-status-card__actions .newsletter-primary-button {
    margin-top: 0;
}

.newsletter-secondary-button {
    border: 1px solid rgba(114, 183, 255, 0.22);
    background: rgba(47, 140, 255, 0.07);
    color: var(--abh-blue-light);
}

.newsletter-danger-button {
    border: 1px solid rgba(255, 95, 95, 0.33);
    background: rgba(255, 70, 70, 0.08);
    color: #ffaaaa;
}

.newsletter-unsubscribe-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: clamp(22px, 4vw, 30px);
}

.newsletter-unsubscribe-panel h2 {
    font-size: 21px;
}

.newsletter-unsubscribe-panel form {
    flex: 0 0 auto;
    margin: 0;
}

.newsletter-subscribe-layout {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
    gap: clamp(26px, 5vw, 70px);
    align-items: center;
    padding: clamp(26px, 5vw, 42px);
}

.newsletter-trust-points {
    display: grid;
    gap: 10px;
    margin-top: 23px;
}

.newsletter-trust-points span {
    display: flex;
    align-items: center;
    gap: 9px;
    color: #c4d2e3;
    font-size: 12px;
    font-weight: 800;
}

.newsletter-trust-points span::before {
    content: "✓";
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 7px;
    background: rgba(55, 210, 145, 0.1);
    color: #90f0c6;
    font-size: 10px;
}

.newsletter-subscribe-form {
    display: grid;
    gap: 15px;
    padding: 23px;
    border: 1px solid rgba(114, 183, 255, 0.16);
    border-radius: 18px;
    background: rgba(2, 7, 14, 0.48);
}

.newsletter-subscribe-form > label:not(.member-checkbox-row) {
    display: grid;
    gap: 8px;
}

.newsletter-subscribe-form > label > span {
    color: #dce7f5;
    font-size: 12px;
    font-weight: 800;
}

.newsletter-subscribe-form input[type="text"],
.newsletter-subscribe-form input[type="email"] {
    width: 100%;
    min-height: 50px;
    padding: 11px 13px;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 12px;
    outline: none;
    background: rgba(3, 8, 16, 0.82);
    color: #fff;
    font: inherit;
}

.newsletter-subscribe-form input[readonly] {
    color: #b9c8da;
    cursor: not-allowed;
}

.newsletter-subscribe-form input:focus {
    border-color: rgba(114, 183, 255, 0.64);
    box-shadow: 0 0 0 3px rgba(47, 140, 255, 0.11);
}

.newsletter-subscribe-form .newsletter-primary-button {
    width: 100%;
    margin-top: 2px;
}

.newsletter-consent-row {
    margin-block: 2px;
}

.newsletter-archive-empty {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 15px;
    margin-top: 22px;
    padding: 19px;
    border: 1px dashed rgba(114, 183, 255, 0.2);
    border-radius: 15px;
    background: rgba(2, 7, 14, 0.32);
}

.newsletter-archive-empty > span {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
    font-size: 20px;
}

.newsletter-archive-empty h3 {
    margin: 0;
    color: #fff;
    font-size: 15px;
}

.newsletter-archive-empty p {
    margin: 6px 0 0;
    color: var(--abh-muted);
    font-size: 11px;
    line-height: 1.7;
}

@media (max-width: 900px) {
    .newsletter-hero,
    .newsletter-subscribe-layout {
        grid-template-columns: 1fr;
    }

    .newsletter-frequency-card {
        width: min(520px, 100%);
    }
}

@media (max-width: 720px) {
    .member-page--newsletter {
        width: min(100% - 20px, 1240px);
        padding-block: 38px 65px;
    }

    .newsletter-hero {
        padding: 24px;
        border-radius: 21px;
    }

    .newsletter-status-card,
    .newsletter-preference-grid {
        grid-template-columns: 1fr;
    }

    .newsletter-status-card__actions,
    .newsletter-unsubscribe-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .newsletter-status-card__actions,
    .newsletter-status-card__actions form,
    .newsletter-status-card__actions button,
    .newsletter-unsubscribe-panel form,
    .newsletter-unsubscribe-panel button,
    .newsletter-primary-button {
        width: 100%;
    }

    .newsletter-preferences-panel,
    .newsletter-archive-panel,
    .newsletter-subscribe-layout {
        padding: 21px;
        border-radius: 18px;
    }
}

@media (max-width: 520px) {
    .newsletter-benefits {
        display: grid;
    }

    .newsletter-benefits span {
        border-radius: 11px;
    }

    .newsletter-preference-option,
    .newsletter-archive-empty {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .newsletter-preference-option > i {
        grid-column: 1 / -1;
        width: 100%;
        height: 26px;
    }
}

/* Part 09: articles and knowledge center */
.articles-page,
.article-page {
    width: min(1380px, calc(100% - 36px));
    margin-inline: auto;
    padding-block: 70px 100px;
}

.articles-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.6fr);
    align-items: end;
    gap: clamp(34px, 6vw, 90px);
    padding: clamp(28px, 5vw, 50px);
    border: 1px solid rgba(114, 183, 255, 0.17);
    border-radius: 27px;
    background:
        radial-gradient(circle at 90% 10%, rgba(47, 140, 255, 0.18), transparent 27rem),
        linear-gradient(145deg, rgba(15, 25, 42, 0.97), rgba(6, 11, 20, 0.99));
    box-shadow: 0 26px 75px rgba(0, 0, 0, 0.31);
}

.articles-hero__copy h1 {
    max-width: 780px;
    margin: 0;
    color: #fff;
    font-size: clamp(40px, 6vw, 72px);
    line-height: 1.04;
    letter-spacing: -0.052em;
}

.articles-hero__copy > p {
    max-width: 760px;
    margin: 20px 0 0;
    color: var(--abh-muted);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.85;
}

.articles-search {
    display: grid;
    gap: 12px;
    padding: 20px;
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 18px;
    background: rgba(2, 7, 14, 0.5);
}

.articles-search label {
    display: grid;
    gap: 8px;
}

.articles-search label > span {
    color: #dce7f5;
    font-size: 12px;
    font-weight: 800;
}

.articles-search input {
    width: 100%;
    min-height: 50px;
    padding: 11px 13px;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 12px;
    outline: none;
    background: rgba(3, 8, 16, 0.82);
    color: #fff;
    font: inherit;
}

.articles-search input:focus {
    border-color: rgba(114, 183, 255, 0.64);
    box-shadow: 0 0 0 3px rgba(47, 140, 255, 0.11);
}

.articles-search button {
    min-height: 48px;
    border: 1px solid rgba(114, 183, 255, 0.5);
    border-radius: 12px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.articles-inline-alert {
    margin-top: 20px;
}

.article-category-nav {
    display: flex;
    align-items: center;
    gap: 9px;
    overflow-x: auto;
    margin-top: 24px;
    padding-bottom: 5px;
}

.article-category-nav a {
    min-width: max-content;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 9px 14px;
    border: 1px solid rgba(114, 183, 255, 0.13);
    border-radius: 999px;
    background: rgba(9, 17, 29, 0.78);
    color: #b7c6d9;
    font-size: 12px;
    font-weight: 800;
}

.article-category-nav a:hover,
.article-category-nav a.is-active {
    border-color: rgba(114, 183, 255, 0.42);
    background: rgba(47, 140, 255, 0.11);
    color: #fff;
}

.article-category-nav small {
    min-width: 21px;
    height: 21px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(47, 140, 255, 0.13);
    color: var(--abh-blue-light);
    font-size: 9px;
}

.articles-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    margin-top: 28px;
}

.article-card {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 21px;
    background: linear-gradient(145deg, rgba(13, 22, 37, 0.96), rgba(5, 10, 19, 0.99));
    box-shadow: 0 20px 56px rgba(0, 0, 0, 0.24);
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.article-card:hover {
    transform: translateY(-4px);
    border-color: rgba(114, 183, 255, 0.35);
}

.article-card.is-featured {
    border-color: rgba(114, 183, 255, 0.28);
}

.article-card__image {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 50% 50%, rgba(47, 140, 255, 0.24), transparent 18rem),
        #07101d;
}

.article-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.article-card:hover .article-card__image img {
    transform: scale(1.035);
}

.article-card__image > span {
    color: var(--abh-blue-light);
    font-size: 22px;
    font-weight: 900;
}

.article-card__image > strong {
    position: absolute;
    inset-block-start: 13px;
    inset-inline-start: 13px;
    padding: 6px 10px;
    border: 1px solid rgba(114, 183, 255, 0.42);
    border-radius: 999px;
    background: rgba(5, 12, 22, 0.86);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    backdrop-filter: blur(10px);
}

.article-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 21px;
}

.article-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--abh-muted);
    font-size: 10px;
    font-weight: 800;
}

.article-card__meta a {
    color: var(--abh-blue-light);
}

.article-card h2 {
    margin: 14px 0 0;
    color: #fff;
    font-size: 21px;
    line-height: 1.45;
    letter-spacing: -0.025em;
}

.article-card h2 a:hover {
    color: var(--abh-blue-light);
}

.article-card__body > p {
    display: -webkit-box;
    overflow: hidden;
    margin: 12px 0 0;
    color: var(--abh-muted);
    font-size: 13px;
    line-height: 1.75;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.article-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 20px;
}

.article-card__footer form {
    margin: 0;
}

.article-card__read {
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
}

.article-favorite-button {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 11px;
    background: rgba(47, 140, 255, 0.07);
    color: #c3d1e3;
    font: inherit;
    font-size: 19px;
    cursor: pointer;
}

.article-favorite-button.is-active {
    border-color: rgba(255, 110, 130, 0.33);
    background: rgba(255, 70, 90, 0.09);
    color: #ff9faf;
}

.articles-empty,
.article-not-found {
    margin-top: 28px;
    padding: 60px 24px;
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 22px;
    background: rgba(9, 17, 29, 0.74);
    text-align: center;
}

.articles-empty > span,
.article-not-found > span {
    color: var(--abh-blue-light);
    font-size: 32px;
    font-weight: 900;
}

.articles-empty h2,
.article-not-found h1 {
    margin: 12px 0 0;
    color: #fff;
}

.articles-empty p {
    margin: 10px 0 0;
    color: var(--abh-muted);
}

.article-not-found a {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    padding: 10px 17px;
    border: 1px solid rgba(114, 183, 255, 0.35);
    border-radius: 11px;
    color: var(--abh-blue-light);
    font-weight: 900;
}

.article-detail__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
    gap: clamp(34px, 6vw, 82px);
    align-items: center;
    padding: clamp(27px, 5vw, 50px);
    border: 1px solid rgba(114, 183, 255, 0.17);
    border-radius: 28px;
    background:
        radial-gradient(circle at 85% 20%, rgba(47, 140, 255, 0.17), transparent 24rem),
        linear-gradient(145deg, rgba(15, 25, 42, 0.97), rgba(6, 11, 20, 0.99));
    box-shadow: 0 26px 75px rgba(0, 0, 0, 0.31);
}

.article-detail__breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--abh-muted);
    font-size: 11px;
    font-weight: 800;
}

.article-detail__breadcrumb a:hover {
    color: var(--abh-blue-light);
}

.article-detail__copy h1 {
    margin: 20px 0 0;
    color: #fff;
    font-size: clamp(38px, 5.8vw, 69px);
    line-height: 1.08;
    letter-spacing: -0.05em;
}

.article-detail__copy > p {
    max-width: 760px;
    margin: 20px 0 0;
    color: #b4c3d6;
    font-size: clamp(16px, 2vw, 19px);
    line-height: 1.85;
}

.article-detail__meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px 18px;
    margin-top: 24px;
    color: var(--abh-muted);
    font-size: 11px;
}

.article-detail__meta strong {
    color: #fff;
}

.article-detail__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.article-detail__actions form {
    margin: 0;
}

.article-detail__actions a,
.article-detail__actions button {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border: 1px solid rgba(114, 183, 255, 0.27);
    border-radius: 11px;
    background: rgba(47, 140, 255, 0.07);
    color: var(--abh-blue-light);
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.article-detail__image {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    display: grid;
    place-items: center;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 22px;
    background:
        radial-gradient(circle, rgba(47, 140, 255, 0.22), transparent 18rem),
        #07101d;
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.3);
}

.article-detail__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.article-detail__image span {
    color: var(--abh-blue-light);
    font-size: 22px;
    font-weight: 900;
}

.article-detail__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    align-items: start;
    margin-top: 26px;
}

.article-content {
    padding: clamp(25px, 4vw, 42px);
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(13, 22, 37, 0.94), rgba(6, 11, 20, 0.97));
    color: #c8d4e3;
    font-size: 16px;
    line-height: 2;
}

.article-content > :first-child {
    margin-top: 0;
}

.article-content > :last-child {
    margin-bottom: 0;
}

.article-content h2,
.article-content h3,
.article-content h4 {
    color: #fff;
    line-height: 1.4;
    letter-spacing: -0.025em;
}

.article-content h2 {
    margin: 38px 0 14px;
    font-size: clamp(25px, 3.5vw, 34px);
}

.article-content h3 {
    margin: 30px 0 12px;
    font-size: 23px;
}

.article-content a {
    color: var(--abh-blue-light);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.article-content ul,
.article-content ol {
    padding-inline-start: 26px;
}

.article-content blockquote {
    margin: 28px 0;
    padding: 18px 20px;
    border-inline-start: 4px solid var(--abh-blue);
    border-radius: 10px;
    background: rgba(47, 140, 255, 0.07);
    color: #dce7f5;
}

.article-content code,
.article-content pre {
    border: 1px solid rgba(114, 183, 255, 0.14);
    border-radius: 8px;
    background: rgba(1, 5, 11, 0.68);
    color: #bcdcff;
}

.article-content code {
    padding: 2px 6px;
}

.article-content pre {
    overflow-x: auto;
    padding: 16px;
}

.article-sidebar {
    position: sticky;
    top: 105px;
    display: grid;
    gap: 16px;
}

.article-sidebar-card {
    padding: 20px;
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 18px;
    background: linear-gradient(145deg, rgba(13, 22, 37, 0.95), rgba(6, 11, 20, 0.98));
}

.article-sidebar-card > span {
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
}

.article-sidebar-card h2 {
    margin: 8px 0 0;
    color: #fff;
    font-size: 20px;
}

.article-broker-list {
    display: grid;
    gap: 9px;
    margin-top: 16px;
}

.article-broker-list a {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 10px;
    border: 1px solid rgba(114, 183, 255, 0.1);
    border-radius: 11px;
    background: rgba(2, 7, 14, 0.4);
    color: #dce7f5;
    font-size: 12px;
    font-weight: 800;
}

.article-broker-list img,
.article-broker-list i {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 10px;
}

.article-broker-list img {
    padding: 3px;
    object-fit: contain;
    background: #fff;
}

.article-broker-list i {
    display: grid;
    place-items: center;
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
    font-size: 9px;
    font-style: normal;
}

.article-sidebar-cta > a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 16px;
    border: 1px solid rgba(114, 183, 255, 0.5);
    border-radius: 11px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
}

.related-articles-section {
    margin-top: 30px;
    padding: clamp(24px, 4vw, 36px);
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 22px;
    background: rgba(9, 17, 29, 0.72);
}

.articles-section-heading > span {
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
}

.articles-section-heading h2 {
    margin: 8px 0 0;
    color: #fff;
    font-size: clamp(25px, 4vw, 36px);
}

.related-articles-grid,
.broker-related-articles__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 22px;
}

.related-articles-grid > article,
.broker-related-articles__grid > article {
    overflow: hidden;
    border: 1px solid rgba(114, 183, 255, 0.12);
    border-radius: 15px;
    background: rgba(2, 7, 14, 0.42);
}

.related-article-image,
.broker-related-article__image {
    aspect-ratio: 16 / 9;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: rgba(47, 140, 255, 0.08);
}

.related-article-image img,
.broker-related-article__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.related-article-image span,
.broker-related-article__image span {
    color: var(--abh-blue-light);
    font-weight: 900;
}

.related-articles-grid > article > div,
.broker-related-articles__grid > article > div {
    padding: 15px;
}

.related-articles-grid small,
.broker-related-articles__grid small {
    color: var(--abh-blue-light);
    font-size: 9px;
    font-weight: 900;
}

.related-articles-grid h3,
.broker-related-articles__grid h3 {
    margin: 8px 0 0;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
}

.related-articles-grid p,
.broker-related-articles__grid p {
    display: -webkit-box;
    overflow: hidden;
    margin: 9px 0 0;
    color: var(--abh-muted);
    font-size: 11px;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.member-article-favorites-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.member-article-favorite-card {
    overflow: hidden;
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    border: 1px solid rgba(114, 183, 255, 0.14);
    border-radius: 17px;
    background: rgba(2, 7, 14, 0.42);
}

.member-article-favorite-card__image {
    min-height: 100%;
    display: grid;
    place-items: center;
    background: rgba(47, 140, 255, 0.08);
}

.member-article-favorite-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.member-article-favorite-card__image span {
    color: var(--abh-blue-light);
    font-weight: 900;
}

.member-article-favorite-card__body {
    padding: 17px;
}

.member-article-favorite-card__body > small {
    color: var(--abh-blue-light);
    font-size: 9px;
    font-weight: 900;
}

.member-article-favorite-card h3 {
    margin: 8px 0 0;
    color: #fff;
    font-size: 17px;
    line-height: 1.45;
}

.member-article-favorite-card p {
    display: -webkit-box;
    overflow: hidden;
    margin: 9px 0 0;
    color: var(--abh-muted);
    font-size: 11px;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

@media (max-width: 1050px) {
    .articles-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .article-detail__layout {
        grid-template-columns: minmax(0, 1fr) 280px;
    }

    .member-article-favorites-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .articles-hero,
    .article-detail__hero,
    .article-detail__layout {
        grid-template-columns: 1fr;
    }

    .article-sidebar {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .related-articles-grid,
    .broker-related-articles__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .articles-page,
    .article-page {
        width: min(100% - 20px, 1380px);
        padding-block: 42px 70px;
    }

    .articles-hero,
    .article-detail__hero {
        padding: 23px;
        border-radius: 21px;
    }

    .articles-grid,
    .article-sidebar,
    .related-articles-grid,
    .broker-related-articles__grid {
        grid-template-columns: 1fr;
    }

    .article-detail__copy h1 {
        font-size: clamp(34px, 11vw, 50px);
    }

    .article-content {
        padding: 22px;
        border-radius: 18px;
        font-size: 15px;
    }

    .member-article-favorite-card {
        grid-template-columns: 1fr;
    }

    .member-article-favorite-card__image {
        aspect-ratio: 16 / 8;
    }
}

/* Part 10: global search, broker filters, and saved searches */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.site-search {
    position: relative;
    width: 150px;
}

.site-search__field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    align-items: center;
    min-height: 40px;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 11px;
    background: rgba(3, 8, 16, 0.72);
    overflow: hidden;
}

.site-search__field input {
    width: 100%;
    min-width: 0;
    height: 38px;
    padding: 8px 10px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 12px;
}

.site-search__field input::placeholder {
    color: #7f90a8;
}

.site-search__field button {
    width: 36px;
    height: 38px;
    border: 0;
    background: rgba(47, 140, 255, 0.08);
    color: var(--abh-blue-light);
    font: inherit;
    font-size: 18px;
    cursor: pointer;
}

.site-search__suggestions {
    position: absolute;
    z-index: 1200;
    top: calc(100% + 8px);
    inset-inline-end: 0;
    width: min(360px, 86vw);
    overflow: hidden;
    border: 1px solid rgba(114, 183, 255, 0.24);
    border-radius: 14px;
    background: rgba(6, 12, 22, 0.98);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.site-search__suggestions a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 3px 12px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(114, 183, 255, 0.08);
}

.site-search__suggestions a:last-child {
    border-bottom: 0;
}

.site-search__suggestions a:hover {
    background: rgba(47, 140, 255, 0.09);
}

.site-search__suggestions span {
    color: #f5f8ff;
    font-size: 13px;
    font-weight: 800;
}

.site-search__suggestions small {
    grid-column: 1;
    color: var(--abh-muted);
    font-size: 10px;
}

.site-search__suggestions b {
    grid-row: 1 / 3;
    grid-column: 2;
    align-self: center;
    color: var(--abh-blue-light);
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.broker-filter-panel {
    margin-bottom: 24px;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid rgba(114, 183, 255, 0.18);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(14, 24, 40, 0.96), rgba(6, 11, 20, 0.98));
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.25);
}

.broker-filter-panel__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}

.broker-filter-panel__heading > div > span {
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
}

.broker-filter-panel__heading h2 {
    margin: 7px 0 0;
    font-size: clamp(23px, 3vw, 31px);
}

.broker-filter-panel__heading p {
    margin: 9px 0 0;
    color: var(--abh-muted);
    font-size: 13px;
    line-height: 1.7;
}

.broker-filter-panel__heading > strong {
    padding: 7px 11px;
    border: 1px solid rgba(114, 183, 255, 0.22);
    border-radius: 999px;
    background: rgba(47, 140, 255, 0.08);
    color: var(--abh-blue-light);
    font-size: 11px;
    white-space: nowrap;
}

.broker-filter-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.broker-filter-field {
    display: grid;
    gap: 7px;
}

.broker-filter-field--wide {
    grid-column: span 2;
}

.broker-filter-field > span,
.broker-filter-save label > span {
    color: #bdcadd;
    font-size: 11px;
    font-weight: 800;
}

.broker-filter-field input,
.broker-filter-field select,
.broker-filter-save input {
    width: 100%;
    min-height: 45px;
    padding: 10px 12px;
    border: 1px solid rgba(114, 183, 255, 0.16);
    border-radius: 11px;
    outline: 0;
    background: rgba(3, 8, 16, 0.78);
    color: #fff;
    font: inherit;
    font-size: 12px;
}

.broker-filter-field input:focus,
.broker-filter-field select:focus,
.broker-filter-save input:focus {
    border-color: rgba(114, 183, 255, 0.6);
    box-shadow: 0 0 0 3px rgba(47, 140, 255, 0.1);
}

.broker-filter-checks {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.broker-filter-checks label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 8px 11px;
    border: 1px solid rgba(114, 183, 255, 0.12);
    border-radius: 10px;
    background: rgba(3, 8, 16, 0.52);
    color: #d8e4f3;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}

.broker-filter-checks input {
    accent-color: var(--abh-blue);
}

.broker-filter-actions {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 10px;
}

.broker-filter-actions button,
.broker-filter-save button {
    min-height: 44px;
    padding: 10px 17px;
    border: 1px solid rgba(114, 183, 255, 0.5);
    border-radius: 11px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.broker-filter-actions a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 10px 15px;
    border: 1px solid rgba(114, 183, 255, 0.18);
    border-radius: 11px;
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 800;
}

.broker-filter-save {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid rgba(114, 183, 255, 0.1);
}

.broker-filter-save form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: end;
}

.broker-filter-save label {
    display: grid;
    gap: 7px;
}

.broker-filter-save > a {
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 800;
}

.broker-results-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 18px;
    color: var(--abh-muted);
    font-size: 13px;
}

.broker-results-summary strong {
    min-width: 38px;
    min-height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 10px;
    background: rgba(47, 140, 255, 0.08);
    color: #fff;
}

.global-search-page {
    width: min(1240px, calc(100% - 36px));
    margin-inline: auto;
    padding-block: 65px 90px;
}

.global-search-hero {
    padding: clamp(25px, 4vw, 42px);
    border: 1px solid rgba(114, 183, 255, 0.18);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(15, 25, 42, 0.97), rgba(6, 11, 20, 0.99));
}

.global-search-hero h1 {
    margin: 0;
    font-size: clamp(38px, 6vw, 66px);
    line-height: 1.08;
    letter-spacing: -0.05em;
}

.global-search-hero > p {
    margin: 16px 0 0;
    color: var(--abh-muted);
    font-size: 16px;
    line-height: 1.8;
}

.global-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px auto;
    gap: 11px;
    margin-top: 25px;
}

.global-search-form label {
    display: grid;
    gap: 7px;
}

.global-search-form label > span {
    color: #bdcadd;
    font-size: 11px;
    font-weight: 800;
}

.global-search-form input,
.global-search-form select {
    width: 100%;
    min-height: 50px;
    padding: 11px 14px;
    border: 1px solid rgba(114, 183, 255, 0.18);
    border-radius: 12px;
    outline: 0;
    background: rgba(3, 8, 16, 0.78);
    color: #fff;
    font: inherit;
}

.global-search-form button {
    align-self: end;
    min-height: 50px;
    padding: 11px 21px;
    border: 1px solid rgba(114, 183, 255, 0.5);
    border-radius: 12px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.global-search-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 26px 0 0;
    padding: 14px 16px;
    border: 1px solid rgba(114, 183, 255, 0.12);
    border-radius: 13px;
    background: rgba(9, 17, 29, 0.64);
    color: var(--abh-muted);
}

.global-search-summary strong {
    color: var(--abh-blue-light);
    font-size: 22px;
}

.global-search-section {
    margin-top: 30px;
}

.global-search-section__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
}

.global-search-section__heading h2 {
    margin: 0;
    font-size: 25px;
}

.global-search-section__heading span {
    min-width: 32px;
    min-height: 32px;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: rgba(47, 140, 255, 0.09);
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
}

.global-search-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.global-search-card {
    overflow: hidden;
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    min-height: 160px;
    border: 1px solid rgba(114, 183, 255, 0.14);
    border-radius: 17px;
    background: rgba(9, 17, 29, 0.72);
}

.global-search-card__image {
    display: grid;
    place-items: center;
    min-height: 100%;
    background: rgba(47, 140, 255, 0.08);
}

.global-search-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.global-search-card__image span {
    color: var(--abh-blue-light);
    font-size: 14px;
    font-weight: 900;
}

.global-search-card__body {
    padding: 16px;
}

.global-search-card__body small {
    color: var(--abh-blue-light);
    font-size: 9px;
    font-weight: 900;
}

.global-search-card h3 {
    margin: 6px 0 0;
    color: #fff;
    font-size: 16px;
    line-height: 1.45;
}

.global-search-card p {
    display: -webkit-box;
    overflow: hidden;
    margin: 8px 0 0;
    color: var(--abh-muted);
    font-size: 10px;
    line-height: 1.65;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.global-search-card__action {
    display: inline-flex;
    margin-top: 11px;
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
}

.global-search-empty {
    margin-top: 25px;
    padding: 36px;
    border: 1px dashed rgba(114, 183, 255, 0.2);
    border-radius: 18px;
    text-align: center;
}

.global-search-empty h2 {
    margin: 0;
}

.global-search-empty p {
    margin: 10px auto 0;
    max-width: 650px;
    color: var(--abh-muted);
    line-height: 1.8;
}

.global-search-empty a {
    display: inline-flex;
    margin-top: 18px;
    color: var(--abh-blue-light);
    font-weight: 900;
}

.member-saved-searches-section {
    margin-top: 28px;
}

.member-saved-searches-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.member-saved-search-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px;
    border: 1px solid rgba(114, 183, 255, 0.14);
    border-radius: 15px;
    background: rgba(2, 7, 14, 0.42);
}

.member-saved-search-card span {
    color: var(--abh-blue-light);
    font-size: 9px;
    font-weight: 900;
}

.member-saved-search-card h3 {
    margin: 7px 0 0;
    font-size: 15px;
}

.member-saved-search-card small {
    display: block;
    margin-top: 7px;
    color: var(--abh-muted);
    font-size: 9px;
}

.member-saved-search-card__actions {
    display: grid;
    gap: 7px;
}

.member-saved-search-card__actions a,
.member-saved-search-card__actions button {
    min-height: 35px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 9px;
    background: rgba(47, 140, 255, 0.07);
    color: var(--abh-blue-light);
    font: inherit;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
}

.member-saved-search-card__actions button {
    border-color: rgba(255, 100, 100, 0.18);
    background: rgba(255, 70, 70, 0.06);
    color: #ffaaaa;
}

@media (max-width: 1180px) {
    .site-search {
        width: 44px;
    }

    .site-search__field {
        grid-template-columns: 1fr;
    }

    .site-search__field input {
        display: none;
    }

    .site-search__field button {
        width: 42px;
    }

    .broker-filter-form {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .global-search-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .broker-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .broker-filter-field--wide {
        grid-column: 1 / -1;
    }

    .global-search-form {
        grid-template-columns: 1fr 180px;
    }

    .global-search-form button {
        grid-column: 1 / -1;
    }

    .member-saved-searches-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .site-search {
        order: -1;
    }

    .broker-filter-panel__heading {
        flex-direction: column;
    }

    .broker-filter-form,
    .global-search-form,
    .global-search-grid {
        grid-template-columns: 1fr;
    }

    .broker-filter-field--wide,
    .global-search-form button {
        grid-column: auto;
    }

    .broker-filter-actions,
    .broker-filter-save form {
        grid-template-columns: 1fr;
        display: grid;
    }

    .broker-filter-actions button,
    .broker-filter-actions a,
    .broker-filter-save button {
        width: 100%;
        justify-content: center;
    }

    .global-search-page {
        width: min(100% - 20px, 1240px);
        padding-block: 42px 70px;
    }

    .global-search-card {
        grid-template-columns: 88px minmax(0, 1fr);
    }
}


/* ==========================================================================
   Part 11: public homepage, footer, static pages, contact, and mobile header
   ========================================================================== */

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.site-nav a.is-active {
    color: #ffffff;
    background: rgba(47, 140, 255, 0.14);
    box-shadow: inset 0 0 0 1px rgba(114, 183, 255, 0.12);
}

.site-menu-toggle {
    display: none;
    width: 42px;
    height: 42px;
    padding: 10px;
    border: 1px solid rgba(114, 183, 255, 0.25);
    border-radius: 12px;
    background: rgba(47, 140, 255, 0.08);
    cursor: pointer;
}

.site-menu-toggle > span {
    display: block;
    height: 2px;
    margin: 4px 0;
    border-radius: 999px;
    background: #dceaff;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.hero-section__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.hero-section__actions .hero-section__button {
    margin-top: 0;
}

.hero-section__secondary {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border: 1px solid rgba(114, 183, 255, 0.22);
    border-radius: 13px;
    background: rgba(47, 140, 255, 0.07);
    color: var(--abh-blue-light);
    font-weight: 900;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.hero-section__secondary:hover {
    transform: translateY(-2px);
    border-color: rgba(114, 183, 255, 0.45);
}

.hero-section__trust {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
    margin-top: 24px;
    color: #aebfd4;
    font-size: 12px;
    font-weight: 800;
}

.hero-section__trust span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.hero-section__trust span::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--abh-blue);
    box-shadow: 0 0 14px rgba(47, 140, 255, 0.65);
}

.home-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-top: -22px;
    margin-bottom: 90px;
}

.home-stats article {
    min-height: 120px;
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 24px;
    border: 1px solid rgba(114, 183, 255, 0.16);
    border-radius: 18px;
    background:
        linear-gradient(
            145deg,
            rgba(15, 25, 42, 0.96),
            rgba(7, 12, 22, 0.98)
        );
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.24);
}

.home-stats strong {
    color: #ffffff;
    font-size: clamp(30px, 4vw, 46px);
    letter-spacing: -0.04em;
}

.home-stats span {
    color: var(--abh-muted);
    font-size: 13px;
    font-weight: 800;
}

.home-section {
    padding-block: 82px;
}

.home-section--soft {
    position: relative;
    margin-inline: calc(50% - 50vw);
    padding-inline: max(18px, calc((100vw - 1380px) / 2));
    background:
        linear-gradient(
            180deg,
            rgba(47, 140, 255, 0.025),
            rgba(47, 140, 255, 0.07),
            rgba(47, 140, 255, 0.025)
        );
    border-block: 1px solid rgba(114, 183, 255, 0.08);
}

.home-section__heading {
    width: min(760px, 100%);
    margin-bottom: 34px;
}

.home-section__heading--row {
    width: 100%;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
}

.home-section__heading--row > div {
    width: min(760px, 100%);
}

.home-section__heading > span,
.home-section__heading--row > div > span,
.home-newsletter-cta > div > span {
    display: inline-flex;
    margin-bottom: 10px;
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-section__heading h2,
.home-section__heading--row h2,
.home-newsletter-cta h2 {
    margin: 0;
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.12;
    letter-spacing: -0.045em;
}

.home-section__heading p,
.home-section__heading--row p,
.home-newsletter-cta p {
    margin: 15px 0 0;
    color: var(--abh-muted);
    font-size: 16px;
    line-height: 1.8;
}

.home-section__heading--row > a {
    flex: 0 0 auto;
    color: var(--abh-blue-light);
    font-size: 13px;
    font-weight: 900;
}

.home-process-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.home-process-grid article {
    position: relative;
    min-height: 220px;
    padding: 28px;
    overflow: hidden;
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 20px;
    background:
        linear-gradient(
            145deg,
            rgba(15, 25, 42, 0.96),
            rgba(7, 12, 22, 0.98)
        );
}

.home-process-grid article > span {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 13px;
    background: rgba(47, 140, 255, 0.12);
    color: var(--abh-blue-light);
    font-size: 13px;
    font-weight: 900;
}

.home-process-grid h3 {
    margin: 28px 0 10px;
    font-size: 22px;
}

.home-process-grid p {
    margin: 0;
    color: var(--abh-muted);
    line-height: 1.75;
}

.home-broker-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.home-broker-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    padding: 22px;
    border: 1px solid rgba(114, 183, 255, 0.16);
    border-radius: 20px;
    background:
        linear-gradient(
            145deg,
            rgba(15, 25, 42, 0.97),
            rgba(7, 12, 22, 0.99)
        );
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}

.home-broker-card__top {
    display: flex;
    align-items: center;
    gap: 14px;
}

.home-broker-card__top > img,
.home-broker-card__top > span {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    border: 1px solid rgba(114, 183, 255, 0.24);
    border-radius: 15px;
}

.home-broker-card__top > img {
    padding: 7px;
    object-fit: contain;
    background: #ffffff;
}

.home-broker-card__top > span {
    display: grid;
    place-items: center;
    color: var(--abh-blue-light);
    background: rgba(47, 140, 255, 0.1);
    font-size: 12px;
    font-weight: 900;
}

.home-broker-card h3 {
    margin: 0;
    font-size: 19px;
}

.home-broker-card small {
    display: block;
    margin-top: 5px;
    color: #9fb2ca;
}

.home-broker-card > p {
    min-height: 68px;
    margin: 18px 0;
    color: var(--abh-muted);
    font-size: 13px;
    line-height: 1.7;
}

.home-broker-card dl {
    display: grid;
    gap: 8px;
    margin: 0 0 20px;
}

.home-broker-card dl > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding-block: 8px;
    border-bottom: 1px solid rgba(114, 183, 255, 0.08);
}

.home-broker-card dt {
    color: var(--abh-muted);
    font-size: 12px;
}

.home-broker-card dd {
    margin: 0;
    color: #edf5ff;
    font-size: 12px;
    font-weight: 900;
}

.home-broker-card > a,
.home-offer-card > a {
    min-height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: auto;
    padding: 10px 14px;
    border: 1px solid rgba(114, 183, 255, 0.28);
    border-radius: 11px;
    background: rgba(47, 140, 255, 0.08);
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
}

.home-offer-grid,
.home-article-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.home-offer-card {
    display: flex;
    flex-direction: column;
    min-height: 300px;
    padding: 24px;
    border: 1px solid rgba(114, 183, 255, 0.16);
    border-radius: 20px;
    background:
        linear-gradient(
            145deg,
            rgba(16, 28, 48, 0.96),
            rgba(6, 11, 20, 0.99)
        );
}

.home-offer-card__broker {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #b9c9dc;
    font-size: 12px;
    font-weight: 900;
}

.home-offer-card__broker img {
    width: 34px;
    height: 34px;
    padding: 4px;
    border-radius: 9px;
    background: #ffffff;
    object-fit: contain;
}

.home-offer-card h3 {
    margin: 24px 0 10px;
    font-size: 23px;
    line-height: 1.3;
}

.home-offer-card > p {
    margin: 0;
    color: var(--abh-muted);
    line-height: 1.7;
}

.home-offer-card__meta {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin: 24px 0;
    padding: 14px;
    border-radius: 13px;
    background: rgba(47, 140, 255, 0.07);
}

.home-offer-card__meta strong {
    color: #ffffff;
    font-size: 23px;
}

.home-offer-card__meta span {
    color: #aabbd0;
    font-size: 11px;
}

.home-article-card {
    overflow: hidden;
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 20px;
    background:
        linear-gradient(
            145deg,
            rgba(15, 25, 42, 0.96),
            rgba(7, 12, 22, 0.99)
        );
}

.home-article-card__image {
    display: block;
    aspect-ratio: 16 / 8.5;
    overflow: hidden;
    background: rgba(47, 140, 255, 0.08);
}

.home-article-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.home-article-card:hover .home-article-card__image img {
    transform: scale(1.035);
}

.home-article-card__body {
    padding: 22px;
}

.home-article-card__body > span {
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 900;
}

.home-article-card h3 {
    margin: 12px 0 10px;
    font-size: 21px;
    line-height: 1.4;
}

.home-article-card p {
    min-height: 68px;
    margin: 0;
    color: var(--abh-muted);
    font-size: 13px;
    line-height: 1.7;
}

.home-article-card__body > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 22px;
}

.home-article-card small {
    color: #8fa1b8;
}

.home-article-card__body a {
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
}

.home-newsletter-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    margin-block: 80px 100px;
    padding: clamp(28px, 5vw, 50px);
    overflow: hidden;
    border: 1px solid rgba(114, 183, 255, 0.24);
    border-radius: 26px;
    background:
        radial-gradient(circle at 90% 10%, rgba(47, 140, 255, 0.22), transparent 20rem),
        linear-gradient(145deg, rgba(15, 27, 47, 0.98), rgba(6, 11, 20, 0.99));
    box-shadow: 0 28px 75px rgba(0, 0, 0, 0.32);
}

.home-newsletter-cta > div {
    width: min(760px, 100%);
}

.home-newsletter-cta > a {
    min-height: 52px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border: 1px solid rgba(114, 183, 255, 0.5);
    border-radius: 13px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #ffffff;
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(47, 140, 255, 0.24);
}


.partners-strip {
    margin-top: 70px;
    overflow: hidden;
    border-top: 1px solid rgba(114, 183, 255, 0.1);
    border-bottom: 1px solid rgba(114, 183, 255, 0.1);
    background:
        radial-gradient(circle at 50% 0%, rgba(47, 140, 255, 0.1), transparent 34rem),
        linear-gradient(180deg, rgba(7, 13, 23, 0.98), rgba(4, 8, 15, 0.99));
}

.partners-strip__inner {
    width: min(1380px, calc(100% - 36px));
    margin-inline: auto;
    padding-block: 30px 34px;
}

.partners-strip__heading {
    display: grid;
    grid-template-columns: minmax(28px, 1fr) auto minmax(28px, 1fr);
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
}

.partners-strip__heading > span {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(114, 183, 255, 0.28));
}

.partners-strip__heading > span:last-child {
    background: linear-gradient(90deg, rgba(114, 183, 255, 0.28), transparent);
}

.partners-strip__heading h2 {
    margin: 0;
    color: #eaf4ff;
    font-size: clamp(15px, 1.8vw, 19px);
    font-weight: 900;
    letter-spacing: 0.02em;
}

.partners-strip__viewport {
    position: relative;
    overflow: hidden;
    direction: ltr;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.partners-strip__track {
    width: max-content;
    display: flex;
    will-change: transform;
    animation-duration: 28s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.partners-strip--right-to-left .partners-strip__track {
    animation-name: abh-partners-right-to-left;
}

.partners-strip--left-to-right .partners-strip__track {
    animation-name: abh-partners-left-to-right;
}

.partners-strip__viewport:hover .partners-strip__track,
.partners-strip__viewport:focus-within .partners-strip__track {
    animation-play-state: paused;
}

.partners-strip__group {
    min-width: min(1380px, calc(100vw - 36px));
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: clamp(24px, 4vw, 58px);
    padding-inline: clamp(18px, 3vw, 42px);
}

.partners-strip__item {
    width: clamp(96px, 8.4vw, 122px);
    aspect-ratio: 1 / 1;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    padding: 12px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transition: transform 0.25s ease;
}

.partners-strip__item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    filter: grayscale(1) saturate(0) contrast(0.9);
    opacity: 0.42;
    transition: filter 0.28s ease, opacity 0.28s ease, transform 0.28s ease;
}

.partners-strip__item > span {
    color: rgba(207, 224, 244, 0.48);
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0.12em;
    transition: color 0.28s ease, transform 0.28s ease;
}

.partners-strip__item:hover,
.partners-strip__item:focus-visible {
    transform: translateY(-3px);
}

.partners-strip__item:hover img,
.partners-strip__item:focus-visible img {
    filter: none;
    opacity: 1;
    transform: scale(1.06);
}

.partners-strip__item:hover > span,
.partners-strip__item:focus-visible > span {
    color: #ffffff;
    transform: scale(1.04);
}

.partners-strip__item:focus-visible {
    outline: 2px solid rgba(114, 183, 255, 0.72);
    outline-offset: 3px;
}

@keyframes abh-partners-right-to-left {
    from { transform: translate3d(0, 0, 0); }
    to { transform: translate3d(-50%, 0, 0); }
}

@keyframes abh-partners-left-to-right {
    from { transform: translate3d(-50%, 0, 0); }
    to { transform: translate3d(0, 0, 0); }
}

.site-footer {
    margin-top: 70px;
    border-top: 1px solid rgba(114, 183, 255, 0.1);
    background:
        linear-gradient(
            180deg,
            rgba(6, 11, 20, 0.94),
            rgba(3, 6, 12, 1)
        );
}

.site-footer--with-partners {
    margin-top: 0;
    border-top: 0;
}

.site-footer__inner {
    width: min(1380px, calc(100% - 36px));
    display: grid;
    grid-template-columns: minmax(260px, 1.5fr) repeat(3, minmax(140px, 0.65fr));
    gap: clamp(28px, 5vw, 70px);
    margin-inline: auto;
    padding-block: 64px 50px;
}

.site-brand--footer {
    width: fit-content;
}

.site-footer__brand > p {
    max-width: 500px;
    margin: 18px 0 22px;
    color: var(--abh-muted);
    line-height: 1.8;
}

.site-footer__newsletter {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 15px;
    border: 1px solid rgba(114, 183, 255, 0.28);
    border-radius: 11px;
    background: rgba(47, 140, 255, 0.08);
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
}

.site-footer__socials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-top: 18px;
}

.site-footer__social-link {
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(148, 168, 193, 0.18);
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.025);
    color: #9aa8b9;
    transition:
        color 0.2s ease,
        border-color 0.2s ease,
        background-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.site-footer__social-link svg {
    width: 17px;
    height: 17px;
    display: block;
    fill: currentColor;
}

.site-footer__social-link:hover,
.site-footer__social-link:focus-visible {
    border-color: rgba(114, 183, 255, 0.48);
    background: rgba(47, 140, 255, 0.1);
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 87, 184, 0.14);
}

.site-footer__social-link:focus-visible {
    outline: 2px solid rgba(114, 183, 255, 0.7);
    outline-offset: 3px;
}

.site-footer__column {
    display: grid;
    align-content: start;
    gap: 13px;
}

.site-footer__column > strong {
    margin-bottom: 5px;
    color: #ffffff;
    font-size: 14px;
}

.site-footer__column > a {
    width: fit-content;
    color: #93a5bb;
    font-size: 13px;
    transition: color 0.2s ease, transform 0.2s ease;
}

.site-footer__column > a:hover {
    color: var(--abh-blue-light);
    transform: translateX(2px);
}

[dir="rtl"] .site-footer__column > a:hover {
    transform: translateX(-2px);
}

.site-footer__network {
    width: min(1380px, calc(100% - 36px));
    margin-inline: auto;
    padding-block: 30px 32px;
    border-top: 1px solid rgba(114, 183, 255, 0.08);
    text-align: center;
}

.site-footer__network-heading {
    display: grid;
    grid-template-columns: minmax(36px, 1fr) auto minmax(36px, 1fr);
    align-items: center;
    gap: 18px;
    margin-bottom: 22px;
}

.site-footer__network-heading > span {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(114, 183, 255, 0.2));
}

.site-footer__network-heading > span:last-child {
    background: linear-gradient(90deg, rgba(114, 183, 255, 0.2), transparent);
}

.site-footer__network-heading > strong {
    color: #8fa1b7;
    font-size: clamp(15px, 1.7vw, 19px);
    font-weight: 900;
    letter-spacing: 0.02em;
}

.site-footer__network-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 2vw, 22px);
    color: rgba(148, 168, 193, 0.36);
}

.site-footer__network-link {
    color: #8798ae;
    font-size: clamp(14px, 1.65vw, 18px);
    font-weight: 900;
    transition: color 0.2s ease, transform 0.2s ease;
}

.site-footer__network-link.is-current {
    color: #ffffff;
}

.site-footer__network-link:hover,
.site-footer__network-link:focus-visible {
    color: var(--abh-blue-light);
    transform: translateY(-2px);
}

.site-footer__network-link:focus-visible {
    outline: 2px solid rgba(114, 183, 255, 0.72);
    outline-offset: 4px;
    border-radius: 4px;
}

.site-footer__bottom {
    width: min(1380px, calc(100% - 36px));
    display: flex;
    justify-content: space-between;
    gap: 24px;
    margin-inline: auto;
    padding-block: 22px 28px;
    border-top: 1px solid rgba(114, 183, 255, 0.08);
    color: #7f91a8;
    font-size: 11px;
    line-height: 1.7;
}

.content-page,
.contact-page {
    width: min(1180px, calc(100% - 36px));
    margin-inline: auto;
    padding-block: 75px 40px;
}

.content-page__hero,
.contact-page__hero {
    margin-bottom: 38px;
    padding: clamp(28px, 5vw, 48px);
    border: 1px solid rgba(114, 183, 255, 0.18);
    border-radius: 24px;
    background:
        radial-gradient(circle at 90% 0%, rgba(47, 140, 255, 0.18), transparent 20rem),
        linear-gradient(145deg, rgba(15, 25, 42, 0.97), rgba(7, 12, 22, 0.99));
}

.content-page__hero > span,
.contact-page__hero > div > span {
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.content-page__hero h1,
.contact-page__hero h1 {
    margin: 12px 0 14px;
    font-size: clamp(36px, 6vw, 66px);
    line-height: 1.05;
    letter-spacing: -0.05em;
}

.content-page__hero p,
.contact-page__hero > div > p {
    max-width: 820px;
    margin: 0;
    color: var(--abh-muted);
    font-size: 17px;
    line-height: 1.85;
}

.content-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 290px;
    align-items: start;
    gap: 24px;
}

.content-page__article {
    display: grid;
    gap: 18px;
}

.content-page__article section,
.content-page__aside,
.contact-card,
.contact-info article {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid rgba(114, 183, 255, 0.14);
    border-radius: 20px;
    background:
        linear-gradient(
            145deg,
            rgba(13, 22, 37, 0.96),
            rgba(6, 11, 20, 0.99)
        );
}

.content-page__article h2 {
    margin: 0 0 16px;
    font-size: 26px;
}

.content-page__article p,
.content-page__article li {
    color: #aab9cc;
    line-height: 1.95;
}

.content-page__article p {
    margin: 0 0 12px;
}

.content-page__article ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding-inline-start: 22px;
}

.content-page__aside {
    position: sticky;
    top: 120px;
}

.content-page__aside strong {
    display: block;
    font-size: 19px;
}

.content-page__aside p {
    color: var(--abh-muted);
    line-height: 1.75;
}

.content-page__aside a {
    min-height: 43px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 15px;
    border-radius: 11px;
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
}

.contact-page__hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 34px;
}

.contact-page__promise {
    width: min(340px, 100%);
    flex: 0 0 auto;
    padding: 20px;
    border: 1px solid rgba(114, 183, 255, 0.16);
    border-radius: 16px;
    background: rgba(4, 9, 17, 0.55);
}

.contact-page__promise strong {
    display: block;
    margin-bottom: 8px;
}

.contact-page__promise p {
    margin: 0;
    color: var(--abh-muted);
    font-size: 13px;
    line-height: 1.7;
}

.contact-page__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.65fr);
    align-items: start;
    gap: 22px;
}

.contact-form {
    display: grid;
    gap: 20px;
}

.contact-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.contact-form label {
    display: grid;
    gap: 8px;
}

.contact-form label > span {
    color: #dce7f5;
    font-size: 13px;
    font-weight: 800;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
    width: 100%;
    min-height: 49px;
    padding: 11px 13px;
    border: 1px solid rgba(114, 183, 255, 0.18);
    border-radius: 11px;
    outline: none;
    background: rgba(3, 8, 16, 0.82);
    color: #ffffff;
    font: inherit;
}

.contact-form textarea {
    resize: vertical;
    line-height: 1.75;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
    border-color: rgba(114, 183, 255, 0.62);
    box-shadow: 0 0 0 3px rgba(47, 140, 255, 0.11);
}

.contact-form__full {
    grid-column: 1 / -1;
}

.contact-form small {
    color: var(--abh-muted);
    line-height: 1.6;
}

.contact-form > button {
    min-height: 52px;
    border: 1px solid rgba(114, 183, 255, 0.5);
    border-radius: 13px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #ffffff;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.contact-form > button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.contact-honeypot {
    position: absolute !important;
    inset-inline-start: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

.contact-alert {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
}

.contact-alert--success {
    border: 1px solid rgba(55, 210, 145, 0.28);
    background: rgba(55, 210, 145, 0.09);
    color: #90f0c6;
}

.contact-alert--error {
    border: 1px solid rgba(255, 95, 95, 0.25);
    background: rgba(255, 70, 70, 0.08);
    color: #ffb2b2;
}

.contact-info {
    display: grid;
    gap: 14px;
}

.contact-info article > span {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 900;
}

.contact-info h2 {
    margin: 18px 0 8px;
    font-size: 19px;
}

.contact-info p {
    margin: 0;
    color: var(--abh-muted);
    font-size: 13px;
    line-height: 1.75;
}

.not-found-page {
    width: min(760px, calc(100% - 36px));
    min-height: 62vh;
    display: grid;
    place-items: center;
    align-content: center;
    margin-inline: auto;
    padding-block: 70px;
    text-align: center;
}

.not-found-page__code {
    color: rgba(114, 183, 255, 0.14);
    font-size: clamp(110px, 24vw, 240px);
    font-weight: 1000;
    line-height: 0.78;
    letter-spacing: -0.08em;
}

.not-found-page > span {
    margin-top: 34px;
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.not-found-page h1 {
    margin: 12px 0 14px;
    font-size: clamp(34px, 6vw, 58px);
}

.not-found-page p {
    max-width: 620px;
    margin: 0;
    color: var(--abh-muted);
    font-size: 16px;
    line-height: 1.8;
}

.not-found-page__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.not-found-page__actions a {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 17px;
    border: 1px solid rgba(114, 183, 255, 0.3);
    border-radius: 11px;
    color: var(--abh-blue-light);
    font-weight: 900;
}

.not-found-page__actions a:first-child {
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #ffffff;
}

@media (max-width: 1120px) {
    .home-broker-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-footer__inner {
        grid-template-columns: minmax(260px, 1.3fr) repeat(3, minmax(120px, 0.7fr));
        gap: 28px;
    }
}

@media (max-width: 900px) {
    .home-stats,
    .home-process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-offer-grid,
    .home-article-grid {
        grid-template-columns: 1fr;
    }

    .content-page__layout,
    .contact-page__grid {
        grid-template-columns: 1fr;
    }

    .content-page__aside {
        position: static;
    }

    .contact-page__hero,
    .home-newsletter-cta {
        align-items: flex-start;
        flex-direction: column;
    }

    .site-footer__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-footer__brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    html.site-menu-lock {
        overflow: hidden;
    }

    .site-header__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .site-menu-toggle {
        display: block;
        grid-column: 2;
        grid-row: 1;
    }

    .site-header.is-menu-open .site-menu-toggle > span:nth-child(1) {
        transform: translateY(6px) rotate(45deg);
    }

    .site-header.is-menu-open .site-menu-toggle > span:nth-child(2) {
        opacity: 0;
    }

    .site-header.is-menu-open .site-menu-toggle > span:nth-child(3) {
        transform: translateY(-6px) rotate(-45deg);
    }

    .site-nav,
    .site-header__actions {
        display: none;
        grid-column: 1 / -1;
        width: 100%;
    }

    .site-header.is-menu-open .site-nav,
    .site-header.is-menu-open .site-header__actions {
        display: flex;
    }

    .site-nav {
        align-items: stretch;
        flex-direction: column;
        gap: 4px;
        max-height: 42vh;
        padding: 12px 0 4px;
        overflow-y: auto;
    }

    .site-nav a {
        width: 100%;
        justify-content: flex-start;
        padding: 11px 13px;
    }

    .site-header__actions {
        align-items: stretch;
        flex-wrap: wrap;
        padding-top: 10px;
        border-top: 1px solid rgba(114, 183, 255, 0.08);
    }

    .site-search {
        width: 100%;
        order: -1;
    }

    .site-search__field {
        width: 100%;
    }

    .language-switch,
    .login-link,
    .register-link,
    .account-link,
    .site-user-logout {
        flex: 1 1 135px;
    }

    .site-header.is-menu-open .login-link {
        display: inline-flex;
    }

    .site-user-logout button {
        width: 100%;
    }
}

@media (max-width: 650px) {
    .home-main,
    .site-footer__inner,
    .site-footer__network,
    .site-footer__bottom,
    .content-page,
    .contact-page,
    .not-found-page {
        width: min(100% - 20px, 1380px);
    }

    .hero-section {
        padding-block: 48px 60px;
    }

    .hero-section__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .hero-section__button,
    .hero-section__secondary {
        width: 100%;
    }

    .home-stats {
        grid-template-columns: 1fr 1fr;
        margin-top: 0;
        margin-bottom: 55px;
    }

    .home-stats article {
        min-height: 105px;
        padding: 18px;
    }

    .home-section {
        padding-block: 58px;
    }

    .home-section__heading--row {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .home-process-grid,
    .home-broker-grid {
        grid-template-columns: 1fr;
    }

    .home-newsletter-cta {
        margin-block: 55px 70px;
        border-radius: 20px;
    }

    .home-newsletter-cta > a {
        width: 100%;
    }

    .site-footer__inner {
        grid-template-columns: 1fr;
        padding-block: 48px 36px;
    }

    .site-footer__brand {
        grid-column: auto;
    }

    .site-footer__network {
        padding-block: 26px 28px;
    }

    .site-footer__network-heading {
        gap: 12px;
        margin-bottom: 19px;
    }

    .site-footer__network-links {
        gap: 10px 13px;
    }

    .site-footer__network-link {
        font-size: 13px;
    }

    .site-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
    }

    .content-page,
    .contact-page {
        padding-block: 48px 20px;
    }

    .content-page__hero,
    .contact-page__hero {
        padding: 24px;
        border-radius: 19px;
    }

    .contact-form__grid {
        grid-template-columns: 1fr;
    }

    .contact-form__full {
        grid-column: auto;
    }

    .contact-page__promise {
        width: 100%;
    }
}

/* Final note 02: APF Network app launcher */
.site-brand-cluster {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.abh-app-launcher {
    position: relative;
    flex: 0 0 auto;
}

.abh-app-launcher__button {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.035);
    color: #f4f7fb;
    cursor: pointer;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
    transition:
        transform 0.22s ease,
        border-color 0.22s ease,
        background 0.22s ease,
        box-shadow 0.22s ease;
}

.abh-app-launcher__grid {
    width: 22px;
    height: 22px;
    display: block;
    fill: currentColor;
    transition: color 0.22s ease;
}

.abh-app-launcher__button:hover,
.abh-app-launcher.is-open .abh-app-launcher__button {
    transform: translateY(-1px);
    border-color: rgba(114, 183, 255, 0.5);
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
    box-shadow: 0 0 24px rgba(47, 140, 255, 0.14);
}

.abh-app-launcher__menu {
    position: absolute;
    top: calc(100% + 16px);
    inset-inline-start: 0;
    z-index: 1100;
    width: 352px;
    max-width: calc(100vw - 20px);
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    background: rgba(13, 13, 16, 0.97);
    box-shadow:
        0 24px 70px rgba(0, 0, 0, 0.56),
        0 0 40px rgba(47, 140, 255, 0.12);
    backdrop-filter: blur(26px) saturate(180%);
    -webkit-backdrop-filter: blur(26px) saturate(180%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px) scale(0.96);
    transform-origin: top left;
    transition:
        opacity 0.24s ease,
        visibility 0.24s ease,
        transform 0.24s ease;
}

[dir="rtl"] .abh-app-launcher__menu {
    transform-origin: top right;
}

.abh-app-launcher__menu::before {
    content: "";
    position: absolute;
    top: -7px;
    inset-inline-start: 17px;
    width: 14px;
    height: 14px;
    border-inline-start: 1px solid rgba(255, 255, 255, 0.08);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(13, 13, 16, 0.97);
    transform: rotate(45deg);
}

.abh-app-launcher.is-open .abh-app-launcher__menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.abh-app-card {
    --network-accent: #3c91ff;
    --network-accent-rgb: 60, 145, 255;
    position: relative;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    gap: 13px;
    min-height: 84px;
    padding: 13px 14px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.075);
    border-radius: 17px;
    background:
        radial-gradient(
            circle at 94% 8%,
            rgba(var(--network-accent-rgb), 0.15),
            transparent 47%
        ),
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.055),
            rgba(255, 255, 255, 0.018)
        );
    transition:
        transform 0.24s ease,
        border-color 0.24s ease,
        background 0.24s ease,
        box-shadow 0.24s ease;
}

.abh-app-card:not(:last-child) {
    margin-bottom: 9px;
}

.abh-app-card--brokers {
    --network-accent: #3c91ff;
    --network-accent-rgb: 60, 145, 255;
}

.abh-app-card--prop {
    --network-accent: #16c79a;
    --network-accent-rgb: 22, 199, 154;
}

.abh-app-card--arab {
    --network-accent: #e1ba32;
    --network-accent-rgb: 225, 186, 50;
}

.abh-app-card.is-current {
    border-color: rgba(var(--network-accent-rgb), 0.47);
    box-shadow: inset 0 0 0 1px rgba(var(--network-accent-rgb), 0.045);
}

.abh-app-card::after {
    content: "";
    position: absolute;
    top: -52px;
    inset-inline-end: -50px;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background: rgba(var(--network-accent-rgb), 0.13);
    filter: blur(12px);
}

.abh-app-card__mark {
    position: relative;
    z-index: 2;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    color: var(--network-accent);
    border: 1px solid rgba(var(--network-accent-rgb), 0.38);
    border-radius: 14px;
    background: rgba(var(--network-accent-rgb), 0.075);
    box-shadow:
        inset 0 0 18px rgba(var(--network-accent-rgb), 0.06),
        0 8px 24px rgba(0, 0, 0, 0.22);
}

.abh-app-card__logo {
    width: 29px;
    height: 29px;
    display: block;
    color: currentColor;
}

.abh-app-card__copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    min-width: 0;
    text-align: start;
}

.abh-app-card strong,
.abh-app-card small {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.abh-app-card strong {
    color: #ffffff;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.35;
}

.abh-app-card small {
    margin-top: 3px;
    color: #a1a1aa;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.55;
}

.abh-app-card:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--network-accent-rgb), 0.64);
    background:
        radial-gradient(
            circle at 94% 8%,
            rgba(var(--network-accent-rgb), 0.21),
            transparent 49%
        ),
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.07),
            rgba(255, 255, 255, 0.022)
        );
    box-shadow:
        0 14px 34px rgba(0, 0, 0, 0.32),
        0 0 22px rgba(var(--network-accent-rgb), 0.09);
}

[dir="rtl"] .abh-app-card {
    grid-template-columns: minmax(0, 1fr) 46px;
}

[dir="rtl"] .abh-app-card__mark {
    grid-column: 2;
    grid-row: 1;
}

[dir="rtl"] .abh-app-card__copy {
    grid-column: 1;
    grid-row: 1;
    text-align: right;
}

@media (max-width: 820px) {
    .abh-app-launcher__menu {
        position: fixed;
        top: 78px;
        inset-inline: 10px;
        width: auto;
        max-width: none;
        max-height: calc(100dvh - 92px);
        overflow-y: auto;
        transform-origin: top center;
    }

    .abh-app-launcher__menu::before {
        display: none;
    }
}

@media (max-width: 620px) {
    .site-brand-cluster {
        gap: 7px;
    }

    .abh-app-launcher__button {
        width: 38px;
        height: 38px;
        border-radius: 12px;
    }

    .abh-app-launcher__grid {
        width: 20px;
        height: 20px;
    }

    .abh-app-launcher__menu {
        top: 70px;
        padding: 10px;
        border-radius: 20px;
    }

    .abh-app-card {
        min-height: 79px;
        padding: 11px 12px;
        border-radius: 15px;
    }
}

@media (max-width: 390px) {
    .site-brand__text {
        max-width: 112px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
}

/* Final note 03: keep the full ApexBrokersHub name visible on mobile */
@media (max-width: 620px) {
    .site-header__inner {
        grid-template-columns: minmax(0, 1fr) 38px;
        gap: 8px;
        padding: 8px;
    }

    .site-brand-cluster {
        width: 100%;
        min-width: 0;
        gap: 6px;
    }

    .site-brand {
        min-width: 0;
        flex: 1 1 auto;
        gap: 8px;
    }

    .site-brand__text {
        max-width: none;
        overflow: visible;
        white-space: nowrap;
        text-overflow: clip;
        font-size: 14px;
        letter-spacing: -0.035em;
    }

    .site-menu-toggle,
    .site-brand__mark,
    .abh-app-launcher__button {
        width: 38px;
        height: 38px;
        flex: 0 0 38px;
    }
}

@media (max-width: 390px) {
    .site-brand__text {
        max-width: none;
        overflow: visible;
        white-space: nowrap;
        text-overflow: clip;
        font-size: 13.5px;
    }
}

@media (max-width: 340px) {
    .site-header__inner {
        grid-template-columns: minmax(0, 1fr) 36px;
        gap: 6px;
        padding: 7px;
    }

    .site-brand-cluster {
        gap: 5px;
    }

    .site-brand {
        gap: 6px;
    }

    .site-brand__text {
        font-size: 12.5px;
    }

    .site-menu-toggle,
    .site-brand__mark,
    .abh-app-launcher__button {
        width: 36px;
        height: 36px;
        flex-basis: 36px;
    }

    .site-brand__logo {
        width: 25px;
        height: 25px;
    }
}

/* Part 13: private member support and broker complaint workflow */
.broker-profile-hero__support {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border: 1px solid rgba(114, 183, 255, 0.34);
    border-radius: 12px;
    background: rgba(47, 140, 255, 0.1);
    color: #cfe7ff;
    font-size: 13px;
    font-weight: 900;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.broker-profile-hero__support:hover {
    transform: translateY(-1px);
    border-color: rgba(114, 183, 255, 0.65);
    background: rgba(47, 140, 255, 0.17);
}

.member-page--support {
    width: min(1180px, calc(100% - 32px));
    margin-inline: auto;
}

.support-page-hero,
.support-ticket-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 34px 0 22px;
    padding: 28px;
    border: 1px solid var(--abh-border);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(18, 31, 51, .94), rgba(8, 13, 24, .98));
    box-shadow: var(--abh-shadow);
}

.support-page-hero span,
.support-ticket-hero div > span {
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
}

.support-page-hero h1,
.support-ticket-hero h1 {
    margin: 8px 0 6px;
    font-size: clamp(26px, 4vw, 42px);
    line-height: 1.15;
}

.support-page-hero p,
.support-ticket-hero p {
    max-width: 720px;
    margin: 0;
    color: var(--abh-muted);
    line-height: 1.8;
}

.support-page-hero > a,
.support-ticket-hero div > a {
    flex: 0 0 auto;
    padding: 11px 15px;
    border: 1px solid rgba(114, 183, 255, .28);
    border-radius: 12px;
    color: var(--abh-blue-light);
    font-size: 13px;
    font-weight: 900;
    background: rgba(47, 140, 255, .08);
}

.support-empty-card {
    margin: 24px 0 60px;
    padding: 44px 24px;
    text-align: center;
    border: 1px dashed rgba(114, 183, 255, .28);
    border-radius: 20px;
    background: rgba(12, 19, 32, .72);
}

.support-empty-card h1,
.support-empty-card h2 { margin: 0 0 10px; }
.support-empty-card p { margin: 0 0 18px; color: var(--abh-muted); }
.support-empty-card a { color: var(--abh-blue-light); font-weight: 900; }

.support-error-list { display: grid; gap: 5px; margin-bottom: 18px; }

.support-request-layout {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    margin-bottom: 60px;
}

.support-broker-card {
    position: sticky;
    top: 118px;
    display: grid;
    gap: 16px;
    padding: 22px;
    border: 1px solid var(--abh-border);
    border-radius: 20px;
    background: var(--abh-surface);
    box-shadow: var(--abh-shadow);
}

.support-broker-card img,
.support-broker-card__placeholder {
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    object-fit: contain;
    padding: 9px;
    border: 1px solid rgba(114, 183, 255, .22);
    border-radius: 18px;
    background: rgba(255,255,255,.04);
    color: var(--abh-blue-light);
    font-weight: 900;
}

.support-broker-card small { color: var(--abh-blue-light); font-weight: 800; }
.support-broker-card h2 { margin: 6px 0 8px; }
.support-broker-card p { margin: 0; color: var(--abh-muted); font-size: 13px; line-height: 1.75; }

.support-request-form { display: grid; gap: 18px; }
.support-form-section,
.support-detail-card,
.support-timeline-card {
    padding: 24px;
    border: 1px solid var(--abh-border);
    border-radius: 20px;
    background: var(--abh-surface);
    box-shadow: var(--abh-shadow);
}

.support-form-section__heading,
.support-card-heading {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 20px;
}

.support-form-section__heading > span,
.support-card-heading > span {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: rgba(47, 140, 255, .14);
    color: var(--abh-blue-light);
    font-size: 12px;
    font-weight: 900;
}

.support-form-section__heading h2,
.support-card-heading h2 { margin: 0; font-size: 19px; }
.support-form-section__heading p { margin: 5px 0 0; color: var(--abh-muted); font-size: 13px; line-height: 1.6; }

.support-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

.support-request-form label,
.support-reply-form label {
    display: grid;
    gap: 8px;
    color: #dce8f8;
    font-size: 13px;
    font-weight: 800;
}

.support-request-form input,
.support-request-form select,
.support-request-form textarea,
.support-reply-form input,
.support-reply-form textarea {
    width: 100%;
    border: 1px solid rgba(114, 183, 255, .18);
    border-radius: 12px;
    outline: none;
    padding: 12px 13px;
    background: rgba(5, 9, 17, .76);
    color: var(--abh-text);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.support-request-form input:focus,
.support-request-form select:focus,
.support-request-form textarea:focus,
.support-reply-form input:focus,
.support-reply-form textarea:focus {
    border-color: rgba(114, 183, 255, .55);
    box-shadow: 0 0 0 3px rgba(47, 140, 255, .1);
}

.support-request-form textarea,
.support-reply-form textarea { resize: vertical; line-height: 1.75; }
.support-request-form label small,
.support-reply-form label small { color: var(--abh-muted); font-size: 11px; font-weight: 500; line-height: 1.55; }
.support-field-wide { margin-top: 15px; }

.support-form-confirmations { display: grid; gap: 13px; }
.support-form-confirmations label { grid-template-columns: 20px minmax(0, 1fr); align-items: start; font-weight: 600; line-height: 1.7; }
.support-form-confirmations input { width: 17px; height: 17px; margin-top: 3px; accent-color: var(--abh-blue); }
.support-form-confirmations p { margin: 4px 0 0; color: var(--abh-muted); font-size: 12px; line-height: 1.7; }

.support-submit-button,
.support-reply-form button {
    min-height: 50px;
    border: 1px solid rgba(114, 183, 255, .5);
    border-radius: 14px;
    background: linear-gradient(135deg, #2f8cff, #1769cc);
    color: #fff;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 14px 34px rgba(47, 140, 255, .22);
}

.support-ticket-list,
.member-support-ticket-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
    margin-bottom: 60px;
}

.support-ticket-card,
.member-support-ticket {
    display: grid;
    gap: 10px;
    padding: 20px;
    border: 1px solid var(--abh-border);
    border-radius: 18px;
    background: var(--abh-surface);
    transition: transform .2s ease, border-color .2s ease;
}

.support-ticket-card:hover,
.member-support-ticket:hover { transform: translateY(-2px); border-color: rgba(114, 183, 255, .42); }
.support-ticket-card__top,
.member-support-ticket > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.support-ticket-card h2,
.member-support-ticket h3 { margin: 0; font-size: 17px; }
.support-ticket-card p,
.member-support-ticket p { margin: 0; color: var(--abh-muted); font-size: 13px; }
.support-ticket-card > div:last-child { display: flex; justify-content: space-between; color: var(--abh-muted); font-size: 11px; }
.member-support-ticket time { color: var(--abh-muted); font-size: 11px; }

.support-status {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    padding: 6px 9px;
    border: 1px solid rgba(114,183,255,.24);
    border-radius: 999px;
    background: rgba(47,140,255,.09);
    color: #bcdcff;
    font-size: 11px;
    font-weight: 900;
}
.support-status--needs_info,
.support-status--broker_replied { color: #ffe0a4; border-color: rgba(255,196,92,.28); background: rgba(255,196,92,.09); }
.support-status--resolved { color: #9ef1c7; border-color: rgba(72,215,150,.28); background: rgba(72,215,150,.09); }
.support-status--closed,
.support-status--rejected { color: #ffb0b0; border-color: rgba(255,100,100,.26); background: rgba(255,100,100,.08); }

.support-ticket-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 20px;
    align-items: start;
    margin-bottom: 60px;
}
.support-ticket-main { display: grid; gap: 18px; }
.support-timeline-card { position: sticky; top: 118px; }
.support-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; overflow: hidden; border: 1px solid rgba(114,183,255,.12); border-radius: 14px; background: rgba(114,183,255,.1); }
.support-detail-list > div { padding: 14px; background: rgba(7,12,21,.96); }
.support-detail-list dt { color: var(--abh-muted); font-size: 11px; }
.support-detail-list dd { margin: 6px 0 0; font-weight: 800; overflow-wrap: anywhere; }
.support-description-box { margin-top: 18px; padding: 17px; border-radius: 14px; background: rgba(47,140,255,.06); }
.support-description-box h3,
.support-attachment-list h3 { margin: 0 0 10px; font-size: 14px; }
.support-description-box p { margin: 0; color: #d7e4f4; line-height: 1.85; }
.support-attachment-list { display: grid; gap: 9px; margin-top: 18px; }
.support-attachment-list a { padding: 11px 12px; border: 1px solid rgba(114,183,255,.14); border-radius: 11px; background: rgba(5,9,17,.55); font-size: 13px; overflow-wrap: anywhere; }
.support-attachment-list small { color: var(--abh-muted); }

.support-conversation { display: grid; gap: 12px; }
.support-message { max-width: 88%; padding: 15px; border-radius: 15px; background: rgba(47,140,255,.09); border: 1px solid rgba(114,183,255,.14); }
.support-message--admin { margin-inline-start: auto; background: rgba(72,215,150,.07); border-color: rgba(72,215,150,.16); }
.support-message > div { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.support-message time { color: var(--abh-muted); font-size: 10px; }
.support-message p { margin: 0; line-height: 1.75; }
.support-muted { color: var(--abh-muted); }
.support-reply-form { display: grid; gap: 14px; margin-top: 20px; padding-top: 20px; border-top: 1px solid rgba(114,183,255,.12); }
.support-closed-note { margin-top: 18px; padding: 13px; border-radius: 12px; background: rgba(255,100,100,.08); color: #ffc0c0; }

.support-timeline-card h2 { margin: 0 0 18px; font-size: 18px; }
.support-timeline { display: grid; }
.support-timeline__item { position: relative; display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; min-height: 70px; }
.support-timeline__item::before { content: ""; position: absolute; inset-inline-start: 5px; top: 15px; bottom: -2px; width: 1px; background: rgba(114,183,255,.2); }
.support-timeline__item:last-child::before { display: none; }
.support-timeline__item > span { width: 11px; height: 11px; margin-top: 4px; border: 2px solid rgba(114,183,255,.6); border-radius: 50%; background: #0a1220; z-index: 1; }
.support-timeline__item.is-current > span { background: var(--abh-blue); box-shadow: 0 0 0 5px rgba(47,140,255,.12); }
.support-timeline__item strong { display: block; font-size: 13px; }
.support-timeline__item time { display: block; margin-top: 5px; color: var(--abh-muted); font-size: 10px; }
.support-timeline__item p { margin: 5px 0 0; color: var(--abh-muted); font-size: 11px; line-height: 1.55; }
.support-timeline-help { margin-top: 10px; padding: 14px; border-radius: 13px; background: rgba(47,140,255,.07); }
.support-timeline-help p { margin: 6px 0 0; color: var(--abh-muted); font-size: 11px; line-height: 1.65; }

.member-support-section { margin-top: 24px; }

@media (max-width: 900px) {
    .support-request-layout,
    .support-ticket-grid { grid-template-columns: 1fr; }
    .support-broker-card,
    .support-timeline-card { position: static; }
    .support-broker-card { grid-template-columns: auto minmax(0,1fr); align-items: center; }
}

@media (max-width: 680px) {
    .member-page--support { width: min(100% - 20px, 1180px); }
    .support-page-hero,
    .support-ticket-hero { align-items: flex-start; flex-direction: column; margin-top: 20px; padding: 20px; }
    .support-page-hero > a { width: 100%; text-align: center; }
    .support-form-grid,
    .support-detail-list,
    .support-ticket-list,
    .member-support-ticket-list { grid-template-columns: 1fr; }
    .support-form-section,
    .support-detail-card,
    .support-timeline-card { padding: 18px; }
    .support-message { max-width: 96%; }
    .support-broker-card { grid-template-columns: 1fr; }
}


/* Part 14: member login prompt modal */
html.auth-modal-lock,
html.auth-modal-lock body {
    overflow: hidden;
}

.auth-required-modal[hidden] {
    display: none;
}

.auth-required-modal {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: grid;
    place-items: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .18s ease, visibility .18s ease;
}

.auth-required-modal.is-open {
    opacity: 1;
    visibility: visible;
}

.auth-required-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(1, 4, 9, .78);
    backdrop-filter: blur(9px);
}

.auth-required-modal__dialog {
    position: relative;
    z-index: 1;
    width: min(430px, 100%);
    padding: 30px;
    overflow: hidden;
    border: 1px solid rgba(114, 183, 255, .3);
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% 0%, rgba(47, 140, 255, .2), transparent 18rem),
        linear-gradient(145deg, rgba(15, 25, 42, .99), rgba(5, 9, 17, .99));
    box-shadow: 0 30px 100px rgba(0, 0, 0, .62), 0 0 55px rgba(47, 140, 255, .12);
    text-align: center;
    transform: translateY(16px) scale(.97);
    transition: transform .18s ease;
}

.auth-required-modal.is-open .auth-required-modal__dialog {
    transform: translateY(0) scale(1);
}

.auth-required-modal__dialog::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--abh-blue-light), transparent);
}

.auth-required-modal__close {
    position: absolute;
    inset-block-start: 14px;
    inset-inline-end: 14px;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 11px;
    background: rgba(255, 255, 255, .04);
    color: #cbd8e9;
    font: inherit;
    font-size: 23px;
    line-height: 1;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.auth-required-modal__close:hover {
    border-color: rgba(114, 183, 255, .35);
    background: rgba(47, 140, 255, .12);
    transform: rotate(4deg);
}

.auth-required-modal__icon {
    width: 70px;
    height: 70px;
    display: grid;
    place-items: center;
    margin: 0 auto 18px;
    border: 1px solid rgba(114, 183, 255, .35);
    border-radius: 22px;
    background: linear-gradient(145deg, rgba(47, 140, 255, .26), rgba(47, 140, 255, .06));
    color: var(--abh-blue-light);
    box-shadow: inset 0 0 22px rgba(47, 140, 255, .12), 0 12px 30px rgba(47, 140, 255, .16);
}

.auth-required-modal__icon svg {
    width: 35px;
    height: 35px;
}

.auth-required-modal__eyebrow {
    display: block;
    margin-bottom: 8px;
    color: var(--abh-blue-light);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.auth-required-modal h2 {
    margin: 0;
    font-size: clamp(24px, 5vw, 31px);
    letter-spacing: -.035em;
}

.auth-required-modal p {
    margin: 13px auto 0;
    color: var(--abh-muted);
    font-size: 14px;
    line-height: 1.8;
}

.auth-required-modal__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 25px;
}

.auth-required-modal__actions a,
.auth-required-modal__actions button {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 11px 14px;
    border-radius: 13px;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.auth-required-modal__actions a:hover,
.auth-required-modal__actions button:hover {
    transform: translateY(-2px);
}

.auth-required-modal__login {
    border: 1px solid rgba(114, 183, 255, .55);
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    box-shadow: 0 12px 28px rgba(47, 140, 255, .24);
}

.auth-required-modal__register {
    border: 1px solid rgba(114, 183, 255, .22);
    background: rgba(47, 140, 255, .08);
    color: #dcecff;
}

.auth-required-modal__cancel {
    grid-column: 1 / -1;
    border: 0;
    background: transparent;
    color: var(--abh-muted);
}

.auth-required-modal__cancel:hover {
    background: rgba(255, 255, 255, .035);
    color: #fff;
}

@media (max-width: 520px) {
    .auth-required-modal {
        padding: 10px;
    }

    .auth-required-modal__dialog {
        width: 100%;
        padding: 26px 20px 18px;
        border-radius: 22px;
        transform: translateY(28px);
    }

    .auth-required-modal__icon {
        width: 62px;
        height: 62px;
        margin-bottom: 15px;
        border-radius: 19px;
    }

    .auth-required-modal__actions {
        grid-template-columns: 1fr;
    }

    .auth-required-modal__cancel {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .auth-required-modal,
    .auth-required-modal__dialog,
    .auth-required-modal__actions a,
    .auth-required-modal__actions button {
        transition: none;
    }
}

/* Part 15: compact public cards and page introductions */
.broker-card,
.broker-profile-hero,
.broker-overview,
.broker-content-card,
.broker-sidebar-card,
.broker-platform-card,
.broker-regulation-card,
.broker-account-card,
.compare-picker,
.compare-results,
.compare-notice,
.deal-card,
.broker-deal-card,
.member-auth-card,
.member-account-hero,
.member-favorite-card,
.member-review-card,
.member-notification-card,
.member-preference-card,
.newsletter-hero,
.newsletter-frequency-card,
.newsletter-status-card,
.article-card,
.article-detail__hero,
.article-sidebar-card,
.member-article-favorite-card,
.global-search-card,
.member-saved-search-card,
.content-page__hero,
.contact-page__hero,
.content-page__article section,
.content-page__aside,
.contact-card,
.contact-info article,
.home-process-grid article,
.home-broker-card,
.home-offer-card,
.home-article-card,
.home-newsletter-cta,
.support-page-hero,
.support-ticket-hero,
.support-empty-card,
.support-broker-card,
.support-detail-card,
.support-timeline-card,
.support-ticket-card {
    min-height: 0;
    height: auto;
    align-self: start;
}

/* Page introduction blocks */
.brokers-page__hero,
.compare-hero,
.deals-hero,
.global-search-hero {
    margin-bottom: 24px;
}

.brokers-page__hero p,
.compare-hero p,
.deals-hero p,
.global-search-hero > p {
    margin-top: 12px;
    line-height: 1.65;
}

.broker-profile-hero,
.articles-hero,
.article-detail__hero,
.newsletter-hero,
.content-page__hero,
.contact-page__hero,
.member-account-hero,
.support-page-hero,
.support-ticket-hero {
    padding: 22px 24px;
    border-radius: 19px;
    gap: 20px;
}

.content-page__hero,
.contact-page__hero {
    margin-bottom: 24px;
}

.content-page__hero h1,
.contact-page__hero h1 {
    margin: 9px 0 10px;
}

.content-page__hero p,
.contact-page__hero > div > p,
.broker-profile-hero__identity p,
.support-page-hero p,
.support-ticket-hero p {
    line-height: 1.65;
}

/* Home cards */
.broker-finder {
    padding: 21px;
    border-radius: 19px;
}

.broker-finder__heading {
    margin-bottom: 16px;
}

.home-process-grid article {
    padding: 20px;
    border-radius: 17px;
}

.home-process-grid h3 {
    margin: 18px 0 8px;
}

.home-broker-card,
.home-offer-card {
    padding: 18px;
    border-radius: 17px;
}

.home-broker-card > p,
.home-article-card p {
    min-height: 0;
}

.home-broker-card > p {
    margin: 13px 0;
}

.home-broker-card dl {
    gap: 5px;
    margin-bottom: 14px;
}

.home-broker-card dl > div {
    padding-block: 6px;
}

.home-offer-card h3 {
    margin: 16px 0 8px;
}

.home-offer-card__meta {
    margin: 16px 0;
    padding: 11px;
}

.home-article-card {
    border-radius: 17px;
}

.home-article-card__body {
    padding: 17px;
}

.home-article-card h3 {
    margin: 9px 0 8px;
}

.home-article-card__body > div {
    margin-top: 15px;
}

.home-newsletter-cta {
    margin-block: 56px 72px;
    padding: 24px;
    border-radius: 20px;
}

/* Broker listing cards */
.broker-card {
    padding: 18px;
    border-radius: 18px;
}

.broker-card__top {
    gap: 12px;
}

.broker-card__logo,
.broker-card__placeholder {
    width: 50px;
    height: 50px;
    flex-basis: 50px;
    border-radius: 13px;
}

.broker-card h2 {
    margin: 1px 0 5px;
    font-size: 20px;
}

.broker-card__top p {
    line-height: 1.55;
}

.broker-card__details {
    gap: 7px;
    margin: 14px 0 0;
}

.broker-card__details > div {
    padding: 9px 10px;
    border-radius: 10px;
}

.broker-card__details dd {
    margin-top: 3px;
    line-height: 1.45;
}

.broker-card__metrics > div {
    min-height: 0;
    padding-block: 9px;
}

.broker-card__actions {
    margin-top: 13px;
}

.broker-card__details-button,
.broker-card__visit-button {
    min-height: 40px;
    padding: 8px 10px;
}

/* Broker profile cards */
.broker-profile-hero__identity {
    gap: 16px;
}

.broker-profile-hero__logo,
.broker-profile-hero__placeholder {
    width: 76px;
    height: 76px;
    flex-basis: 76px;
    border-radius: 18px;
}

.broker-profile-hero__identity p {
    margin-top: 9px;
}

.broker-profile-hero__badges {
    margin-top: 12px;
}

.broker-profile-hero__back,
.broker-profile-hero__visit,
.broker-profile-hero__support {
    min-height: 42px;
    padding: 9px 14px;
}

.broker-snapshot {
    gap: 9px;
    margin-top: 13px;
}

.broker-snapshot__item {
    min-height: 0;
    padding: 11px 12px;
    border-radius: 12px;
}

.broker-snapshot__item strong {
    margin-top: 5px;
}

.broker-overview,
.broker-content-card {
    padding: 19px;
    border-radius: 18px;
}

.broker-overview__highlights {
    gap: 10px;
    margin-top: 17px;
}

.broker-overview__highlights article {
    min-height: 0;
    padding: 13px;
    border-radius: 12px;
}

.broker-overview__highlights span {
    margin-bottom: 6px;
}

.broker-page-main {
    gap: 15px;
}

.broker-section-heading {
    gap: 10px;
    margin-bottom: 15px;
}

.broker-section-heading > span {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
}

.broker-rich-text {
    line-height: 1.75;
}

.broker-facts-grid {
    gap: 9px;
}

.broker-facts-grid > div {
    min-height: 0;
    padding: 10px 11px;
}

.broker-facts-grid dd {
    margin-top: 5px;
}

.broker-platform-grid,
.broker-regulation-list,
.broker-account-grid,
.broker-deals-grid {
    gap: 10px;
}

.broker-platform-card,
.broker-regulation-card,
.broker-account-card,
.broker-deal-card {
    padding: 14px;
    border-radius: 13px;
}

.broker-platform-card__devices {
    margin-top: 8px;
}

.broker-regulation-list {
    margin-top: 15px;
}

.broker-regulation-card dl {
    margin-top: 11px;
}

.broker-sidebar-card {
    padding: 16px;
    border-radius: 16px;
}

.broker-sidebar-card h2 {
    margin-bottom: 12px;
}

.broker-safety-list > div {
    padding: 8px 0;
}

.broker-account-card__description,
.broker-account-card__facts {
    margin-top: 11px;
}

.broker-account-card__rules {
    margin-top: 11px;
}

/* Comparison and promotion cards */
.compare-picker {
    padding: 17px;
    border-radius: 16px;
}

.compare-picker__heading {
    margin-bottom: 13px;
}

.compare-option {
    padding: 10px;
}

.compare-notice {
    padding: 19px;
}

.deal-card {
    padding: 18px;
    border-radius: 17px;
}

.deal-card__broker,
.deal-card__value,
.deal-card h2,
.deal-card__meta {
    margin-top: 13px;
}

.deal-card__description {
    line-height: 1.65;
}

.deal-card__meta > div,
.deal-card__detail-list section {
    padding: 8px 9px;
}

.deal-card__actions {
    margin-top: 14px;
    padding-top: 0;
}

.deal-card__actions a {
    min-height: 39px;
}

.deals-empty,
.brokers-empty,
.articles-empty,
.article-not-found,
.global-search-empty,
.newsletter-archive-empty,
.member-favorites-empty,
.broker-review-empty,
.support-empty-card {
    padding: 24px 18px;
}

/* Member, newsletter, article, search and support cards */
.member-auth-card,
.member-account-hero,
.member-favorite-card,
.member-review-card,
.member-notification-card,
.member-preference-card,
.newsletter-frequency-card,
.newsletter-status-card,
.article-sidebar-card,
.member-saved-search-card,
.support-broker-card,
.support-detail-card,
.support-timeline-card,
.support-ticket-card {
    padding: 16px;
    border-radius: 15px;
}

.member-section-heading {
    margin-bottom: 14px;
}

.member-favorite-card__actions,
.member-notification-card__actions,
.newsletter-status-card__actions,
.member-saved-search-card__actions {
    margin-top: 12px;
}

.newsletter-hero__content > p,
.newsletter-frequency-card > p,
.newsletter-status-card p {
    line-height: 1.65;
}

.article-card {
    border-radius: 17px;
}

.article-card__body {
    padding: 16px;
}

.article-card h2 {
    margin-top: 9px;
    font-size: 19px;
}

.article-card__body > p {
    margin-top: 8px;
    line-height: 1.6;
    -webkit-line-clamp: 2;
}

.article-card__footer {
    margin-top: 13px;
    padding-top: 0;
}

.article-favorite-button {
    width: 38px;
    height: 38px;
}

.member-article-favorite-card {
    grid-template-columns: 145px minmax(0, 1fr);
    border-radius: 14px;
}

.member-article-favorite-card__body,
.global-search-card__body {
    padding: 13px;
}

.global-search-card {
    grid-template-columns: 88px minmax(0, 1fr);
    min-height: 0;
    border-radius: 14px;
}

.contact-page__promise,
.content-page__article section,
.content-page__aside,
.contact-card,
.contact-info article {
    padding: 18px;
    border-radius: 16px;
}

.content-page__article {
    gap: 13px;
}

.content-page__article h2 {
    margin-bottom: 10px;
}

.content-page__article p,
.content-page__article li {
    line-height: 1.75;
}

.support-card-heading {
    margin-bottom: 14px;
}

.support-ticket-card p,
.support-broker-card p {
    line-height: 1.6;
}

@media (max-width: 680px) {
    .brokers-page,
    .broker-page,
    .compare-page,
    .deals-page,
    .articles-page,
    .article-page,
    .content-page,
    .contact-page,
    .global-search-page,
    .newsletter-page,
    .member-page,
    .support-page {
        padding-block-start: 34px;
    }

    .brokers-page__hero,
    .compare-hero,
    .deals-hero,
    .global-search-hero {
        margin-bottom: 18px;
    }

    .broker-profile-hero,
    .articles-hero,
    .article-detail__hero,
    .newsletter-hero,
    .content-page__hero,
    .contact-page__hero,
    .member-account-hero,
    .support-page-hero,
    .support-ticket-hero {
        padding: 16px;
        border-radius: 16px;
        gap: 14px;
    }

    .broker-finder,
    .broker-card,
    .broker-overview,
    .broker-content-card,
    .broker-sidebar-card,
    .compare-picker,
    .deal-card,
    .member-auth-card,
    .member-account-hero,
    .member-favorite-card,
    .member-review-card,
    .member-notification-card,
    .member-preference-card,
    .newsletter-frequency-card,
    .newsletter-status-card,
    .article-card__body,
    .article-sidebar-card,
    .member-saved-search-card,
    .content-page__article section,
    .content-page__aside,
    .contact-card,
    .contact-info article,
    .home-process-grid article,
    .home-broker-card,
    .home-offer-card,
    .home-article-card__body,
    .home-newsletter-cta,
    .support-broker-card,
    .support-detail-card,
    .support-timeline-card,
    .support-ticket-card {
        padding: 14px;
        border-radius: 14px;
    }

    .broker-card__logo,
    .broker-card__placeholder {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }

    .broker-card__details {
        margin-top: 12px;
    }

    .broker-card__actions {
        gap: 8px;
        margin-top: 11px;
    }

    .broker-card__details-button,
    .broker-card__visit-button,
    .deal-card__actions a,
    .broker-profile-hero__back,
    .broker-profile-hero__visit,
    .broker-profile-hero__support {
        min-height: 38px;
    }

    .broker-profile-hero__identity {
        gap: 12px;
    }

    .broker-profile-hero__logo,
    .broker-profile-hero__placeholder {
        width: 62px;
        height: 62px;
        flex-basis: 62px;
        border-radius: 15px;
    }

    .broker-profile-hero__badges,
    .broker-snapshot {
        margin-top: 10px;
    }

    .broker-overview__highlights,
    .broker-facts-grid,
    .broker-account-card__facts {
        gap: 8px;
    }

    .broker-overview__highlights article,
    .broker-facts-grid > div,
    .broker-platform-card,
    .broker-regulation-card,
    .broker-account-card,
    .broker-deal-card {
        padding: 12px;
    }

    .deal-card__actions {
        padding-top: 0;
    }

    .article-card__image,
    .home-article-card__image {
        aspect-ratio: 16 / 7.8;
    }

    .member-article-favorite-card {
        grid-template-columns: 1fr;
    }

    .member-article-favorite-card__image {
        aspect-ratio: 16 / 7.5;
    }

    .global-search-card {
        grid-template-columns: 76px minmax(0, 1fr);
    }

    .home-newsletter-cta {
        margin-block: 42px 56px;
    }
}

/* Part 16 — first/subsequent deposits and local payments */
.broker-card__local-payment-badge,
.home-broker-card__local-payment {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 5px 9px;
    border: 1px solid rgba(56, 189, 148, .28);
    border-radius: 999px;
    background: rgba(37, 184, 135, .09);
    color: #8ceac7;
    font-size: 11px;
    font-weight: 800;
}

.home-broker-card__local-payment {
    margin-top: 2px;
}

.broker-account-card__deposit-note {
    display: grid;
    gap: 5px;
    margin-top: 12px;
    padding: 11px 12px;
    border: 1px solid rgba(72, 146, 255, .2);
    border-radius: 12px;
    background: rgba(55, 126, 230, .07);
    font-size: 12px;
    line-height: 1.7;
}

.broker-account-card__deposit-note strong {
    color: #aecdff;
}

.broker-account-card__deposit-note span {
    color: var(--site-muted, #aeb8c8);
}

.broker-payment-section {
    display: grid;
    gap: 22px;
}

.broker-payment-group {
    display: grid;
    gap: 13px;
}

.broker-payment-group > h3 {
    margin: 0;
    font-size: 16px;
}

.broker-payment-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.broker-payment-detail-card {
    display: grid;
    gap: 12px;
    min-width: 0;
    padding: 15px;
    border: 1px solid rgba(108, 158, 230, .18);
    border-radius: 15px;
    background: rgba(10, 17, 29, .7);
}

.broker-payment-detail-card--local {
    border-color: rgba(66, 201, 154, .22);
    background: rgba(18, 55, 47, .22);
}

.broker-payment-detail-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.broker-payment-detail-card__head strong {
    font-size: 15px;
    overflow-wrap: anywhere;
}

.broker-payment-detail-card__head span {
    flex: 0 0 auto;
    padding: 4px 7px;
    border-radius: 999px;
    background: rgba(72, 146, 255, .1);
    color: #b9d5ff;
    font-size: 10px;
    font-weight: 800;
}

.broker-payment-detail-card dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

.broker-payment-detail-card dl > div {
    min-width: 0;
    padding: 9px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .035);
}

.broker-payment-detail-card dt {
    color: var(--site-muted, #9ba8ba);
    font-size: 10px;
}

.broker-payment-detail-card dd {
    margin: 4px 0 0;
    font-size: 12px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.broker-payment-detail-card p,
.broker-payment-detail-card small {
    margin: 0;
    color: var(--site-muted, #aeb8c8);
    font-size: 11px;
    line-height: 1.65;
}

.broker-local-payment-countries {
    display: grid;
    gap: 11px;
}

.broker-local-payment-country {
    overflow: hidden;
    border: 1px solid rgba(66, 201, 154, .2);
    border-radius: 15px;
    background: rgba(5, 14, 21, .5);
}

.broker-local-payment-country summary {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px 15px;
    cursor: pointer;
    list-style: none;
}

.broker-local-payment-country summary::-webkit-details-marker {
    display: none;
}

.broker-local-payment-country summary strong {
    margin-inline-end: auto;
}

.broker-local-payment-country summary span,
.broker-local-payment-country summary small {
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .05);
    color: #b7c4d5;
    font-size: 10px;
}

.broker-local-payment-country > .broker-payment-detail-grid {
    padding: 0 13px 13px;
}

@media (max-width: 760px) {
    .broker-payment-detail-grid,
    .broker-payment-detail-card dl {
        grid-template-columns: 1fr;
    }

    .broker-payment-detail-card {
        padding: 12px;
    }

    .broker-local-payment-country summary {
        padding: 11px 12px;
    }
}

/* Part 17 — expandable broker account details */
details.broker-account-card {
    padding: 0;
}

.broker-account-card__summary {
    display: block;
    padding: 14px;
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.broker-account-card__summary::-webkit-details-marker {
    display: none;
}

.broker-account-card__summary::marker {
    content: '';
}

.broker-account-card__summary:focus-visible {
    outline: 2px solid rgba(114, 183, 255, .72);
    outline-offset: -3px;
    border-radius: 13px;
}

.broker-account-card[open] {
    border-color: rgba(114, 183, 255, .34);
    box-shadow: 0 18px 46px rgba(28, 109, 214, .1);
}

.broker-account-card__preview-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 12px 0 0;
}

.broker-account-card__preview-facts > div {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid rgba(114, 183, 255, .09);
    border-radius: 10px;
    background: rgba(1, 6, 13, .48);
}

.broker-account-card__preview-facts dt {
    color: var(--abh-muted);
    font-size: 8px;
    font-weight: 900;
}

.broker-account-card__preview-facts dd {
    margin: 4px 0 0;
    overflow-wrap: anywhere;
    color: #eef5fd;
    font-size: 11px;
    font-weight: 800;
}

.broker-account-card__toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 11px;
    padding-top: 10px;
    border-top: 1px solid rgba(114, 183, 255, .1);
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
}

.broker-account-card__toggle i {
    position: relative;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border: 1px solid rgba(114, 183, 255, .22);
    border-radius: 50%;
    background: rgba(47, 140, 255, .08);
}

.broker-account-card__toggle i::before,
.broker-account-card__toggle i::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 1.5px;
    border-radius: 99px;
    background: currentColor;
    content: '';
    transform: translate(-50%, -50%);
    transition: transform .2s ease;
}

.broker-account-card__toggle i::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.broker-account-card__toggle-close {
    display: none;
}

.broker-account-card[open] .broker-account-card__toggle-open {
    display: none;
}

.broker-account-card[open] .broker-account-card__toggle-close {
    display: inline;
}

.broker-account-card[open] .broker-account-card__toggle i::after {
    transform: translate(-50%, -50%) rotate(0deg);
}

.broker-account-card__details {
    display: grid;
    gap: 14px;
    padding: 14px;
    border-top: 1px solid rgba(114, 183, 255, .1);
}

.broker-account-card__detail-block {
    display: grid;
    gap: 9px;
}


.broker-account-card__detail-block h4 {
    margin: 0;
    color: #f5f8fc;
    font-size: 12px;
}

.broker-account-card__details .broker-account-card__description {
    margin: 0;
}

.broker-account-card__facts--full {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0;
}

.broker-account-card__details .broker-account-card__rules {
    margin-top: 0;
}

.broker-account-card__payments {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.broker-account-card__payments > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 9px;
    border: 1px solid rgba(114, 183, 255, .12);
    border-radius: 999px;
    background: rgba(2, 8, 16, .5);
}

.broker-account-card__payments strong {
    color: #eaf3ff;
    font-size: 9px;
}

.broker-account-card__payments small {
    color: var(--abh-muted);
    font-size: 8px;
}

.broker-account-card__cta {
    min-height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 13px;
    border: 1px solid rgba(114, 183, 255, .45);
    border-radius: 10px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
}

@media (max-width: 620px) {
    .broker-account-card__summary {
        padding: 12px;
    }

    .broker-account-card__preview-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .broker-account-card__preview-facts > div:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .broker-account-card__details {
        padding: 12px;
    }

    .broker-account-card__facts--full {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    .broker-account-card__toggle i::before,
    .broker-account-card__toggle i::after {
        transition: none;
    }
}

/* Part 19 — dynamic promotion filters and progressive loading */
.deals-controls {
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid rgba(114, 183, 255, 0.15);
    border-radius: 17px;
    background: linear-gradient(145deg, rgba(13, 22, 37, 0.94), rgba(5, 10, 19, 0.97));
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.2);
}

.deals-controls__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 13px;
}

.deals-controls__heading h2,
.deals-controls__heading p {
    margin: 0;
}

.deals-controls__heading h2 {
    color: #fff;
    font-size: 16px;
}

.deals-controls__heading p {
    margin-top: 5px;
    color: var(--abh-muted);
    font-size: 10px;
}

.deals-controls__heading p strong {
    color: var(--abh-blue-light);
}

.deals-controls__reset {
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 9px;
    background: rgba(2, 7, 14, 0.5);
    color: #d9ebff;
    font: inherit;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
}

.deals-controls__reset:hover,
.deals-controls__reset:focus-visible {
    border-color: rgba(114, 183, 255, 0.45);
    color: #fff;
}

.deals-controls__fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.deals-control-field {
    display: grid;
    gap: 6px;
}

.deals-control-field > span {
    color: var(--abh-muted);
    font-size: 9px;
    font-weight: 800;
}

.deals-control-field select {
    width: 100%;
    min-height: 39px;
    padding: 8px 10px;
    border: 1px solid rgba(114, 183, 255, 0.14);
    border-radius: 10px;
    outline: 0;
    background: #07111f;
    color: #fff;
    font: inherit;
    font-size: 10px;
    font-weight: 800;
}

.deals-control-field select:focus {
    border-color: rgba(114, 183, 255, 0.52);
    box-shadow: 0 0 0 3px rgba(47, 140, 255, 0.09);
}

.deal-card__badges {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
}

.deal-card__status {
    padding: 6px 9px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
}

.deal-card__status--ending {
    background: rgba(255, 178, 71, 0.1);
    color: #ffd08a;
}

.deal-card__status--expired {
    background: rgba(255, 100, 115, 0.09);
    color: #ff9da8;
}

.deal-card.is-expired {
    border-color: rgba(255, 255, 255, 0.08);
    filter: saturate(0.72);
    opacity: 0.88;
}

.deal-card__expired-action {
    min-height: 39px;
    min-width: calc(50% - 5px);
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 11px;
    border: 1px solid rgba(255, 100, 115, 0.16);
    border-radius: 10px;
    background: rgba(255, 100, 115, 0.06);
    color: #ff9da8;
    font-size: 10px;
    font-weight: 900;
    text-align: center;
}


.deal-card[hidden],
.deals-no-results[hidden],
.deals-load-more[hidden] {
    display: none !important;
}

.deals-no-results {
    margin-top: 18px;
    padding: 22px 18px;
    border: 1px dashed rgba(114, 183, 255, 0.2);
    border-radius: 15px;
    background: rgba(7, 14, 25, 0.7);
    color: var(--abh-muted);
    text-align: center;
}

.deals-load-more {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.deals-load-more button {
    min-width: 170px;
    min-height: 42px;
    padding: 9px 18px;
    border: 1px solid rgba(114, 183, 255, 0.46);
    border-radius: 11px;
    background: linear-gradient(135deg, rgba(22, 121, 237, 0.94), rgba(61, 154, 255, 0.94));
    color: #fff;
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(22, 121, 237, 0.16);
}

.deals-load-more button:hover,
.deals-load-more button:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 15px 34px rgba(22, 121, 237, 0.22);
}

@media (max-width: 760px) {
    .deals-controls__fields {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .deals-controls {
        padding: 13px;
        border-radius: 14px;
    }

    .deals-controls__heading {
        align-items: flex-start;
        margin-bottom: 11px;
    }

    .deals-controls__reset {
        min-height: 34px;
        padding-inline: 10px;
    }

    .deal-card__topline {
        align-items: flex-start;
    }

    .deal-card__badges {
        max-width: 64%;
    }

    .deal-card__expired-action {
        width: 100%;
        min-width: 100%;
    }

    .deals-load-more button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .deals-load-more button {
        transition: none;
    }
}

/* Part 21 — internal promotion details pages */
.deal-card__actions .deal-card__details {
    border-color: rgba(114, 183, 255, 0.3);
    background: rgba(47, 140, 255, 0.08);
    color: #dcecff;
}

.broker-deal-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
}

.broker-deal-card__actions a {
    min-height: 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    border: 1px solid rgba(114, 183, 255, 0.22);
    border-radius: 9px;
    color: var(--abh-blue-light);
    font-size: 10px;
    font-weight: 900;
    text-align: center;
}

.broker-deal-card__actions .broker-deal-card__claim {
    border-color: rgba(114, 183, 255, 0.48);
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
}

.deal-detail-page {
    width: min(1180px, calc(100% - 36px));
    margin-inline: auto;
    padding-block: 54px 96px;
}

.deal-detail-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
    color: var(--abh-muted);
    font-size: 11px;
    font-weight: 800;
}

.deal-detail-breadcrumb a:hover,
.deal-detail-breadcrumb a:focus-visible {
    color: var(--abh-blue-light);
}

.deal-detail {
    display: grid;
    gap: 18px;
}

.deal-detail__hero,
.deal-detail__overview,
.deal-detail__terms-section,
.deal-detail__final-cta,
.deal-detail-not-found {
    border: 1px solid rgba(114, 183, 255, 0.16);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(13, 22, 37, 0.97), rgba(5, 10, 19, 0.99));
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.24);
}

.deal-detail__hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(230px, 0.34fr);
    gap: 22px;
    padding: 24px;
}

.deal-detail__copy {
    min-width: 0;
}

.deal-detail__badges {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.deal-detail__badges span,
.deal-detail__badges strong {
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
}

.deal-detail__badges span {
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
}

.deal-detail__badges strong {
    background: rgba(55, 210, 145, 0.09);
    color: #90f0c6;
}

.deal-detail__broker {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 18px;
}

.deal-detail__broker img,
.deal-detail__broker > span {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    padding: 6px;
    border-radius: 14px;
    background: #fff;
    color: #1b5fa9;
    object-fit: contain;
    font-size: 10px;
    font-weight: 900;
}

.deal-detail__broker small,
.deal-detail__broker strong {
    display: block;
}

.deal-detail__broker small {
    color: var(--abh-muted);
    font-size: 9px;
    font-weight: 800;
}

.deal-detail__broker strong {
    margin-top: 4px;
    color: #fff;
    font-size: 15px;
}

.deal-detail__hero h1 {
    margin: 22px 0 0;
    color: #fff;
    font-size: clamp(30px, 5vw, 52px);
    line-height: 1.08;
    letter-spacing: -0.045em;
}

.deal-detail__summary {
    max-width: 760px;
    margin: 14px 0 0;
    color: var(--abh-muted);
    font-size: 14px;
    line-height: 1.8;
}

.deal-detail__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.deal-detail__actions a,
.deal-detail__final-cta > a,
.deal-detail-not-found a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border: 1px solid rgba(114, 183, 255, 0.25);
    border-radius: 11px;
    font-size: 11px;
    font-weight: 900;
    text-align: center;
}

.deal-detail__actions .deal-detail__claim,
.deal-detail__final-cta > a {
    border-color: rgba(114, 183, 255, 0.52);
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    box-shadow: 0 12px 28px rgba(22, 121, 237, 0.18);
}

.deal-detail__actions .deal-detail__broker-link {
    color: var(--abh-blue-light);
}

.deal-detail__highlight {
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 17px;
    background:
        radial-gradient(circle at 50% 0%, rgba(47, 140, 255, 0.18), transparent 65%),
        rgba(2, 7, 14, 0.56);
    text-align: center;
}

.deal-detail__highlight span,
.deal-detail__highlight small {
    color: var(--abh-muted);
    font-size: 9px;
    font-weight: 900;
}

.deal-detail__highlight strong {
    display: block;
    margin-block: 10px;
    color: #fff;
    font-size: clamp(34px, 5vw, 58px);
    line-height: 1;
    letter-spacing: -0.05em;
}

.deal-detail__overview,
.deal-detail__terms-section {
    padding: 20px;
}

.deal-detail__section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.deal-detail__section-heading > span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(114, 183, 255, 0.2);
    border-radius: 10px;
    background: rgba(47, 140, 255, 0.08);
    color: var(--abh-blue-light);
    font-size: 9px;
    font-weight: 900;
}

.deal-detail__section-heading h2 {
    margin: 0;
    color: #fff;
    font-size: 17px;
}

.deal-detail__facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin: 0;
}

.deal-detail__facts > div {
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid rgba(114, 183, 255, 0.1);
    border-radius: 11px;
    background: rgba(2, 7, 14, 0.5);
}

.deal-detail__facts dt {
    color: var(--abh-muted);
    font-size: 9px;
    font-weight: 800;
}

.deal-detail__facts dd {
    margin: 5px 0 0;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.deal-detail__code {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-top: 12px;
    padding: 12px;
    border: 1px dashed rgba(114, 183, 255, 0.28);
    border-radius: 12px;
    background: rgba(47, 140, 255, 0.06);
}

.deal-detail__code span,
.deal-detail__code code {
    display: block;
}

.deal-detail__code span {
    color: var(--abh-muted);
    font-size: 9px;
    font-weight: 800;
}

.deal-detail__code code {
    margin-top: 5px;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
}

.deal-detail__code button {
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid rgba(114, 183, 255, 0.34);
    border-radius: 9px;
    background: rgba(47, 140, 255, 0.1);
    color: var(--abh-blue-light);
    font: inherit;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
}

.deal-detail__code button.is-copied {
    border-color: rgba(55, 210, 145, 0.36);
    background: rgba(55, 210, 145, 0.1);
    color: #90f0c6;
}

.deal-detail__terms {
    display: grid;
    gap: 12px;
}

.deal-detail__terms-section ul {
    display: grid;
    gap: 9px;
    margin: 0;
    padding-inline-start: 20px;
}

.deal-detail__terms-section li {
    color: #dce7f7;
    font-size: 12px;
    line-height: 1.8;
}

.deal-detail__terms-section li::marker {
    color: var(--abh-blue-light);
}

.deal-detail__final-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px;
}

.deal-detail__final-cta span {
    color: var(--abh-blue-light);
    font-size: 9px;
    font-weight: 900;
}

.deal-detail__final-cta h2,
.deal-detail__final-cta p {
    margin: 0;
}

.deal-detail__final-cta h2 {
    margin-top: 5px;
    color: #fff;
    font-size: 20px;
}

.deal-detail__final-cta p {
    margin-top: 4px;
    color: var(--abh-muted);
    font-size: 11px;
}

.deal-detail-not-found {
    max-width: 680px;
    margin-inline: auto;
    padding: 34px 24px;
    text-align: center;
}

.deal-detail-not-found > span {
    color: var(--abh-blue-light);
    font-size: 34px;
    font-weight: 900;
}

.deal-detail-not-found h1 {
    margin: 8px 0 0;
    color: #fff;
}

.deal-detail-not-found p {
    margin: 10px 0 18px;
    color: var(--abh-muted);
}

.deal-detail-not-found a {
    color: var(--abh-blue-light);
}

@media (max-width: 820px) {
    .deal-detail__hero {
        grid-template-columns: 1fr;
    }

    .deal-detail__highlight {
        min-height: 170px;
    }

    .deal-detail__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .deal-detail-page {
        width: min(100% - 20px, 1180px);
        padding-block: 42px 68px;
    }

    .deal-detail__hero,
    .deal-detail__overview,
    .deal-detail__terms-section,
    .deal-detail__final-cta {
        padding: 15px;
        border-radius: 15px;
    }

    .deal-detail__hero h1 {
        margin-top: 17px;
        font-size: 30px;
    }

    .deal-detail__actions,
    .deal-detail__final-cta,
    .deal-detail__code {
        align-items: stretch;
        flex-direction: column;
    }

    .deal-detail__actions a,
    .deal-detail__final-cta > a,
    .deal-detail__code button {
        width: 100%;
    }

    .deal-detail__facts {
        grid-template-columns: 1fr;
    }

    .broker-deal-card__actions {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 650px) {
    .partners-strip__inner {
        width: min(100% - 20px, 1380px);
        padding-block: 24px 27px;
    }

    .partners-strip__heading {
        gap: 12px;
        margin-bottom: 18px;
    }

    .partners-strip__group {
        min-width: calc(100vw - 20px);
        gap: 22px;
        padding-inline: 14px;
    }

    .partners-strip__item {
        width: 88px;
        padding: 10px;
    }

    .partners-strip__track {
        animation-duration: 22s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .partners-strip__track {
        width: 100%;
        animation: none;
    }

    .partners-strip__group:first-child {
        min-width: 100%;
        flex-wrap: wrap;
        justify-content: center;
    }

    .partners-strip__group[aria-hidden="true"] {
        display: none;
    }

    .partners-strip__item,
    .partners-strip__item img,
    .partners-strip__item > span {
        transition: none;
    }
}

/* =========================================================
   Part 25 — APF compact scale alignment
   A whole-site density pass based on ArabPropFirm proportions.
========================================================= */

body {
    font-size: 14px;
}

.site-header__inner,
.home-main,
.brokers-page,
.broker-page,
.compare-page,
.deals-page,
.articles-page,
.article-page,
.global-search-page,
.newsletter-page,
.member-page,
.support-page,
.deal-detail-page,
.site-footer__inner,
.site-footer__network,
.site-footer__bottom {
    max-width: 1200px;
}

.site-header {
    padding-block: 9px;
}

.site-header__inner {
    min-height: 60px;
    padding: 8px 12px;
    gap: 16px;
    border-radius: 15px;
}

.site-brand {
    font-size: 16px;
}

.site-brand__mark {
    width: 38px;
    height: 38px;
    border-radius: 11px;
}

.site-brand__logo {
    width: 27px;
    height: 27px;
}

.site-nav a {
    padding: 8px 10px;
    font-size: 12px;
}

.language-switch,
.login-link,
.register-link,
.account-link,
.site-user-logout button {
    min-height: 36px;
    padding: 7px 11px;
    font-size: 11px;
    border-radius: 9px;
}

.hero-section {
    min-height: 0;
    padding-block: 54px 48px;
}

.hero-section__grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(310px, 0.72fr);
    gap: clamp(32px, 5vw, 70px);
}

.hero-section__eyebrow {
    margin-bottom: 13px;
    padding: 6px 10px;
    font-size: 10px;
}

.hero-section h1 {
    font-size: clamp(32px, 4.3vw, 50px);
    line-height: 1.16;
    letter-spacing: -0.038em;
}

.hero-section p {
    margin-top: 16px;
    font-size: clamp(14px, 1.55vw, 17px);
    line-height: 1.75;
}

.hero-section__actions {
    margin-top: 21px;
    gap: 9px;
}

.hero-section__button,
.hero-section__secondary {
    min-height: 42px;
    margin-top: 0;
    padding: 9px 16px;
    border-radius: 10px;
    font-size: 12px;
}

.hero-section__trust {
    gap: 7px 13px;
    margin-top: 17px;
    font-size: 10px;
}

.broker-finder {
    padding: 18px;
    border-radius: 17px;
}

.broker-finder__heading {
    margin-bottom: 14px;
}

.broker-finder__kicker {
    margin-bottom: 6px;
    font-size: 9px;
}

.broker-finder__heading h2 {
    font-size: clamp(19px, 2.4vw, 25px);
}

.broker-finder__form {
    gap: 10px;
}

.broker-finder__field {
    gap: 6px;
}

.broker-finder__field > span {
    font-size: 10px;
}

.broker-finder__field input,
.broker-finder__field select {
    min-height: 41px;
    padding: 8px 10px;
    border-radius: 9px;
    font-size: 12px;
}

.broker-finder__button {
    min-height: 43px;
    margin-top: 2px;
    border-radius: 10px;
    font-size: 12px;
}

.home-stats {
    gap: 10px;
    margin-top: -12px;
    margin-bottom: 56px;
}

.home-stats article {
    min-height: 88px;
    gap: 4px;
    padding: 15px;
    border-radius: 14px;
}

.home-stats strong {
    font-size: clamp(24px, 3vw, 33px);
}

.home-stats span {
    font-size: 11px;
}

.home-section {
    padding-block: 52px;
}

.home-section--soft {
    padding-inline: max(18px, calc((100vw - 1200px) / 2));
}

.home-section__heading {
    margin-bottom: 23px;
}

.home-section__heading > span,
.home-section__heading--row > div > span,
.home-newsletter-cta > div > span {
    margin-bottom: 7px;
    font-size: 10px;
}

.home-section__heading h2,
.home-section__heading--row h2,
.home-newsletter-cta h2 {
    font-size: clamp(25px, 3vw, 36px);
    line-height: 1.2;
}

.home-section__heading p,
.home-section__heading--row p,
.home-newsletter-cta p {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.7;
}

.home-process-grid,
.home-broker-grid,
.home-offer-grid,
.home-article-grid {
    gap: 13px;
}

.home-process-grid article {
    min-height: 0;
    padding: 16px;
    border-radius: 15px;
}

.home-process-grid article > span {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    font-size: 11px;
}

.home-process-grid h3 {
    margin: 14px 0 7px;
    font-size: 17px;
}

.home-process-grid p {
    font-size: 12px;
    line-height: 1.65;
}

.home-broker-card,
.home-offer-card {
    min-height: 0;
    padding: 15px;
    border-radius: 15px;
}

.home-broker-card__top {
    gap: 10px;
}

.home-broker-card__top > img,
.home-broker-card__top > span {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
    border-radius: 12px;
}

.home-broker-card h3 {
    font-size: 16px;
}

.home-broker-card small {
    margin-top: 3px;
    font-size: 10px;
}

.home-broker-card > p,
.home-offer-card > p,
.home-article-card p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.home-broker-card > p {
    min-height: 0;
    margin: 10px 0;
    font-size: 11px;
    line-height: 1.6;
}

.home-broker-card dl {
    gap: 2px;
    margin-bottom: 10px;
}

.home-broker-card dl > div {
    gap: 8px;
    padding-block: 5px;
}

.home-broker-card dt,
.home-broker-card dd {
    font-size: 10px;
}

.home-broker-card > a,
.home-offer-card > a {
    min-height: 36px;
    padding: 7px 10px;
    border-radius: 9px;
    font-size: 10px;
}

.home-offer-card__broker {
    font-size: 10px;
}

.home-offer-card__broker img {
    width: 29px;
    height: 29px;
    border-radius: 8px;
}

.home-offer-card h3 {
    margin: 12px 0 6px;
    font-size: 17px;
}

.home-offer-card > p {
    font-size: 11px;
    line-height: 1.6;
}

.home-offer-card__meta {
    margin: 12px 0;
    padding: 9px;
    border-radius: 10px;
}

.home-offer-card__meta strong {
    font-size: 19px;
}

.home-offer-card__meta span {
    font-size: 9px;
}

.home-article-card {
    border-radius: 15px;
}

.home-article-card__body {
    padding: 14px;
}

.home-article-card h3 {
    margin: 7px 0 6px;
    font-size: 16px;
}

.home-article-card p {
    font-size: 11px;
    line-height: 1.6;
}

.home-newsletter-cta {
    margin-block: 40px 52px;
    padding: 19px;
    border-radius: 16px;
}

.brokers-page,
.broker-page,
.compare-page,
.deals-page,
.articles-page,
.article-page,
.global-search-page,
.newsletter-page,
.member-page,
.support-page,
.deal-detail-page {
    padding-block: 48px 68px;
}

.brokers-page__hero,
.compare-hero,
.deals-hero,
.global-search-hero {
    margin-bottom: 22px;
}

.brokers-page__hero h1,
.compare-hero h1,
.deals-hero h1,
.global-search-hero h1,
.articles-hero__copy h1,
.content-page__hero h1,
.contact-page__hero h1,
.support-page-hero h1,
.support-ticket-hero h1 {
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.18;
    letter-spacing: -0.035em;
}

.brokers-page__hero p,
.compare-hero p,
.deals-hero p,
.global-search-hero > p,
.articles-hero__copy > p,
.content-page__hero p,
.contact-page__hero > div > p,
.support-page-hero p,
.support-ticket-hero p {
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.7;
}

.brokers-grid,
.deals-grid,
.articles-grid {
    gap: 14px;
}

.broker-card,
.deal-card,
.compare-picker,
.compare-results,
.article-card,
.member-auth-card,
.member-account-hero,
.member-favorite-card,
.member-review-card,
.member-notification-card,
.member-preference-card,
.newsletter-frequency-card,
.newsletter-status-card,
.article-sidebar-card,
.member-saved-search-card,
.support-broker-card,
.support-detail-card,
.support-timeline-card,
.support-ticket-card {
    border-radius: 15px;
}

.broker-card {
    padding: 15px;
}

.broker-card__top {
    gap: 10px;
}

.broker-card__logo,
.broker-card__placeholder {
    width: 47px;
    height: 47px;
    flex-basis: 47px;
    border-radius: 12px;
}

.broker-card h2 {
    margin: 0 0 4px;
    font-size: 17px;
}

.broker-card__top p {
    font-size: 11px;
    line-height: 1.55;
}

.broker-card__regulated,
.broker-profile-badge,
.broker-card__local-payment-badge,
.home-broker-card__local-payment {
    font-size: 8px;
}

.broker-card__metrics {
    gap: 6px;
    margin-top: 12px;
}

.broker-card__metrics > div {
    min-height: 51px;
    padding: 7px;
    border-radius: 9px;
}

.broker-card__metrics span {
    font-size: 7px;
}

.broker-card__metrics strong {
    margin-top: 4px;
    font-size: 10px;
}

.broker-card__details {
    gap: 5px;
    margin-top: 10px;
}

.broker-card__details > div {
    padding: 7px 8px;
    border-radius: 8px;
}

.broker-card__details dt {
    font-size: 8px;
}

.broker-card__details dd {
    margin-top: 2px;
    font-size: 10px;
    line-height: 1.45;
}

.broker-card__actions {
    gap: 7px;
    margin-top: 10px;
}

.broker-card__details-button,
.broker-card__visit-button {
    min-height: 36px;
    padding: 7px 8px;
    border-radius: 9px;
    font-size: 10px;
}

.broker-profile-hero,
.articles-hero,
.article-detail__hero,
.newsletter-hero,
.content-page__hero,
.contact-page__hero,
.member-account-hero,
.support-page-hero,
.support-ticket-hero {
    padding: 18px;
    border-radius: 16px;
    gap: 15px;
}

.broker-profile-hero__logo,
.broker-profile-hero__placeholder {
    width: 66px;
    height: 66px;
    flex-basis: 66px;
    border-radius: 15px;
}

.broker-profile-hero h1 {
    font-size: clamp(25px, 3.5vw, 38px);
}

.broker-profile-hero__identity p {
    margin-top: 6px;
    font-size: 12px;
    line-height: 1.6;
}

.broker-profile-hero__badges,
.broker-snapshot {
    margin-top: 9px;
}

.broker-profile-hero__back,
.broker-profile-hero__visit,
.broker-profile-hero__support {
    min-height: 38px;
    padding: 7px 11px;
    border-radius: 9px;
    font-size: 10px;
}

.broker-snapshot {
    gap: 7px;
}

.broker-snapshot__item {
    min-height: 0;
    padding: 9px;
    border-radius: 10px;
}

.broker-snapshot__item span,
.broker-facts-grid dt {
    font-size: 8px;
}

.broker-snapshot__item strong,
.broker-facts-grid dd {
    margin-top: 3px;
    font-size: 11px;
    line-height: 1.4;
}

.broker-page-layout {
    gap: 13px;
}

.broker-overview,
.broker-content-card {
    padding: 16px;
    border-radius: 15px;
}

.broker-section-heading {
    margin-bottom: 12px;
}

.broker-section-heading > span {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
}

.broker-section-heading h2,
.broker-overview h2 {
    font-size: 18px;
}

.broker-rich-text,
.broker-overview > p {
    font-size: 12px;
    line-height: 1.7;
}

.broker-overview__highlights,
.broker-facts-grid,
.broker-platform-grid,
.broker-regulation-list,
.broker-account-grid,
.broker-deals-grid {
    gap: 8px;
}

.broker-overview__highlights article,
.broker-facts-grid > div,
.broker-platform-card,
.broker-regulation-card,
.broker-account-card,
.broker-deal-card {
    min-height: 0;
    padding: 10px;
    border-radius: 11px;
}

.broker-overview__highlights h3,
.broker-platform-card h3,
.broker-account-card h3,
.broker-deal-card h3 {
    font-size: 14px;
}

.broker-overview__highlights p,
.broker-platform-card p,
.broker-account-card p,
.broker-deal-card p {
    font-size: 10px;
    line-height: 1.6;
}

.broker-sidebar-card {
    padding: 13px;
    border-radius: 13px;
}

.deal-card {
    padding: 15px;
}

.deal-card__type,
.deal-card__featured {
    padding: 4px 7px;
    font-size: 8px;
}

.deal-card__broker {
    gap: 8px;
    margin-top: 11px;
}

.deal-card__broker img,
.deal-card__broker > span {
    width: 40px;
    height: 40px;
    border-radius: 10px;
}

.deal-card__broker strong {
    font-size: 11px;
}

.deal-card__broker small {
    margin-top: 2px;
    font-size: 8px;
}

.deal-card__value {
    margin-top: 12px;
}

.deal-card__value strong {
    font-size: clamp(25px, 3vw, 34px);
}

.deal-card__value span {
    font-size: 8px;
}

.deal-card h2 {
    margin-top: 11px;
    font-size: 16px;
}

.deal-card__description {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 6px;
    font-size: 10px;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.deal-card__meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    margin-top: 11px;
}

.deal-card__meta > div,
.deal-card__detail-list section {
    min-width: 0;
    padding: 7px;
    border-radius: 8px;
}

.deal-card__meta span {
    font-size: 7px;
}

.deal-card__meta code,
.deal-card__meta strong {
    min-width: 0;
    overflow: hidden;
    font-size: 9px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.deal-card__terms {
    margin-top: 9px;
    font-size: 9px;
}

.deal-card__actions {
    gap: 6px;
    margin-top: 11px;
    padding-top: 0;
}

.deal-card__actions a {
    min-height: 35px;
    padding: 7px;
    border-radius: 8px;
    font-size: 9px;
}

.article-card__body,
.member-auth-card,
.member-account-hero,
.member-favorite-card,
.member-review-card,
.member-notification-card,
.member-preference-card,
.newsletter-frequency-card,
.newsletter-status-card,
.article-sidebar-card,
.member-saved-search-card,
.support-broker-card,
.support-detail-card,
.support-timeline-card,
.support-ticket-card,
.contact-page__promise,
.content-page__article section,
.content-page__aside,
.contact-card,
.contact-info article {
    padding: 14px;
}

.article-card h2,
.global-search-card h2 {
    font-size: 16px;
}

.article-card__body > p,
.global-search-card p {
    font-size: 11px;
    line-height: 1.6;
}

.member-auth-card__heading h1,
.member-account-hero h1,
.newsletter-hero h1,
.article-detail__hero h1 {
    font-size: clamp(24px, 3.5vw, 36px);
}

.member-form input,
.member-form select,
.member-form textarea,
.contact-form input,
.contact-form select,
.contact-form textarea,
.newsletter-form input,
.support-form input,
.support-form select,
.support-form textarea {
    min-height: 42px;
    padding: 8px 10px;
    border-radius: 9px;
    font-size: 12px;
}

.member-form button,
.member-primary-link,
.member-secondary-link,
.contact-form > button,
.newsletter-form button,
.support-form button {
    min-height: 40px;
    padding: 8px 12px;
    border-radius: 9px;
    font-size: 11px;
}

.content-page,
.contact-page {
    max-width: 1080px;
    padding-block: 48px 28px;
}

.content-page__article h2 {
    font-size: 20px;
}

.content-page__article p,
.content-page__article li,
.contact-info p,
.contact-page__promise p {
    font-size: 12px;
    line-height: 1.72;
}

.site-footer {
    margin-top: 48px;
}

.site-footer__inner {
    gap: clamp(20px, 3vw, 42px);
    padding-block: 42px 32px;
}

.site-footer__brand > p {
    margin: 12px 0 15px;
    font-size: 12px;
    line-height: 1.7;
}

.site-footer__newsletter {
    min-height: 36px;
    padding: 7px 11px;
    border-radius: 9px;
    font-size: 10px;
}

.site-footer__socials {
    gap: 7px;
    margin-top: 13px;
}

.site-footer__social-link {
    width: 35px;
    height: 35px;
    flex-basis: 35px;
    border-radius: 9px;
}

.site-footer__column {
    gap: 9px;
}

.site-footer__column > strong {
    font-size: 12px;
}

.site-footer__column > a {
    font-size: 11px;
}

.site-footer__network {
    padding-block: 22px 24px;
}

.site-footer__network-heading {
    margin-bottom: 15px;
}

.site-footer__network-heading > strong {
    font-size: 14px;
}

.site-footer__network-link {
    font-size: 13px;
}

.site-footer__bottom {
    padding-block: 16px 20px;
    font-size: 9px;
}

.partners-strip {
    margin-top: 48px;
}

.partners-strip__inner {
    max-width: 1200px;
    padding-block: 22px 24px;
}

.partners-strip__heading {
    margin-bottom: 16px;
}

.partners-strip__heading h2 {
    font-size: 14px;
}

.partners-strip__item {
    width: clamp(82px, 7vw, 104px);
    padding: 10px;
}

@media (max-width: 920px) {
    .hero-section__grid {
        gap: 28px;
    }
}

@media (max-width: 680px) {
    body {
        font-size: 13px;
    }

    .site-header {
        padding: 5px 6px;
    }

    .site-header__inner {
        min-height: 50px;
        padding: 6px 8px;
        gap: 8px;
        border-radius: 12px;
    }

    .site-brand {
        gap: 7px;
        font-size: 13px;
    }

    .site-brand__mark {
        width: 34px;
        height: 34px;
        border-radius: 9px;
    }

    .site-brand__logo {
        width: 24px;
        height: 24px;
    }

    .site-brand__text {
        font-size: 13px;
    }

    .site-menu-toggle {
        width: 36px;
        height: 36px;
        border-radius: 9px;
    }

    .site-nav {
        gap: 2px;
        max-height: 38vh;
        padding-top: 7px;
    }

    .site-nav a {
        padding: 8px 10px;
        font-size: 11px;
    }

    .site-header__actions {
        gap: 6px;
        padding-top: 7px;
    }

    .language-switch,
    .login-link,
    .register-link,
    .account-link,
    .site-user-logout button {
        min-height: 34px;
        padding: 6px 8px;
        font-size: 10px;
    }

    .home-main,
    .brokers-page,
    .broker-page,
    .compare-page,
    .deals-page,
    .articles-page,
    .article-page,
    .global-search-page,
    .newsletter-page,
    .member-page,
    .support-page,
    .deal-detail-page,
    .site-footer__inner,
    .site-footer__network,
    .site-footer__bottom,
    .content-page,
    .contact-page,
    .not-found-page,
    .partners-strip__inner {
        width: min(100% - 16px, 1200px);
    }

    .hero-section {
        min-height: 0;
        padding-block: 28px 34px;
    }

    .hero-section__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .hero-section__eyebrow {
        margin-bottom: 10px;
        padding: 5px 8px;
        font-size: 9px;
    }

    .hero-section h1 {
        font-size: 26px;
        line-height: 1.35;
        letter-spacing: -0.025em;
    }

    .hero-section p {
        margin-top: 10px;
        font-size: 13px;
        line-height: 1.7;
    }

    .hero-section__actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        margin-top: 15px;
    }

    .hero-section__button,
    .hero-section__secondary {
        min-height: 37px;
        padding: 7px 9px;
        font-size: 10px;
    }

    .hero-section__trust {
        gap: 6px 10px;
        margin-top: 13px;
        font-size: 9px;
    }

    .broker-finder {
        padding: 12px;
        border-radius: 13px;
    }

    .broker-finder__heading {
        margin-bottom: 10px;
    }

    .broker-finder__heading h2 {
        font-size: 18px;
    }

    .broker-finder__form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .broker-finder__field {
        gap: 4px;
    }

    .broker-finder__field > span {
        font-size: 9px;
    }

    .broker-finder__field input,
    .broker-finder__field select {
        min-height: 37px;
        padding: 6px 8px;
        font-size: 10px;
    }

    .broker-finder__button {
        grid-column: 1 / -1;
        min-height: 37px;
        font-size: 10px;
    }

    .home-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        margin: 0 0 32px;
    }

    .home-stats article {
        min-height: 68px;
        padding: 10px;
        border-radius: 11px;
    }

    .home-stats strong {
        font-size: 22px;
    }

    .home-stats span {
        font-size: 9px;
    }

    .home-section {
        padding-block: 34px;
    }

    .home-section__heading,
    .home-section__heading--row {
        margin-bottom: 16px;
    }

    .home-section__heading--row {
        gap: 8px;
    }

    .home-section__heading h2,
    .home-section__heading--row h2,
    .home-newsletter-cta h2 {
        font-size: 23px;
    }

    .home-section__heading p,
    .home-section__heading--row p,
    .home-newsletter-cta p {
        margin-top: 7px;
        font-size: 11px;
        line-height: 1.65;
    }

    .home-section__heading--row > a {
        font-size: 10px;
    }

    .home-process-grid,
    .home-broker-grid,
    .home-offer-grid,
    .home-article-grid,
    .brokers-grid,
    .deals-grid,
    .articles-grid {
        gap: 9px;
    }

    .home-process-grid article,
    .home-broker-card,
    .home-offer-card,
    .broker-card,
    .deal-card,
    .compare-picker,
    .member-auth-card,
    .member-account-hero,
    .member-favorite-card,
    .member-review-card,
    .member-notification-card,
    .member-preference-card,
    .newsletter-frequency-card,
    .newsletter-status-card,
    .article-card__body,
    .article-sidebar-card,
    .member-saved-search-card,
    .content-page__article section,
    .content-page__aside,
    .contact-card,
    .contact-info article,
    .support-broker-card,
    .support-detail-card,
    .support-timeline-card,
    .support-ticket-card {
        padding: 11px;
        border-radius: 12px;
    }

    .home-process-grid h3 {
        margin-top: 10px;
        font-size: 15px;
    }

    .home-process-grid p {
        font-size: 10px;
    }

    .home-broker-card__top > img,
    .home-broker-card__top > span {
        width: 43px;
        height: 43px;
        flex-basis: 43px;
    }

    .home-broker-card h3 {
        font-size: 15px;
    }

    .home-broker-card > p {
        margin: 8px 0;
        font-size: 10px;
    }

    .home-broker-card dl > div {
        padding-block: 4px;
    }

    .home-offer-card h3 {
        font-size: 15px;
    }

    .home-offer-card__meta strong {
        font-size: 17px;
    }

    .brokers-page,
    .broker-page,
    .compare-page,
    .deals-page,
    .articles-page,
    .article-page,
    .global-search-page,
    .newsletter-page,
    .member-page,
    .support-page,
    .deal-detail-page {
        padding-block: 28px 46px;
    }

    .brokers-page__hero,
    .compare-hero,
    .deals-hero,
    .global-search-hero {
        margin-bottom: 14px;
    }

    .brokers-page__hero h1,
    .compare-hero h1,
    .deals-hero h1,
    .global-search-hero h1,
    .articles-hero__copy h1,
    .content-page__hero h1,
    .contact-page__hero h1,
    .support-page-hero h1,
    .support-ticket-hero h1,
    .newsletter-hero h1,
    .article-detail__hero h1,
    .member-auth-card__heading h1,
    .member-account-hero h1 {
        font-size: 25px;
        line-height: 1.35;
    }

    .brokers-page__hero p,
    .compare-hero p,
    .deals-hero p,
    .global-search-hero > p,
    .articles-hero__copy > p,
    .content-page__hero p,
    .contact-page__hero > div > p,
    .support-page-hero p,
    .support-ticket-hero p {
        margin-top: 7px;
        font-size: 11px;
        line-height: 1.65;
    }

    .broker-card__title-line {
        align-items: center;
        flex-direction: row;
    }

    .broker-card__logo,
    .broker-card__placeholder {
        width: 43px;
        height: 43px;
        flex-basis: 43px;
        border-radius: 10px;
    }

    .broker-card h2 {
        font-size: 15px;
    }

    .broker-card__top p {
        display: -webkit-box;
        overflow: hidden;
        font-size: 10px;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .broker-card__metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 5px;
        margin-top: 9px;
    }

    .broker-card__metrics > div {
        min-height: 45px;
        padding: 6px 4px;
        text-align: center;
    }

    .broker-card__metrics span {
        font-size: 6.5px;
    }

    .broker-card__metrics strong {
        margin-top: 3px;
        font-size: 9px;
    }

    .broker-card__details {
        gap: 0;
        margin-top: 8px;
        border-top: 1px solid rgba(114, 183, 255, 0.08);
    }

    .broker-card__details > div {
        display: grid;
        grid-template-columns: minmax(68px, 0.42fr) minmax(0, 1fr);
        align-items: start;
        gap: 8px;
        padding: 6px 2px;
        border: 0;
        border-bottom: 1px solid rgba(114, 183, 255, 0.08);
        border-radius: 0;
        background: transparent;
    }

    .broker-card__details dt {
        font-size: 8px;
    }

    .broker-card__details dd {
        display: -webkit-box;
        overflow: hidden;
        margin: 0;
        font-size: 9px;
        text-align: end;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .broker-card__actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        margin-top: 8px;
    }

    .broker-card__details-button,
    .broker-card__visit-button {
        min-height: 34px;
        font-size: 9px;
    }

    .broker-profile-hero,
    .articles-hero,
    .article-detail__hero,
    .newsletter-hero,
    .content-page__hero,
    .contact-page__hero,
    .member-account-hero,
    .support-page-hero,
    .support-ticket-hero,
    .deal-detail__hero,
    .deal-detail__overview,
    .deal-detail__terms-section,
    .deal-detail__final-cta {
        padding: 12px;
        border-radius: 13px;
        gap: 10px;
    }

    .broker-profile-hero__identity {
        align-items: center;
        flex-direction: row;
        gap: 9px;
    }

    .broker-profile-hero__logo,
    .broker-profile-hero__placeholder {
        width: 54px;
        height: 54px;
        flex-basis: 54px;
        border-radius: 12px;
    }

    .broker-profile-hero h1,
    .deal-detail__hero h1 {
        font-size: 23px;
    }

    .broker-profile-hero__identity p {
        margin-top: 4px;
        font-size: 10px;
        line-height: 1.5;
    }

    .broker-profile-hero__actions,
    .deal-detail__actions,
    .deal-detail__final-cta,
    .deal-detail__code {
        gap: 6px;
    }

    .broker-profile-hero__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .broker-profile-hero__back,
    .broker-profile-hero__visit,
    .broker-profile-hero__support {
        width: 100%;
        min-height: 34px;
        padding: 6px;
        font-size: 9px;
    }

    .broker-snapshot {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
    }

    .broker-snapshot__item {
        min-height: 0;
        padding: 7px;
    }

    .broker-facts-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
    }

    .broker-facts-grid > div {
        padding: 7px;
    }

    .broker-platform-grid,
    .broker-account-grid,
    .broker-deals-grid {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .broker-overview,
    .broker-content-card,
    .broker-sidebar-card,
    .broker-platform-card,
    .broker-regulation-card,
    .broker-account-card,
    .broker-deal-card {
        padding: 10px;
        border-radius: 11px;
    }

    .broker-section-heading {
        margin-bottom: 9px;
    }

    .broker-section-heading h2,
    .broker-overview h2 {
        font-size: 16px;
    }

    .broker-rich-text,
    .broker-overview > p {
        font-size: 10.5px;
        line-height: 1.65;
    }

    .deal-card__broker img,
    .deal-card__broker > span {
        width: 36px;
        height: 36px;
    }

    .deal-card__value strong {
        font-size: 27px;
    }

    .deal-card h2 {
        font-size: 15px;
    }

    .deal-card__meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
    }

    .deal-card__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        flex-direction: initial;
        gap: 5px;
    }

    .deal-card__actions a {
        width: 100%;
        min-height: 33px;
        font-size: 8.5px;
    }

    .deal-card__actions .deal-card__claim:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .article-card__image,
    .home-article-card__image,
    .member-article-favorite-card__image {
        aspect-ratio: 16 / 7;
    }

    .article-card h2,
    .global-search-card h2 {
        font-size: 15px;
    }

    .article-card__body > p,
    .global-search-card p {
        font-size: 10px;
    }

    .member-form,
    .contact-form,
    .support-form {
        gap: 11px;
    }

    .contact-form__grid {
        gap: 9px;
    }

    .member-form input,
    .member-form select,
    .member-form textarea,
    .contact-form input,
    .contact-form select,
    .contact-form textarea,
    .newsletter-form input,
    .support-form input,
    .support-form select,
    .support-form textarea {
        min-height: 38px;
        padding: 7px 9px;
        font-size: 11px;
    }

    .content-page,
    .contact-page {
        padding-block: 28px 16px;
    }

    .content-page__article h2 {
        font-size: 17px;
    }

    .content-page__article p,
    .content-page__article li,
    .contact-info p,
    .contact-page__promise p {
        font-size: 10.5px;
        line-height: 1.68;
    }

    .partners-strip {
        margin-top: 32px;
    }

    .partners-strip__inner {
        padding-block: 16px 18px;
    }

    .partners-strip__heading {
        margin-bottom: 11px;
    }

    .partners-strip__heading h2 {
        font-size: 12px;
    }

    .partners-strip__group {
        min-width: calc(100vw - 16px);
        gap: 15px;
        padding-inline: 9px;
    }

    .partners-strip__item {
        width: 72px;
        padding: 7px;
    }

    .site-footer__inner {
        gap: 21px;
        padding-block: 30px 23px;
    }

    .site-footer__brand > p {
        margin: 9px 0 12px;
        font-size: 10.5px;
    }

    .site-footer__column {
        gap: 7px;
    }

    .site-footer__column > strong {
        font-size: 11px;
    }

    .site-footer__column > a {
        font-size: 10px;
    }

    .site-footer__network {
        padding-block: 17px 19px;
    }

    .site-footer__network-heading {
        gap: 9px;
        margin-bottom: 12px;
    }

    .site-footer__network-heading > strong {
        font-size: 12px;
    }

    .site-footer__network-links {
        gap: 7px 10px;
    }

    .site-footer__network-link {
        font-size: 11px;
    }

    .site-footer__bottom {
        gap: 5px;
        padding-block: 13px 16px;
        font-size: 8px;
    }
}

@media (max-width: 390px) {
    .hero-section h1,
    .brokers-page__hero h1,
    .compare-hero h1,
    .deals-hero h1,
    .global-search-hero h1,
    .articles-hero__copy h1,
    .content-page__hero h1,
    .contact-page__hero h1,
    .support-page-hero h1,
    .support-ticket-hero h1,
    .newsletter-hero h1,
    .article-detail__hero h1,
    .member-auth-card__heading h1,
    .member-account-hero h1 {
        font-size: 23px;
    }

    .broker-card__metrics span {
        font-size: 6px;
    }

    .broker-card__metrics strong {
        font-size: 8.5px;
    }

    .broker-card__details > div {
        grid-template-columns: 62px minmax(0, 1fr);
    }
}

/* ==========================================================================
   Part 26 — Mobile broker filters bottom sheet
   ========================================================================== */

.broker-filter-mobile-summary,
.broker-filter-backdrop,
.broker-filter-sheet__mobile-head,
.broker-filter-sheet__footer {
    display: none;
}

.broker-filter-panel__scroll {
    display: contents;
}

@media (max-width: 620px) {
    body.broker-filters-open {
        overflow: hidden;
        overscroll-behavior: none;
        touch-action: none;
    }

    .broker-filter-mobile-summary {
        display: grid;
        gap: 8px;
        margin-bottom: 12px;
    }

    .broker-filter-mobile-trigger {
        width: 100%;
        min-height: 46px;
        display: grid;
        grid-template-columns: 19px minmax(0, 1fr) auto;
        align-items: center;
        gap: 9px;
        padding: 9px 12px;
        border: 1px solid rgba(114, 183, 255, 0.2);
        border-radius: 12px;
        background: linear-gradient(145deg, rgba(14, 24, 40, 0.97), rgba(6, 11, 20, 0.98));
        color: #f3f8ff;
        font: inherit;
        text-align: start;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
        cursor: pointer;
    }

    .broker-filter-mobile-trigger svg {
        width: 19px;
        height: 19px;
        color: var(--abh-blue-light);
    }

    .broker-filter-mobile-trigger > span {
        overflow: hidden;
        font-size: 12px;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .broker-filter-mobile-trigger > strong {
        min-width: 24px;
        height: 24px;
        display: grid;
        place-items: center;
        padding-inline: 6px;
        border: 1px solid rgba(114, 183, 255, 0.28);
        border-radius: 999px;
        background: rgba(47, 140, 255, 0.12);
        color: #ffffff;
        font-size: 10px;
    }

    .broker-filter-mobile-chips {
        display: flex;
        gap: 6px;
        overflow-x: auto;
        padding: 1px 1px 3px;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .broker-filter-mobile-chips::-webkit-scrollbar {
        display: none;
    }

    .broker-filter-mobile-chips > span {
        flex: 0 0 auto;
        min-height: 28px;
        display: inline-flex;
        align-items: center;
        gap: 5px;
        max-width: 220px;
        padding: 5px 8px;
        border: 1px solid rgba(114, 183, 255, 0.15);
        border-radius: 999px;
        background: rgba(47, 140, 255, 0.07);
        color: #eaf4ff;
        font-size: 9px;
        font-weight: 800;
        white-space: nowrap;
    }

    .broker-filter-mobile-chips small {
        color: var(--abh-muted);
        font-size: 8px;
        font-weight: 700;
    }

    .broker-filter-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1590;
        display: block;
        border: 0;
        background: rgba(0, 5, 13, 0.72);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        backdrop-filter: blur(3px);
        transition: opacity 0.22s ease, visibility 0.22s ease;
    }

    .broker-filter-backdrop.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .broker-filter-panel {
        position: fixed;
        inset-inline: 0;
        bottom: 0;
        z-index: 1600;
        width: 100%;
        max-height: min(86dvh, 720px);
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        border: 1px solid rgba(114, 183, 255, 0.22);
        border-bottom: 0;
        border-radius: 22px 22px 0 0;
        background: linear-gradient(160deg, rgba(13, 24, 40, 0.995), rgba(4, 9, 17, 0.998));
        box-shadow: 0 -22px 60px rgba(0, 0, 0, 0.52);
        transform: translate3d(0, 105%, 0);
        visibility: hidden;
        transition: transform 0.28s cubic-bezier(0.22, 0.78, 0.24, 1), visibility 0.28s ease;
    }

    .broker-filter-panel.is-open {
        transform: translate3d(0, 0, 0);
        visibility: visible;
    }

    .broker-filter-panel__heading--desktop {
        display: none;
    }

    .broker-filter-sheet__mobile-head {
        position: relative;
        flex: 0 0 auto;
        display: grid;
        grid-template-columns: minmax(0, 1fr) 34px;
        align-items: center;
        gap: 10px;
        padding: 20px 14px 11px;
        border-bottom: 1px solid rgba(114, 183, 255, 0.1);
        background: rgba(7, 14, 24, 0.94);
    }

    .broker-filter-sheet__handle {
        position: absolute;
        top: 7px;
        left: 50%;
        width: 38px;
        height: 4px;
        border-radius: 999px;
        background: rgba(190, 211, 235, 0.32);
        transform: translateX(-50%);
    }

    .broker-filter-sheet__mobile-head > div {
        min-width: 0;
        display: grid;
        gap: 2px;
    }

    .broker-filter-sheet__mobile-head strong {
        overflow: hidden;
        color: #f5f8ff;
        font-size: 14px;
        font-weight: 900;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .broker-filter-sheet__mobile-head small {
        color: var(--abh-blue-light);
        font-size: 9px;
        font-weight: 800;
    }

    .broker-filter-sheet__mobile-head button {
        width: 34px;
        height: 34px;
        display: grid;
        place-items: center;
        padding: 0;
        border: 1px solid rgba(114, 183, 255, 0.16);
        border-radius: 10px;
        background: rgba(255, 255, 255, 0.025);
        color: #eaf4ff;
        font: inherit;
        font-size: 22px;
        line-height: 1;
        cursor: pointer;
    }

    .broker-filter-panel__scroll {
        min-height: 0;
        flex: 1 1 auto;
        display: block;
        overflow-y: auto;
        overscroll-behavior: contain;
        padding: 12px 14px 16px;
        -webkit-overflow-scrolling: touch;
    }

    .broker-filter-form {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .broker-filter-field--wide {
        grid-column: auto;
    }

    .broker-filter-field {
        gap: 5px;
    }

    .broker-filter-field > span,
    .broker-filter-save label > span {
        font-size: 10px;
    }

    .broker-filter-field input,
    .broker-filter-field select,
    .broker-filter-save input {
        min-height: 41px;
        padding: 8px 10px;
        border-radius: 10px;
        font-size: 12px;
    }

    .broker-filter-checks {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .broker-filter-checks label {
        min-height: 36px;
        gap: 6px;
        padding: 6px 8px;
        border-radius: 9px;
        font-size: 9px;
        line-height: 1.35;
    }

    .broker-filter-actions--desktop {
        display: none;
    }

    .broker-filter-save {
        margin-top: 13px;
        padding-top: 13px;
    }

    .broker-filter-save form {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .broker-filter-save button {
        min-height: 38px;
        font-size: 10px;
    }

    .broker-filter-save > a {
        font-size: 10px;
    }

    .broker-filter-sheet__footer {
        flex: 0 0 auto;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
        gap: 8px;
        padding: 9px 14px calc(9px + env(safe-area-inset-bottom));
        border-top: 1px solid rgba(114, 183, 255, 0.12);
        background: rgba(5, 11, 20, 0.98);
        box-shadow: 0 -10px 24px rgba(0, 0, 0, 0.22);
    }

    .broker-filter-sheet__footer a,
    .broker-filter-sheet__footer button {
        min-height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 8px 13px;
        border-radius: 10px;
        font: inherit;
        font-size: 10px;
        font-weight: 900;
    }

    .broker-filter-sheet__footer a {
        border: 1px solid rgba(114, 183, 255, 0.16);
        color: var(--abh-blue-light);
        white-space: nowrap;
    }

    .broker-filter-sheet__footer button {
        border: 1px solid rgba(114, 183, 255, 0.5);
        background: linear-gradient(135deg, #1679ed, #3d9aff);
        color: #ffffff;
        cursor: pointer;
    }
}

@media (max-width: 380px) {
    .broker-filter-sheet__footer {
        grid-template-columns: minmax(92px, 0.42fr) minmax(0, 1fr);
    }

    .broker-filter-sheet__footer a,
    .broker-filter-sheet__footer button {
        padding-inline: 9px;
        font-size: 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .broker-filter-panel,
    .broker-filter-backdrop {
        transition: none;
    }
}


/* ABH Part 27: compact two-column mobile footer inspired by ArabPropFirm */
@media (max-width: 650px) {
    .site-footer__inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 28px;
        row-gap: 25px;
        padding-block: 27px 21px;
    }

    .site-footer__brand {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        flex-direction: column;
        text-align: center;
    }

    .site-footer__brand .site-brand--footer {
        margin-inline: auto;
    }

    .site-footer__brand > p {
        max-width: 430px;
        margin: 10px auto 12px;
        text-align: center;
        line-height: 1.62;
    }

    .site-footer__newsletter {
        min-height: 34px;
        margin-inline: auto;
        padding: 6px 12px;
    }

    .site-footer__socials {
        justify-content: center;
        margin-top: 12px;
    }

    .site-footer__column {
        min-width: 0;
        gap: 8px;
        text-align: start;
    }

    .site-footer__column > strong {
        margin-bottom: 3px;
        font-size: 12px;
    }

    .site-footer__column > a {
        max-width: 100%;
        font-size: 10.5px;
        line-height: 1.5;
    }

    .site-footer__column--legal {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 28px;
        row-gap: 8px;
        padding-top: 20px;
        border-top: 1px solid rgba(114, 183, 255, 0.08);
    }

    .site-footer__column--legal > strong {
        grid-column: 1 / -1;
    }

    .site-footer__network {
        padding-block: 16px 18px;
    }

    .site-footer__network-heading {
        margin-bottom: 11px;
    }

    .site-footer__network-links {
        gap: 7px 9px;
    }

    .site-footer__network-link {
        font-size: 10.5px;
    }

    .site-footer__bottom {
        align-items: center;
        gap: 4px;
        padding-block: 12px 15px;
        text-align: center;
        font-size: 8px;
        line-height: 1.55;
    }
}

@media (max-width: 390px) {
    .site-footer__inner {
        column-gap: 20px;
    }

    .site-footer__column--legal {
        column-gap: 20px;
    }

    .site-footer__network-links {
        gap: 6px 8px;
    }

    .site-footer__network-link {
        font-size: 10px;
    }
}


/* ABH Part 28: compact APF-style broker favourite button */
.broker-profile-favorite-form {
    display: block;
}

.broker-profile-favorite {
    min-height: 38px;
    height: 38px;
    box-sizing: border-box;
    gap: 6px;
    padding: 7px 11px;
    border-radius: 9px;
    font-size: 10px;
    line-height: 1;
}

.broker-profile-favorite__icon {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    display: block;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: fill .2s ease, stroke .2s ease, transform .2s ease;
}

.broker-profile-favorite:hover .broker-profile-favorite__icon,
.broker-profile-favorite:focus-visible .broker-profile-favorite__icon {
    transform: scale(1.06);
}

.broker-profile-favorite.is-active .broker-profile-favorite__icon {
    fill: currentColor;
    stroke: currentColor;
}

.broker-profile-favorite__label {
    min-width: 0;
    line-height: 1.15;
}

@media (max-width: 650px) {
    .broker-profile-hero__actions .broker-profile-favorite-form {
        width: 100%;
        height: 34px;
    }

    .broker-profile-hero__actions .broker-profile-favorite,
    .broker-profile-hero__actions .broker-profile-hero__support,
    .broker-profile-hero__actions .broker-profile-hero__back,
    .broker-profile-hero__actions .broker-profile-hero__visit {
        width: 100%;
        min-height: 34px;
        height: 34px;
        box-sizing: border-box;
        padding: 6px;
        border-radius: 8px;
        font-size: 9px;
        line-height: 1;
    }

    .broker-profile-favorite__icon {
        width: 14px;
        height: 14px;
        flex-basis: 14px;
        stroke-width: 1.75;
    }
}

/* ABH Part 29: overflow-safe favourite label on narrow phones */
.broker-profile-favorite {
    min-width: 0;
    overflow: hidden;
}

.broker-profile-favorite__label {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.broker-profile-favorite__label--mobile {
    display: none;
}

@media (max-width: 650px) {
    .broker-profile-favorite__label--full {
        display: none;
    }

    .broker-profile-favorite__label--mobile {
        display: inline-block;
    }

    .broker-profile-hero__actions .broker-profile-favorite {
        gap: 4px;
        padding-inline: 5px;
    }

    .broker-profile-favorite__icon {
        width: 13px;
        height: 13px;
        flex-basis: 13px;
    }
}

@media (max-width: 360px) {
    .broker-profile-hero__actions .broker-profile-favorite {
        font-size: 8px;
        padding-inline: 4px;
    }
}

/* ==========================================================================
   ABH Part 30 — Compact desktop broker filters
   Keeps the mobile bottom sheet unchanged.
   ========================================================================== */
@media (min-width: 821px) {
    .broker-filter-panel {
        margin-bottom: 16px;
        padding: 18px 22px 20px;
        border-radius: 18px;
    }

    .broker-filter-panel__heading {
        align-items: center;
        gap: 14px;
        margin-bottom: 14px;
    }

    .broker-filter-panel__heading > div {
        min-width: 0;
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 6px 12px;
    }

    .broker-filter-panel__heading > div > span {
        flex: 0 0 auto;
        font-size: 9px;
    }

    .broker-filter-panel__heading h2 {
        flex: 0 0 auto;
        margin: 0;
        font-size: clamp(19px, 1.7vw, 24px);
        line-height: 1.2;
    }

    .broker-filter-panel__heading p {
        min-width: 260px;
        flex: 1 1 360px;
        margin: 0;
        font-size: 10.5px;
        line-height: 1.5;
    }

    .broker-filter-panel__heading > strong {
        flex: 0 0 auto;
        padding: 6px 9px;
        font-size: 10px;
    }

    .broker-filter-form {
        grid-auto-flow: row dense;
        gap: 10px 12px;
    }

    .broker-filter-field {
        gap: 5px;
    }

    .broker-filter-field > span,
    .broker-filter-save label > span {
        font-size: 10px;
        line-height: 1.25;
    }

    .broker-filter-field input,
    .broker-filter-field select,
    .broker-filter-save input {
        min-height: 39px;
        padding: 8px 10px;
        border-radius: 10px;
        font-size: 11px;
    }

    .broker-filter-checks {
        align-self: end;
        gap: 7px;
    }

    .broker-filter-checks label {
        min-height: 34px;
        gap: 6px;
        padding: 6px 9px;
        border-radius: 9px;
        font-size: 9.5px;
        line-height: 1.25;
    }

    .broker-filter-actions {
        align-self: end;
        justify-content: flex-end;
        gap: 8px;
    }

    .broker-filter-actions button,
    .broker-filter-actions a,
    .broker-filter-save button {
        min-height: 38px;
        padding: 8px 14px;
        border-radius: 10px;
        font-size: 10.5px;
    }

    .broker-filter-save {
        margin-top: 11px;
        padding-top: 11px;
    }

    .broker-filter-save form {
        gap: 8px;
    }
}

@media (min-width: 1181px) {
    .broker-filter-form {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .broker-filter-field--wide {
        grid-column: span 2;
    }

    .broker-filter-checks {
        grid-column: 1 / span 3;
    }

    .broker-filter-actions {
        grid-column: 4 / -1;
    }
}

@media (min-width: 821px) and (max-width: 1180px) {
    .broker-filter-form {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .broker-filter-field--wide {
        grid-column: span 2;
    }

    .broker-filter-checks {
        grid-column: 1 / span 2;
    }

    .broker-filter-actions {
        grid-column: 3 / -1;
    }
}


/* ==========================================================================
   ABH Part 31 — Mobile broker sidebar cleanup
   Moves safety/features before reviews and removes the duplicated mobile CTA.
   ========================================================================== */
.broker-mobile-safety-card {
    display: none;
}

@media (max-width: 680px) {
    .broker-mobile-safety-card {
        display: block;
        padding: 15px;
    }

    .broker-mobile-safety-card h2 {
        margin: 0 0 10px;
        color: #fff;
        font-size: 18px;
        line-height: 1.35;
    }

    .broker-mobile-safety-card .broker-safety-list > div {
        padding-block: 9px;
    }

    .broker-mobile-safety-card .broker-safety-list dt {
        font-size: 11px;
    }

    .broker-mobile-safety-card .broker-safety-list dd {
        font-size: 10px;
    }

    .broker-page-sidebar {
        display: none;
    }
}

/* Part 32: two-account comparison experience */
.account-compare-page {
    width: min(1120px, calc(100% - 30px));
    padding-block: 48px 76px;
}

.account-compare-hero {
    width: min(760px, 100%);
    margin: 0 auto 22px;
    text-align: center;
}

.account-compare-hero h1 {
    margin-top: 8px;
    font-size: clamp(30px, 4.2vw, 48px);
    line-height: 1.12;
    letter-spacing: -0.035em;
}

.account-compare-hero p {
    max-width: 680px;
    margin: 10px auto 0;
    font-size: 13px;
    line-height: 1.75;
}

.account-compare-builder {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(114, 183, 255, 0.28);
    border-radius: 20px;
    background:
        radial-gradient(circle at 100% 0%, rgba(47, 140, 255, 0.10), transparent 30rem),
        linear-gradient(145deg, rgba(12, 22, 38, 0.98), rgba(5, 10, 19, 0.99));
    box-shadow: 0 25px 65px rgba(0, 0, 0, 0.24);
}

.account-compare-builder__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 13px;
    border-bottom: 1px solid rgba(114, 183, 255, 0.12);
}

.account-compare-builder__heading span,
.account-compare-results__heading > span {
    display: block;
    color: #72b7ff;
    font-size: 10px;
    font-weight: 900;
}

.account-compare-builder__heading h2,
.account-compare-results__heading h2 {
    margin: 3px 0 0;
    color: #fff;
    font-size: clamp(19px, 2.3vw, 25px);
    line-height: 1.35;
}

.account-compare-live {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 10px;
    border: 1px solid rgba(55, 210, 145, 0.24);
    border-radius: 999px;
    background: rgba(55, 210, 145, 0.07);
    color: #9ce7c5;
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
}

.account-compare-live i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #37d291;
    box-shadow: 0 0 10px rgba(55, 210, 145, 0.85);
}

.account-compare-pickers {
    position: relative;
    margin-top: 14px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
}

.account-compare-picker {
    position: relative;
    min-width: 0;
    padding: 14px;
    overflow: hidden;
    border: 1px solid rgba(114, 183, 255, 0.14);
    border-radius: 15px;
    background: rgba(2, 8, 17, 0.62);
}

.account-compare-picker::before {
    position: absolute;
    top: 0;
    bottom: 0;
    inset-inline-start: 0;
    width: 3px;
    background: linear-gradient(180deg, transparent, #2f8cff, transparent);
    content: "";
    opacity: 0.85;
}

.account-compare-picker__number {
    position: absolute;
    top: -7px;
    inset-inline-end: 10px;
    color: rgba(114, 183, 255, 0.09);
    font-size: 48px;
    font-weight: 950;
    line-height: 1;
    pointer-events: none;
}

.account-compare-picker__title {
    min-height: 38px;
    margin-bottom: 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
}

.account-compare-picker__title small {
    color: #72b7ff;
    font-size: 9px;
    font-weight: 900;
}

.account-compare-picker__title strong {
    max-width: calc(100% - 55px);
    overflow: hidden;
    color: #fff;
    font-size: 15px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-compare-picker label {
    display: block;
    margin: 0 2px 5px;
    color: #aebed0;
    font-size: 9px;
    font-weight: 800;
}

.account-compare-select-wrap {
    position: relative;
}

.account-compare-select-wrap::after {
    position: absolute;
    top: 50%;
    inset-inline-end: 15px;
    width: 7px;
    height: 7px;
    border-inline-end: 2px solid #72b7ff;
    border-bottom: 2px solid #72b7ff;
    content: "";
    pointer-events: none;
    transform: translateY(-72%) rotate(45deg);
}

.account-compare-picker select {
    width: 100%;
    height: 42px;
    padding-inline: 12px 38px;
    border: 1px solid rgba(114, 183, 255, 0.18);
    border-radius: 10px;
    outline: none;
    appearance: none;
    background: #060d18;
    color: #f4f8fd;
    font: inherit;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.account-compare-picker select:hover,
.account-compare-picker select:focus-visible {
    border-color: rgba(114, 183, 255, 0.68);
    box-shadow: 0 0 0 3px rgba(47, 140, 255, 0.08);
}

.account-compare-picker select option,
.account-compare-picker select optgroup {
    background: #07101d;
    color: #fff;
}

.account-compare-swap {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(114, 183, 255, 0.44);
    border-radius: 50%;
    background: #07101d;
    color: #72b7ff;
    cursor: pointer;
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.account-compare-swap:hover {
    background: rgba(47, 140, 255, 0.12);
    transform: rotate(180deg);
}

.account-compare-swap:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.account-compare-swap svg,
.account-compare-submit svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.account-compare-builder__footer {
    margin-top: 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.account-compare-status {
    margin: 0;
    color: #8fa3ba;
    font-size: 9px;
    line-height: 1.6;
}

.account-compare-status.is-error {
    color: #ff9ea9;
}

.account-compare-submit {
    min-width: 160px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border: 1px solid rgba(114, 183, 255, 0.52);
    border-radius: 10px;
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(47, 140, 255, 0.18);
}

.account-compare-submit:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    box-shadow: none;
}

.account-compare-notice {
    width: 100%;
    margin-top: 14px;
    padding: 16px;
    border-radius: 13px;
    font-size: 11px;
}

.account-compare-notice.is-error {
    border-color: rgba(255, 110, 125, 0.25);
    background: rgba(80, 17, 27, 0.22);
    color: #ffabb5;
}

.account-compare-results {
    margin-top: 24px;
}

.account-compare-results__heading {
    margin-bottom: 12px;
}

.account-compare-results__heading p {
    margin: 5px 0 0;
    color: #8fa3ba;
    font-size: 10px;
    line-height: 1.65;
}

.account-compare-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.account-compare-summary-card {
    position: relative;
    min-width: 0;
    padding: 14px;
    overflow: hidden;
    border: 1px solid rgba(114, 183, 255, 0.24);
    border-radius: 16px;
    background:
        radial-gradient(circle at 100% 0%, rgba(47, 140, 255, 0.12), transparent 16rem),
        linear-gradient(145deg, rgba(11, 21, 36, 0.98), rgba(5, 10, 18, 0.99));
}

.account-compare-summary-card::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #2f8cff, transparent);
    content: "";
    opacity: 0.75;
}

.account-compare-summary-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.account-compare-summary-card__number {
    color: rgba(114, 183, 255, 0.52);
    font-size: 10px;
    font-weight: 900;
}

.account-compare-summary-card__logo {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 5px;
    border: 1px solid rgba(114, 183, 255, 0.20);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    color: #1f66aa;
    font-size: 9px;
    font-weight: 900;
}

.account-compare-summary-card__logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.account-compare-summary-card > small,
.account-compare-summary-card > strong,
.account-compare-summary-card > span {
    display: block;
}

.account-compare-summary-card > small {
    margin-top: -25px;
    padding-inline-end: 64px;
    color: #72b7ff;
    font-size: 9px;
    font-weight: 850;
}

.account-compare-summary-card > strong {
    max-width: calc(100% - 64px);
    margin-top: 4px;
    overflow: hidden;
    color: #fff;
    font-size: 18px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-compare-summary-card > span {
    margin-top: 3px;
    color: #91a4ba;
    font-size: 9px;
}

.account-compare-summary-card__actions {
    margin-top: 12px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

.account-compare-summary-card__actions a {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    border: 1px solid rgba(114, 183, 255, 0.20);
    border-radius: 8px;
    color: #cfe6ff;
    font-size: 9px;
    font-weight: 900;
    text-decoration: none;
}

.account-compare-summary-card__actions a.is-primary {
    border-color: rgba(114, 183, 255, 0.48);
    background: linear-gradient(135deg, #1679ed, #3d9aff);
    color: #fff;
}

.account-compare-table-shell {
    margin-top: 10px;
    overflow: hidden;
    border: 1px solid rgba(114, 183, 255, 0.22);
    border-radius: 16px;
    background: rgba(6, 13, 24, 0.96);
}

.account-compare-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

.account-compare-table__label-col {
    width: 31%;
}

.account-compare-table th,
.account-compare-table td {
    min-width: 0;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(114, 183, 255, 0.08);
    border-inline-end: 1px solid rgba(114, 183, 255, 0.08);
    overflow-wrap: anywhere;
    text-align: center;
    vertical-align: middle;
}

.account-compare-table tr:last-child th,
.account-compare-table tr:last-child td {
    border-bottom: 0;
}

.account-compare-table tr > *:last-child {
    border-inline-end: 0;
}

.account-compare-table thead th {
    background: rgba(47, 140, 255, 0.08);
    color: #fff;
    font-size: 11px;
}

.account-compare-table thead th:first-child {
    color: #72b7ff;
}

.account-compare-table thead strong,
.account-compare-table thead small {
    display: block;
}

.account-compare-table thead strong {
    font-size: 11px;
}

.account-compare-table thead small {
    margin-top: 3px;
    color: #91a4ba;
    font-size: 8px;
}

.account-compare-table tbody th {
    background: rgba(255, 255, 255, 0.018);
    color: #9eb1c6;
    font-size: 9px;
    font-weight: 800;
    text-align: start;
}

.account-compare-table tbody td {
    color: #eef5fc;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.5;
}

@media (max-width: 850px) {
    .account-compare-pickers {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .account-compare-swap {
        position: relative;
        z-index: 2;
        margin: -2px auto;
        transform: rotate(90deg);
    }

    .account-compare-swap:hover {
        transform: rotate(270deg);
    }
}

@media (max-width: 650px) {
    .account-compare-page {
        width: min(100% - 14px, 600px);
        padding-block: 24px 50px;
    }

    .account-compare-hero {
        margin-bottom: 12px;
    }

    .account-compare-hero h1 {
        margin-top: 6px;
        font-size: clamp(25px, 7.2vw, 31px);
    }

    .account-compare-hero p {
        max-width: 94%;
        margin-top: 6px;
        font-size: 10px;
        line-height: 1.65;
    }

    .account-compare-builder {
        margin-top: 12px;
        padding: 10px;
        border-radius: 15px;
    }

    .account-compare-builder__heading {
        gap: 8px;
        padding-bottom: 9px;
    }

    .account-compare-builder__heading h2,
    .account-compare-results__heading h2 {
        font-size: 17px;
    }

    .account-compare-builder__heading span,
    .account-compare-results__heading > span {
        font-size: 8px;
    }

    .account-compare-live {
        min-height: 25px;
        max-width: 45%;
        padding: 4px 7px;
        font-size: 7px;
        line-height: 1.35;
        text-align: center;
        white-space: normal;
    }

    .account-compare-pickers {
        margin-top: 9px;
        gap: 6px;
    }

    .account-compare-picker {
        padding: 10px;
        border-radius: 12px;
    }

    .account-compare-picker__number {
        top: -5px;
        inset-inline-end: 8px;
        font-size: 39px;
    }

    .account-compare-picker__title {
        min-height: 30px;
        margin-bottom: 5px;
    }

    .account-compare-picker__title small {
        font-size: 7px;
    }

    .account-compare-picker__title strong {
        max-width: calc(100% - 46px);
        font-size: 13px;
    }

    .account-compare-picker label {
        margin-bottom: 4px;
        font-size: 8px;
    }

    .account-compare-picker select {
        height: 38px;
        padding-inline: 10px 34px;
        border-radius: 8px;
        font-size: 10px;
    }

    .account-compare-swap {
        width: 36px;
        height: 36px;
    }

    .account-compare-swap svg {
        width: 16px;
        height: 16px;
    }

    .account-compare-builder__footer {
        align-items: stretch;
        flex-direction: column;
        margin-top: 9px;
        gap: 6px;
    }

    .account-compare-status {
        min-height: 14px;
        font-size: 7.5px;
        text-align: center;
    }

    .account-compare-submit {
        width: 100%;
        min-width: 0;
        height: 39px;
        border-radius: 9px;
        font-size: 10px;
    }

    .account-compare-results {
        margin-top: 18px;
    }

    .account-compare-results__heading {
        margin-bottom: 8px;
    }

    .account-compare-results__heading p {
        margin-top: 3px;
        font-size: 8px;
    }

    .account-compare-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .account-compare-summary-card {
        padding: 8px;
        border-radius: 12px;
        text-align: center;
    }

    .account-compare-summary-card__top {
        align-items: center;
        flex-direction: column-reverse;
        gap: 3px;
    }

    .account-compare-summary-card__logo {
        width: 44px;
        height: 44px;
        padding: 4px;
        border-radius: 10px;
    }

    .account-compare-summary-card__number {
        font-size: 7px;
    }

    .account-compare-summary-card > small {
        margin-top: 4px;
        padding: 0;
        overflow: hidden;
        font-size: 7px;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .account-compare-summary-card > strong {
        max-width: 100%;
        margin-top: 2px;
        font-size: 13px;
    }

    .account-compare-summary-card > span {
        font-size: 7px;
    }

    .account-compare-summary-card__actions {
        grid-template-columns: 1fr;
        margin-top: 7px;
        gap: 4px;
    }

    .account-compare-summary-card__actions a {
        min-height: 29px;
        padding: 4px;
        border-radius: 7px;
        font-size: 7px;
    }

    .account-compare-table-shell {
        margin-top: 7px;
        border-radius: 11px;
    }

    .account-compare-table__label-col {
        width: 34%;
    }

    .account-compare-table th,
    .account-compare-table td {
        min-height: 40px;
        padding: 6px 4px;
    }

    .account-compare-table thead th {
        font-size: 8px;
    }

    .account-compare-table thead strong {
        font-size: 8px;
    }

    .account-compare-table thead small {
        margin-top: 2px;
        font-size: 6.5px;
    }

    .account-compare-table tbody th {
        font-size: 7.5px;
        line-height: 1.4;
        text-align: center;
    }

    .account-compare-table tbody td {
        font-size: 7.5px;
        line-height: 1.4;
    }

    .account-compare-notice {
        padding: 12px;
        font-size: 9px;
    }
}
