/* Fair Housing custom frontend styles. Keep page-specific rules scoped under .fh-landing, .fh-about-page, or .fh-lesson-page. */
@font-face {
    font-family: 'Vend Sans';
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url('../font/vend-sans-regular.ttf') format('truetype');
}

@font-face {
    font-family: 'Vend Sans';
    font-style: normal;
    font-weight: 700;
    font-display: block;
    src: url('../font/vend-sans-bold.ttf') format('truetype');
}

/* Professional learner workspace refinements */
.fh-about-page.fh-lesson-page {
    --fh-workspace-navy: #061b3f;
    --fh-workspace-blue: #1478d4;
    --fh-workspace-line: #d9e2ec;
    --fh-workspace-muted: #60738a;
    background: #f4f7fb;
}

.fh-about-page.fh-lesson-page .fh-lesson-main {
    min-height: calc(100vh - 74px);
}

.fh-about-page.fh-lesson-page .fh-shell {
    width: min(1520px, calc(100% - 40px));
}

.fh-about-page.fh-lesson-page .fh-lesson-workspace {
    padding: 20px 0 44px;
}

.fh-about-page.fh-lesson-page .fh-lesson-console {
    display: grid;
    grid-template-columns: 350px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.fh-about-page.fh-lesson-page .fh-lesson-console-full {
    grid-template-columns: 1fr;
}

.fh-about-page.fh-lesson-page .fh-lesson-console-full .fh-lesson-left {
    display: none;
}

.fh-about-page.fh-lesson-page .fh-lesson-console-full .fh-lesson-right {
    grid-column: 1;
    width: 100%;
}

.fh-about-page.fh-lesson-page .fh-lesson-left {
    display: grid;
    position: sticky;
    top: 88px;
    align-self: start;
    min-width: 0;
}

.fh-about-page.fh-lesson-page .fh-lesson-right {
    display: grid;
    gap: 18px;
    min-width: 0;
}

.fh-about-page.fh-lesson-page .course-playing-sidebar,
.fh-about-page.fh-lesson-page .fh-lesson-player-card,
.fh-about-page.fh-lesson-page .fh-lesson-tabs-card {
    border: 1px solid var(--fh-workspace-line);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 35, 65, .05);
}

.fh-about-page.fh-lesson-page .course-playing-sidebar {
    position: static;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 108px);
    overflow: hidden;
    padding: 0;
    background: #fff;
}

.fh-about-page.fh-lesson-page .fh-lesson-author {
    margin: 0;
    color: var(--fh-workspace-muted);
    font-size: 13px;
}

.fh-about-page.fh-lesson-page .fh-lesson-author a {
    color: #0e5fb8;
    font-weight: 700;
}

.fh-about-page.fh-lesson-page .fh-lesson-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.fh-about-page.fh-lesson-page .fh-lesson-chip-row span {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.fh-about-page.fh-lesson-page .fh-lesson-chip-row span:nth-child(1) {
    background: #ffe8e0;
    color: #b5482b;
}

.fh-about-page.fh-lesson-page .fh-lesson-chip-row span:nth-child(2) {
    background: #e8f7df;
    color: #2f7d32;
}

.fh-about-page.fh-lesson-page .fh-lesson-chip-row span:nth-child(3) {
    background: #ddecfb;
    color: #1e609d;
}

.fh-about-page.fh-lesson-page .course-playing-sidebar > .title {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px 14px;
    padding: 18px 18px 16px;
    border-bottom: 1px solid var(--fh-workspace-line);
    text-align: left;
}

.fh-about-page.fh-lesson-page .course-playing-sidebar > .title div:first-child {
    display: grid;
    gap: 3px;
}

.fh-about-page.fh-lesson-page .course-playing-sidebar > .title span {
    color: #152238;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 700;
}

.fh-about-page.fh-lesson-page .course-playing-sidebar > .title small {
    color: var(--fh-workspace-muted);
    font-size: 12px;
    line-height: 1.3;
    font-weight: 500;
}

.fh-about-page.fh-lesson-page .course-playing-sidebar > .title > strong {
    align-self: center;
    color: var(--fh-workspace-blue);
    font-size: 14px;
    font-weight: 700;
}

.fh-about-page.fh-lesson-page .fh-curriculum-progress {
    grid-column: 1 / -1;
    height: 4px;
    margin-top: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: #e7edf5;
}

.fh-about-page.fh-lesson-page .fh-curriculum-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--fh-workspace-blue);
}

.fh-about-page.fh-lesson-page .course-playing-sidebar .accordion {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0;
    scrollbar-width: thin;
    scrollbar-color: #c4d0dd transparent;
}

.fh-about-page.fh-lesson-page .custom-accordion .accordion-item {
    margin: 0;
    border: 0;
    border-bottom: 1px solid #e5ebf2;
    border-radius: 0;
}

.fh-about-page.fh-lesson-page .custom-accordion .accordion-item:last-child {
    border-bottom: 0;
}

.fh-about-page.fh-lesson-page .custom-accordion .accordion-button {
    min-height: 64px;
    padding: 13px 18px !important;
    background: #fff;
    font-size: 13px;
    line-height: 1.35;
}

.fh-about-page.fh-lesson-page .custom-accordion .accordion-button:not(.collapsed) {
    background: #f8fafc;
}

.fh-about-page.fh-lesson-page .custom-accordion .accordion-button .d-flex {
    gap: 2px;
    line-height: 1.35 !important;
}

.fh-about-page.fh-lesson-page .custom-accordion .accordion-button small:first-child {
    color: var(--fh-workspace-blue);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page.fh-lesson-page .custom-accordion .accordion-body {
    padding: 6px 10px 12px;
    background: #f8fafc;
}

.fh-about-page.fh-lesson-page .course-content-items {
    gap: 3px;
}

.fh-about-page.fh-lesson-page .course-content-items .item,
.fh-about-page.fh-lesson-page .course-content-items .item.active {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 7px;
    background: transparent !important;
}

.fh-about-page.fh-lesson-page .course-content-items .item::before {
    display: none;
}

.fh-about-page.fh-lesson-page .course-content-items .item a {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center !important;
    gap: 9px;
    min-height: 50px;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 7px;
    color: #24344d;
    font-size: 12.5px;
    font-weight: 600;
}

.fh-about-page.fh-lesson-page .course-content-items .item a:hover {
    border-color: #d7e3ef;
    background: #fff;
}

.fh-about-page.fh-lesson-page .course-content-items .item.active a {
    border-color: #b9d8f6;
    background: #eaf4fe;
    color: #073d75;
    box-shadow: inset 3px 0 0 var(--fh-workspace-blue);
}

.fh-about-page.fh-lesson-page .course-content-items .lesson-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    border: 1px solid #c7d4e2;
    border-radius: 50%;
    background: #fff;
    color: #52708e;
    font-size: 9px;
    line-height: 1;
}

.fh-about-page.fh-lesson-page .course-content-items .lesson-status > i {
    display: block;
    margin: 0;
    line-height: 1;
}

.fh-about-page.fh-lesson-page .course-content-items .lesson-status--complete {
    border-color: #25a979;
    background: #e7f7f1;
    color: #147451;
}

.fh-about-page.fh-lesson-page .course-content-items .lesson-status--locked {
    border-color: #d8e0e9;
    background: #f3f6f9;
    color: #718399;
}

.fh-about-page.fh-lesson-page .course-content-items .item.active .lesson-status--available {
    border-color: var(--fh-workspace-blue);
    background: var(--fh-workspace-blue);
    color: #fff;
}

.fh-about-page.fh-lesson-page .course-content-items .lesson-status--checkbox {
    border: 0;
    background: transparent;
}

.fh-about-page.fh-lesson-page .lesson_checkbox {
    position: relative !important;
    display: inline-grid;
    place-items: center;
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 !important;
    border: 1px solid #aebdcd;
    border-radius: 50%;
    appearance: none;
    background: #fff;
    cursor: pointer;
}

.fh-about-page.fh-lesson-page .lesson_checkbox::after {
    content: "";
    width: 5px;
    height: 9px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    opacity: 0;
    transform: translateY(-1px) rotate(45deg);
}

.fh-about-page.fh-lesson-page .lesson_checkbox:checked {
    border-color: var(--fh-workspace-blue);
    background: var(--fh-workspace-blue);
}

.fh-about-page.fh-lesson-page .lesson_checkbox:checked::after {
    opacity: 1;
}

.fh-about-page.fh-lesson-page .course-content-items .item a .m-0 {
    display: -webkit-box;
    overflow: hidden;
    overflow-wrap: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.fh-about-page.fh-lesson-page .course-content-items .lesson-icon {
    margin-top: 3px !important;
    color: #70839a;
    font-size: 10.5px;
}

.fh-about-page.fh-lesson-page .course-content-items .item a > .ms-auto {
    color: #7c8da1;
    font-size: 10.5px;
}

.fh-about-page.fh-lesson-page .fh-lesson-player-card {
    position: relative;
    min-height: 0;
    overflow: hidden;
    background: #111827;
}

.fh-about-page.fh-lesson-page .fh-lesson-stage-bar {
    position: absolute;
    inset: 0 0 auto;
    z-index: 5;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(15, 23, 42, .64), rgba(15, 23, 42, .2) 52%, transparent 100%);
}

.fh-about-page.fh-lesson-page .fh-lesson-stage-bar span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, .78);
    font-size: 12px;
    font-weight: 500;
}

.fh-about-page.fh-lesson-page .fh-lesson-stage-bar h2 {
    margin: 5px 0 0;
    color: #fff;
    line-height: 1.25;
    font-weight: 600;
}

.fh-about-page.fh-lesson-page .fh-lesson-stage-actions {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    pointer-events: auto;
}

.fh-about-page.fh-lesson-page .fh-lesson-stage-actions span,
.fh-about-page.fh-lesson-page .fh-lesson-stage-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    padding: 0 11px;
    border-radius: 7px;
    background: rgba(10, 20, 37, .58);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    backdrop-filter: blur(8px);
}

.fh-about-page.fh-lesson-page .fh-lesson-stage-actions a {
    width: 34px;
    padding: 0;
}

.fh-about-page.fh-lesson-page .fh-lesson-player-body {
    padding: 0;
}

.fh-about-page.fh-lesson-page .fh-lesson-player-body .video-container {
    min-height: clamp(350px, 35vw, 460px);
    border-radius: 0;
}

.fh-about-page.fh-lesson-page .fh-lesson-player-body .video-container > div,
.fh-about-page.fh-lesson-page .fh-lesson-player-body .plyr,
.fh-about-page.fh-lesson-page .fh-lesson-player-body video,
.fh-about-page.fh-lesson-page .fh-lesson-player-body iframe {
    border-radius: 0;
}

.fh-about-page.fh-lesson-page .fh-lesson-player-body .card {
    margin: 0;
    padding-top: 72px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.fh-about-page.fh-lesson-page .fh-lesson-player-body .w-100.white-space,
.fh-about-page.fh-lesson-page .fh-lesson-player-body > .w-100 {
    min-height: 420px;
    padding: 84px 26px 26px;
}

.fh-about-page.fh-lesson-page .fh-lesson-player-body .btn-primary,
.fh-about-page.fh-lesson-page .fh-lesson-tabs-card .btn-primary,
.fh-about-page.fh-lesson-page .fh-lesson-tabs-card .btn_zoom {
    min-height: 40px;
    border: 0;
    border-radius: 7px;
    background: #1478d4;
    color: #fff;
    font-weight: 700;
}

.fh-about-page.fh-lesson-page .fh-lesson-stage-bar {
    padding: 18px 20px 72px;
}

.fh-about-page.fh-lesson-page .fh-lesson-stage-bar h2 {
    font-size: 18px;
}

.fh-about-page.fh-lesson-page .fh-lesson-sequence-nav {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr);
    gap: 0;
    min-height: 66px;
    border-top: 1px solid var(--fh-workspace-line);
    background: #fff;
}

.fh-about-page.fh-lesson-page .fh-lesson-sequence-link,
.fh-about-page.fh-lesson-page .fh-lesson-sequence-current {
    min-height: 66px;
    padding: 10px 16px;
    border: 0;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}

.fh-about-page.fh-lesson-page .fh-lesson-sequence-link {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
}

.fh-about-page.fh-lesson-page .fh-lesson-sequence-link.is-next {
    grid-template-columns: minmax(0, 1fr) 28px;
    border-left: 1px solid var(--fh-workspace-line);
}

.fh-about-page.fh-lesson-page .fh-lesson-sequence-link > i {
    color: var(--fh-workspace-blue);
    font-size: 13px;
    text-align: center;
}

.fh-about-page.fh-lesson-page .fh-lesson-sequence-link > span {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.fh-about-page.fh-lesson-page .fh-lesson-sequence-link small {
    color: #7b8ca0;
    font-size: 10px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page.fh-lesson-page .fh-lesson-sequence-link strong {
    display: block;
    margin: 0;
    overflow: hidden;
    color: #17243a;
    font-size: 13px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fh-about-page.fh-lesson-page .fh-lesson-sequence-link:hover {
    background: #f5f9fd;
}

.fh-about-page.fh-lesson-page .fh-lesson-sequence-link.is-disabled {
    background: #f8fafc;
}

.fh-about-page.fh-lesson-page button.fh-lesson-sequence-link {
    width: 100%;
    border-left: 1px solid var(--fh-workspace-line);
    font-family: inherit;
    text-align: left;
    cursor: pointer;
}

.fh-about-page.fh-lesson-page .fh-course-complete-trigger {
    background: #edf7ff;
}

.fh-about-page.fh-lesson-page .fh-course-complete-trigger > i,
.fh-about-page.fh-lesson-page .fh-course-complete-trigger strong {
    color: #0a67bd;
}

.fh-about-page.fh-lesson-page .fh-course-complete-trigger:hover,
.fh-about-page.fh-lesson-page .fh-course-complete-trigger:focus-visible {
    background: #dcefff;
}

.fh-about-page.fh-lesson-page .fh-course-complete-trigger:focus-visible {
    position: relative;
    z-index: 1;
    outline: 3px solid rgba(20, 120, 212, .25);
    outline-offset: -3px;
}

.fh-about-page.fh-lesson-page .fh-course-complete-trigger.is-loading {
    cursor: wait;
    opacity: .7;
}

.fh-about-page.fh-lesson-page .fh-course-complete-trigger.is-loading > i {
    animation: fh-course-completion-spin .8s linear infinite;
}

.fh-about-page.fh-lesson-page .fh-course-complete-trigger.is-complete {
    background: #e9f8f0;
}

.fh-about-page.fh-lesson-page .fh-course-complete-trigger.is-complete > i,
.fh-about-page.fh-lesson-page .fh-course-complete-trigger.is-complete strong {
    color: #16784a;
}

.fh-about-page.fh-lesson-page .fh-lesson-sequence-current {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    border-left: 1px solid var(--fh-workspace-line);
    background: #fff;
}

.fh-about-page.fh-lesson-page .fh-lesson-sequence-current span {
    color: #52667d;
    font-size: 12px;
    font-weight: 700;
    text-transform: none;
}

.fh-completion-dialog-open {
    overflow: hidden;
}

.fh-course-completion-dialog {
    position: fixed;
    z-index: 1300;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
}

.fh-course-completion-dialog[hidden] {
    display: none;
}

.fh-course-completion-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(3, 20, 43, .72);
    backdrop-filter: blur(4px);
}

.fh-course-completion-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 500px);
    padding: 38px;
    border: 1px solid #c7d9ec;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(2, 23, 49, .28);
    color: #052b57;
    text-align: center;
}

.fh-course-completion-close {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #edf4fb;
    color: #34536f;
    cursor: pointer;
}

.fh-course-completion-close:hover,
.fh-course-completion-close:focus-visible {
    background: #dceaf7;
    color: #052b57;
}

.fh-course-completion-icon {
    display: grid;
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    place-items: center;
    border: 2px solid #72b9f5;
    border-radius: 50%;
    background: #eaf5ff;
    color: #0a67bd;
    font-size: 32px;
}

.fh-course-completion-kicker {
    display: block;
    margin-bottom: 8px;
    color: #1478d4;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-course-completion-panel h2 {
    margin: 0;
    color: #052b57;
    font-size: 30px;
    line-height: 1.2;
}

.fh-course-completion-panel p {
    max-width: 400px;
    margin: 14px auto 0;
    color: #536b84;
    font-size: 16px;
    line-height: 1.6;
}

.fh-course-completion-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin-top: 26px;
}

.fh-course-completion-primary,
.fh-course-completion-secondary {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 11px 18px;
    border: 1px solid #1478d4;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
}

.fh-course-completion-primary,
.fh-course-completion-primary:link,
.fh-course-completion-primary:visited {
    background: #0964b8;
    color: #fff !important;
    text-decoration: none;
}

.fh-course-completion-primary > i,
.fh-course-completion-primary > span {
    color: inherit !important;
}

.fh-course-completion-primary:hover,
.fh-course-completion-primary:focus-visible,
.fh-course-completion-primary:active {
    background: #064f94;
    color: #fff !important;
    text-decoration: none;
}

.fh-course-completion-secondary {
    background: #fff;
    color: #17446f;
}

.fh-course-completion-secondary:hover {
    background: #edf5fc;
    color: #052b57;
}

.fh-course-confetti {
    position: fixed;
    z-index: 1400;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}

.fh-course-confetti span {
    position: absolute;
    top: -18px;
    left: var(--confetti-x);
    width: 8px;
    height: 15px;
    opacity: 0;
    transform: rotate(var(--confetti-rotation));
}

.fh-course-confetti.is-active span {
    animation: fh-course-confetti-fall 1.55s cubic-bezier(.2, .75, .35, 1) var(--confetti-delay) forwards;
}

@keyframes fh-course-confetti-fall {
    0% {
        opacity: 0;
        transform: translate3d(0, -20px, 0) rotate(var(--confetti-rotation));
    }
    12% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: translate3d(35px, 90vh, 0) rotate(720deg);
    }
}

@keyframes fh-course-completion-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .fh-course-confetti.is-active span,
    .fh-course-complete-trigger.is-loading > i {
        animation: none;
    }
}

@media (max-width: 600px) {
    .fh-course-completion-dialog {
        padding: 14px;
    }

    .fh-course-completion-panel {
        padding: 34px 20px 22px;
    }

    .fh-course-completion-panel h2 {
        font-size: 25px;
    }

    .fh-course-completion-actions {
        grid-template-columns: 1fr;
    }
}

/* Verified certificate view */
.fh-certificate-view-page {
    min-width: 0;
    margin: 0;
    background: #eef3f8;
    color: #082b53;
    font-family: 'Vend Sans', Arial, sans-serif;
}

.fh-certificate-view-page *,
.fh-certificate-view-page *::before,
.fh-certificate-view-page *::after {
    box-sizing: border-box;
}

.fh-certificate-view-page button,
.fh-certificate-view-page a {
    font-family: inherit;
}

.fh-certificate-public-status {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #d8ebff;
    font-size: 13px;
    font-weight: 700;
}

.fh-certificate-public-status i {
    color: #66b9ff;
    font-size: 18px;
}

.fh-certificate-view-main {
    min-height: calc(100vh - 140px);
}

.fh-certificate-view-hero {
    padding: 34px 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
    background: #061b3f;
    color: #fff;
}

.fh-certificate-view-hero-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
}

.fh-certificate-view-hero-inner > div:first-child > span {
    display: block;
    margin-bottom: 8px;
    color: #69baff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-certificate-view-hero h1 {
    margin: 0;
    color: #fff;
    font-size: 34px;
    line-height: 1.15;
}

.fh-certificate-view-hero p {
    max-width: 650px;
    margin: 10px 0 0;
    color: #c8d8ea;
    font-size: 15px;
    line-height: 1.55;
}

.fh-certificate-verified-badge {
    display: flex;
    min-width: 220px;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    border: 1px solid rgba(104, 185, 255, .45);
    border-radius: 7px;
    background: rgba(4, 36, 77, .72);
}

.fh-certificate-verified-badge > i {
    color: #69baff;
    font-size: 28px;
}

.fh-certificate-verified-badge > span {
    display: grid;
    gap: 2px;
}

.fh-certificate-verified-badge strong {
    color: #fff;
    font-size: 15px;
}

.fh-certificate-verified-badge small {
    color: #b8cde3;
    font-size: 12px;
}

.fh-certificate-view-section {
    padding: 24px 0 48px;
}

.fh-certificate-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.fh-certificate-toolbar-copy {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

.fh-certificate-toolbar-copy a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #155f9f;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.fh-certificate-toolbar-copy a:hover {
    color: #053866;
}

.fh-certificate-toolbar-copy > span {
    padding-left: 14px;
    border-left: 1px solid #bfcddd;
    color: #60758c;
    font-size: 12px;
    font-weight: 700;
}

.fh-certificate-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 9px;
}

.fh-certificate-action {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 9px 16px;
    border: 1px solid #0964b8;
    border-radius: 6px;
    background: #0964b8;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.fh-certificate-action:hover,
.fh-certificate-action:focus-visible {
    border-color: #064f94;
    background: #064f94;
    color: #fff;
}

.fh-certificate-action.secondary {
    border-color: #b8cadc;
    background: #fff;
    color: #164d7a;
}

.fh-certificate-action.secondary:hover,
.fh-certificate-action.secondary:focus-visible {
    border-color: #8ba9c5;
    background: #eaf3fb;
    color: #082b53;
}

.fh-certificate-action:disabled {
    cursor: wait;
    opacity: .7;
}

.fh-certificate-document-wrap {
    overflow-x: auto;
    padding: 16px;
    border: 1px solid #cbd8e5;
    border-radius: 8px;
    background: #dfe7ef;
    box-shadow: 0 14px 38px rgba(9, 39, 73, .1);
}

.fh-certificate-document {
    position: relative;
    width: 100%;
    min-width: 900px;
    aspect-ratio: 1.414 / 1;
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid #b7c8da;
    background: #fff;
    color: #082b53;
    box-shadow: 0 4px 18px rgba(7, 34, 66, .12);
}

.fh-certificate-document::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 11px;
    background: #0964b8;
    content: '';
}

.fh-certificate-document::after {
    position: absolute;
    z-index: 0;
    inset: 0;
    background:
        repeating-radial-gradient(ellipse at -5% 50%, transparent 0 15px, rgba(9, 100, 184, .15) 16px 17px, transparent 18px 30px),
        repeating-radial-gradient(ellipse at 105% 50%, transparent 0 15px, rgba(9, 100, 184, .15) 16px 17px, transparent 18px 30px),
        repeating-radial-gradient(ellipse at 50% -28%, transparent 0 18px, rgba(58, 137, 196, .12) 19px 20px, transparent 21px 36px),
        repeating-radial-gradient(ellipse at 50% 128%, transparent 0 18px, rgba(58, 137, 196, .12) 19px 20px, transparent 21px 36px);
    opacity: .82;
    mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, .06) 0 42%, rgba(0, 0, 0, .35) 64%, #000 100%);
    -webkit-mask-image: radial-gradient(ellipse at center, rgba(0, 0, 0, .06) 0 42%, rgba(0, 0, 0, .35) 64%, #000 100%);
    pointer-events: none;
    content: '';
}

.fh-certificate-document-border {
    position: absolute;
    z-index: 1;
    inset: 20px;
    display: grid;
    grid-template-rows: auto 1fr auto;
    padding: 30px 42px 34px;
    border: 1px solid #9dbbd7;
}

.fh-certificate-document-border::before,
.fh-certificate-document-border::after {
    position: absolute;
    width: 54px;
    height: 54px;
    content: '';
}

.fh-certificate-document-border::before {
    top: -1px;
    left: -1px;
    border-top: 5px solid #0964b8;
    border-left: 5px solid #0964b8;
}

.fh-certificate-document-border::after {
    right: -1px;
    bottom: -1px;
    border-right: 5px solid #0964b8;
    border-bottom: 5px solid #0964b8;
}

.fh-certificate-document-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.fh-certificate-document-brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;
}

.fh-certificate-document-logo {
    width: 44px;
    height: 53px;
}

.fh-certificate-document-logo svg {
    display: block;
    width: 100%;
    height: 100%;
}

.fh-certificate-document-logo path:first-child {
    fill: #082b53;
    stroke: #082b53;
    stroke-width: 2;
}

.fh-certificate-document-logo path:last-child {
    fill: none;
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.4;
}

.fh-certificate-document-brand > span:last-child {
    display: grid;
    color: #082b53;
    font-size: 13px;
    line-height: 1.1;
    text-transform: uppercase;
}

.fh-certificate-document-type {
    padding: 9px 13px;
    border: 1px solid #b7cadc;
    color: #365b7d;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-certificate-document-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 56px 12px;
    text-align: center;
}

.fh-certificate-document-eyebrow {
    color: #0964b8;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-certificate-document-body h2 {
    margin: 10px 0 24px;
    color: #082b53;
    font-size: 54px;
    line-height: 1.05;
    text-transform: uppercase;
}

.fh-certificate-document-intro,
.fh-certificate-document-statement {
    margin: 0;
    color: #61758a;
    font-size: 17px;
    line-height: 1.5;
}

.fh-certificate-document-body h3 {
    min-width: min(620px, 84%);
    margin: 11px 0 16px;
    padding: 0 28px 10px;
    border-bottom: 1px solid #7fa7ca;
    color: #082b53;
    font-size: 50px;
    line-height: 1.15;
}

.fh-certificate-document-body h4 {
    max-width: 850px;
    margin: 9px 0 0;
    color: #0964b8;
    font-size: 28px;
    line-height: 1.25;
}

.fh-certificate-document-facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: min(800px, 92%);
    margin-top: 30px;
    border-top: 1px solid #d5e0ea;
    border-bottom: 1px solid #d5e0ea;
}

.fh-certificate-document-facts > span {
    display: grid;
    gap: 3px;
    padding: 14px 18px;
}

.fh-certificate-document-facts > span + span {
    border-left: 1px solid #d5e0ea;
}

.fh-certificate-document-facts small {
    color: #6a7e92;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-certificate-document-facts strong {
    color: #173f66;
    font-size: 14px;
}

.fh-certificate-document-footer {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: end;
    gap: 30px;
}

.fh-certificate-signature {
    display: grid;
    width: 250px;
    gap: 2px;
}

.fh-certificate-signature > span {
    padding-bottom: 7px;
    border-bottom: 1px solid #7895af;
    color: #082b53;
    font-size: 18px;
    font-weight: 700;
}

.fh-certificate-signature strong,
.fh-certificate-verification strong {
    margin-top: 3px;
    color: #173f66;
    font-size: 10px;
    text-transform: uppercase;
}

.fh-certificate-signature small,
.fh-certificate-verification small {
    color: #718399;
    font-size: 10px;
}

.fh-certificate-course-facts {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 12px 18px;
    border: 1px solid #d4e0eb;
    background: #f6f9fc;
}

.fh-certificate-course-facts > span {
    display: grid;
    gap: 2px;
    text-align: center;
}

.fh-certificate-course-facts strong {
    color: #173f66;
    font-size: 14px;
}

.fh-certificate-course-facts small {
    color: #718399;
    font-size: 9px;
    text-transform: uppercase;
}

.fh-certificate-verification {
    display: flex;
    align-items: center;
    justify-self: end;
    gap: 11px;
}

.fh-certificate-verification img {
    display: block;
    width: 88px;
    height: 88px;
    object-fit: contain;
}

.fh-certificate-verification > span {
    display: grid;
    gap: 1px;
}

.fh-certificate-verification-note {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-top: 16px;
    padding: 16px 18px;
    border: 1px solid #b8d7ee;
    border-radius: 7px;
    background: #f8fbfe;
}

.fh-certificate-verification-note > i {
    color: #16784a;
    font-size: 25px;
}

.fh-certificate-verification-note strong {
    color: #123f65;
    font-size: 14px;
}

.fh-certificate-verification-note p {
    margin: 3px 0 0;
    color: #62778d;
    font-size: 12px;
}

.fh-certificate-verification-note button {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid #aac2d8;
    border-radius: 5px;
    background: #fff;
    color: #155f9f;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.fh-certificate-verification-note button:hover {
    background: #eaf3fb;
}

.fh-certificate-toast {
    position: fixed;
    z-index: 1500;
    right: 22px;
    bottom: 22px;
    max-width: min(360px, calc(100% - 44px));
    padding: 12px 16px;
    border-radius: 6px;
    background: #082b53;
    color: #fff;
    box-shadow: 0 12px 30px rgba(3, 24, 49, .24);
    font-size: 13px;
    font-weight: 700;
}

@media (max-width: 900px) {
    .fh-certificate-view-hero-inner,
    .fh-certificate-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .fh-certificate-verified-badge {
        min-width: 0;
    }

    .fh-certificate-document-wrap {
        padding: 10px;
    }

    .fh-certificate-verification-note {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .fh-certificate-verification-note button {
        grid-column: 1 / -1;
        justify-self: stretch;
    }
}

@media (max-width: 560px) {
    .fh-certificate-view-hero {
        padding: 26px 0;
    }

    .fh-certificate-view-hero h1 {
        font-size: 28px;
    }

    .fh-certificate-toolbar-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }

    .fh-certificate-action {
        padding: 9px 10px;
    }

    .fh-certificate-toolbar-copy {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .fh-certificate-toolbar-copy > span {
        padding-left: 0;
        border-left: 0;
    }
}

@media print {
    @page {
        size: letter landscape;
        margin: 0;
    }

    .fh-certificate-view-page {
        background: #fff !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }

    .fh-certificate-view-page .fh-member-topbar,
    .fh-certificate-view-page .fh-certificate-view-hero,
    .fh-certificate-view-page .fh-certificate-toolbar,
    .fh-certificate-view-page .fh-certificate-verification-note,
    .fh-certificate-view-page .fh-member-footer,
    .fh-certificate-view-page .fh-certificate-toast {
        display: none !important;
    }

    .fh-certificate-view-main,
    .fh-certificate-view-section,
    .fh-certificate-view-section > .fh-shell {
        width: 100% !important;
        min-height: 0;
        margin: 0 !important;
        padding: 0 !important;
    }

    .fh-certificate-document-wrap {
        overflow: visible;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
    }

    .fh-certificate-document {
        width: 11in;
        height: 8.5in;
        min-width: 11in;
        border: 0;
        box-shadow: none;
    }
}

.fh-about-page.fh-lesson-page .fh-lesson-tabs-card {
    margin: 0;
    padding: 22px 24px 24px;
}

.fh-about-page.fh-lesson-page .fh-lesson-overview-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px 20px;
    margin-bottom: 0;
    padding-bottom: 20px;
}

.fh-about-page.fh-lesson-page .fh-lesson-overview-panel h3 {
    margin: 0;
    color: #152238;
    line-height: 1.25;
    font-weight: 700;
}

.fh-about-page.fh-lesson-page .fh-lesson-overview-panel h3 {
    font-size: 22px;
}

.fh-about-page.fh-lesson-page .fh-lesson-overview-panel .fh-lesson-chip-row {
    grid-column: 2;
    grid-row: 1 / span 2;
    justify-content: flex-end;
    margin: 0;
}

.fh-about-page.fh-lesson-page .fh-lesson-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr);
    gap: 28px;
    padding: 22px 0;
    border-bottom: 1px solid var(--fh-workspace-line);
}

.fh-about-page.fh-lesson-page .fh-lesson-description-panel,
.fh-about-page.fh-lesson-page .fh-lesson-details-panel {
    margin: 0;
    padding: 0;
    border: 0;
}

.fh-about-page.fh-lesson-page .fh-lesson-description-panel p {
    max-width: none;
    color: #52667d;
    font-size: 14px;
    line-height: 1.65;
}

.fh-about-page.fh-lesson-page .fh-lesson-description-panel h3,
.fh-about-page.fh-lesson-page .fh-lesson-details-panel h3 {
    margin: 0 0 8px;
    color: #152238;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 700;
}

.fh-about-page.fh-lesson-page .fh-lesson-details-panel .fh-lesson-info-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 4px;
}

.fh-about-page.fh-lesson-page .fh-lesson-details-panel .fh-lesson-info-list div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 38px;
    padding: 8px 0;
    border: 0;
    border-bottom: 1px solid #e5ebf2;
    border-radius: 0;
    background: transparent;
}

.fh-about-page.fh-lesson-page .fh-lesson-details-panel .fh-lesson-info-list div:last-child {
    border-bottom: 0;
}

.fh-about-page.fh-lesson-page .fh-lesson-details-panel .fh-lesson-info-list dt,
.fh-about-page.fh-lesson-page .fh-lesson-details-panel .fh-lesson-info-list dd {
    font-size: 13px;
}

.fh-about-page.fh-lesson-page .fh-lesson-details-panel .fh-lesson-info-list dt {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--fh-workspace-muted);
    font-weight: 500;
}

.fh-about-page.fh-lesson-page .fh-lesson-details-panel .fh-lesson-info-list dt i {
    width: 14px;
    color: #66809a;
    text-align: center;
}

.fh-about-page.fh-lesson-page .fh-lesson-details-panel .fh-lesson-info-list dd {
    margin: 0;
    color: #17243a;
    font-weight: 700;
    text-align: right;
}

.fh-about-page.fh-lesson-page .fh-lesson-tabs-card .player-bottom-tabs {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    gap: 4px;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 4px;
    overflow-x: auto;
    border: 1px solid var(--fh-workspace-line);
    border-radius: 8px;
    background: #f2f6fa;
}

.fh-about-page.fh-lesson-page .fh-lesson-tabs-card .player-bottom-tabs .nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 15px !important;
    border: 1px solid transparent !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: var(--fh-workspace-muted);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
}

.fh-about-page.fh-lesson-page .fh-lesson-tabs-card .player-bottom-tabs .nav-link:hover {
    background: #e5eef7 !important;
    color: #0e5fb8;
}

.fh-about-page.fh-lesson-page .fh-lesson-tabs-card .player-bottom-tabs .nav-link.active {
    border-color: #c7d9eb !important;
    background: #fff !important;
    color: #0e5fb8;
    box-shadow: 0 1px 3px rgba(15, 35, 65, .1);
}

.fh-about-page.fh-lesson-page .fh-lesson-tabs-card .player-bottom-tabs .nav-link > span {
    display: none !important;
}

.fh-about-page.fh-lesson-page .fh-lesson-tabs-card .ct-tabs-content {
    color: #52667d;
    font-size: 14px;
    line-height: 1.6;
}

.fh-about-page.fh-lesson-page .fh-lesson-tabs-card #live-class-content {
    width: 100%;
    margin: 0;
    padding-top: 20px;
    border: 0;
    text-align: left;
}

.fh-about-page.fh-lesson-page .fh-live-class-panel {
    width: 100%;
}

.fh-about-page.fh-lesson-page .fh-live-class-empty {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    min-height: 132px;
    padding: 24px;
    border: 1px solid #d7e3ef;
    border-radius: 8px;
    background: #f8fbfe;
}

.fh-about-page.fh-lesson-page .fh-live-class-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid #bcd5ee;
    border-radius: 50%;
    background: #e9f4fe;
    color: #1478d4;
    font-size: 18px;
}

.fh-about-page.fh-lesson-page .fh-live-class-eyebrow {
    display: block;
    margin-bottom: 4px;
    color: #1478d4;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page.fh-lesson-page .fh-live-class-empty h3 {
    margin: 0;
    color: #152238;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
}

.fh-about-page.fh-lesson-page .fh-live-class-empty p {
    margin: 5px 0 0;
    color: #60738a;
    font-size: 13px;
    line-height: 1.5;
}

.fh-about-page.fh-lesson-page .fh-live-class-panel .live_class {
    margin: 0;
    padding: 24px;
    border: 1px solid #d7e3ef;
    border-radius: 8px;
    background: #f8fbfe;
    color: #152238;
    text-align: left;
}

.fh-about-page.fh-lesson-page .fh-live-class-panel .live_class + hr {
    display: none;
}

.fh-about-page.fh-lesson-page .fh-live-class-panel .live_class h5 {
    margin: 14px 0 0 !important;
    color: #152238;
    font-size: 16px;
    font-weight: 700;
}

.fh-about-page.fh-lesson-page .fh-live-class-panel .live_class_note {
    max-width: none;
    margin: 16px 0;
    padding: 14px 16px;
    border: 1px solid #c9def2;
    border-radius: 7px;
    background: #eef7ff;
    color: #315b80;
    font-size: 13px;
}

.fh-about-page.fh-lesson-page .fh-live-class-panel .btn_zoom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 40px;
    padding: 9px 16px;
    border: 0;
    border-radius: 7px;
    background: #1478d4;
    font-weight: 700;
}

.fh-about-page.fh-lesson-page .fh-lesson-summary-pane {
    padding-top: 20px;
}

.fh-about-page.fh-lesson-page .fh-lesson-locked,
.fh-about-page.fh-lesson-page .fh-lesson-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 360px;
    padding: 80px 28px 32px;
    text-align: center;
}

.fh-about-page.fh-lesson-page .fh-lesson-locked {
    color: #d8e3ef;
}

.fh-about-page.fh-lesson-page .fh-lesson-locked * {
    color: inherit !important;
}

.fh-about-page.fh-lesson-page .fh-exam-prerequisite {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 390px;
    padding: 48px 32px;
    color: #d8e3ef;
    text-align: center;
}

.fh-about-page.fh-lesson-page .fh-exam-prerequisite-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 20px;
    border: 1px solid rgba(111, 183, 255, .45);
    border-radius: 50%;
    color: #74b9ff;
    background: rgba(22, 111, 206, .16);
    font-size: 24px;
}

.fh-about-page.fh-lesson-page .fh-exam-prerequisite-label {
    margin-bottom: 8px;
    color: #74b9ff;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page.fh-lesson-page .fh-exam-prerequisite h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 26px;
    font-weight: 700;
}

.fh-about-page.fh-lesson-page .fh-exam-prerequisite p {
    max-width: 560px;
    margin: 0;
    color: #b7c6d8;
    font-size: 16px;
    line-height: 1.6;
}

.fh-about-page.fh-lesson-page .fh-exam-prerequisite-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    margin-top: 24px;
    padding: 10px 18px;
    border: 1px solid rgba(111, 183, 255, .5);
    border-radius: 6px;
    color: #fff;
    background: #1269bc;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.fh-about-page.fh-lesson-page .fh-exam-prerequisite-action:hover,
.fh-about-page.fh-lesson-page .fh-exam-prerequisite-action:focus-visible {
    color: #fff;
    background: #0e5ca8;
}

.fh-about-page.fh-lesson-page .fh-lesson-locked h1,
.fh-about-page.fh-lesson-page .fh-lesson-locked h2,
.fh-about-page.fh-lesson-page .fh-lesson-locked h3,
.fh-about-page.fh-lesson-page .fh-lesson-locked h4,
.fh-about-page.fh-lesson-page .fh-lesson-locked h5,
.fh-about-page.fh-lesson-page .fh-lesson-locked h6,
.fh-about-page.fh-lesson-page .fh-lesson-locked h1 *,
.fh-about-page.fh-lesson-page .fh-lesson-locked h2 *,
.fh-about-page.fh-lesson-page .fh-lesson-locked h3 *,
.fh-about-page.fh-lesson-page .fh-lesson-locked h4 *,
.fh-about-page.fh-lesson-page .fh-lesson-locked h5 *,
.fh-about-page.fh-lesson-page .fh-lesson-locked h6 * {
    color: #fff !important;
}

@media (max-width: 1180px) {
    .fh-about-page.fh-lesson-page .fh-lesson-console {
        grid-template-columns: 320px minmax(0, 1fr);
    }

    .fh-about-page.fh-lesson-page .fh-lesson-content-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991px) {
    .fh-about-page.fh-lesson-page .fh-lesson-console,
    .fh-about-page.fh-lesson-page .fh-lesson-console-full {
        grid-template-columns: 1fr;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-left {
        order: 2;
        position: static;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-right {
        order: 1;
    }

    .fh-about-page.fh-lesson-page .course-playing-sidebar,
    .fh-about-page.fh-lesson-page .course-playing-sidebar .accordion {
        max-height: none;
    }

    .fh-about-page.fh-lesson-page .course-playing-sidebar .accordion {
        overflow-y: visible;
        overscroll-behavior: auto;
    }
}

@media (max-width: 720px) {
    .fh-about-page.fh-lesson-page .fh-shell {
        width: min(100% - 24px, 1520px);
    }

    .fh-about-page.fh-lesson-page .fh-lesson-player-body .video-container {
        min-height: 240px;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-stage-bar {
        display: block;
        min-height: 104px;
        padding: 16px 16px 52px;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-stage-bar > div:first-child {
        padding-right: 108px;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-stage-bar > div:first-child > span {
        display: none;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-stage-bar h2 {
        margin-top: 0;
        font-size: 15px;
        line-height: 1.3;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-stage-actions {
        position: absolute;
        top: 13px;
        right: 13px;
        gap: 5px;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-stage-actions span,
    .fh-about-page.fh-lesson-page .fh-lesson-stage-actions a {
        width: 30px;
        min-height: 30px;
        padding: 0;
        font-size: 0;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-stage-actions i {
        font-size: 11px;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-sequence-nav {
        grid-template-columns: 1fr 54px 1fr;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-sequence-link,
    .fh-about-page.fh-lesson-page .fh-lesson-sequence-current {
        min-height: 58px;
        padding: 8px 10px;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-sequence-link {
        grid-template-columns: 20px minmax(0, 1fr);
        gap: 6px;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-sequence-link.is-next {
        grid-template-columns: minmax(0, 1fr) 20px;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-sequence-link strong {
        font-size: 11px;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-overview-panel {
        grid-template-columns: 1fr;
    }

    .fh-about-page.fh-lesson-page .fh-lesson-overview-panel .fh-lesson-chip-row {
        grid-column: 1;
        grid-row: auto;
        justify-content: flex-start;
        margin-top: 8px;
    }
}

@font-face {
    font-family: 'Vend Sans';
    font-style: normal;
    font-weight: 700;
    font-display: block;
    src: url('../font/vend-sans-bold.ttf') format('truetype');
}

.fh-landing {
    --fh-navy: #061b3f;
    --fh-deep: #021126;
    --fh-blue: #0e5fb8;
    --fh-sky: #2b87e6;
    --fh-ink: #061b3f;
    --fh-muted: #456079;
    --fh-line: rgba(5, 43, 103, .18);
    --fh-panel: rgba(255, 255, 255, .94);
    --fh-shadow: 0 18px 42px rgba(0, 21, 51, .18);
    color: var(--fh-ink);
    background: #f7f9fc;
    font-family: 'Vend Sans', Arial, Helvetica, sans-serif;
}

.fh-landing * {
    box-sizing: border-box;
}

.fh-landing br {
    display: block !important;
}

.fh-landing a {
    text-decoration: none;
}

.fh-landing .fh-shell {
    width: min(1200px, calc(100% - 36px));
    margin: 0 auto;
}

.fh-landing .fh-topnav {
    position: relative;
    z-index: 20;
    background: linear-gradient(120deg, #021126, #061e43 58%, #073066);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.fh-landing .fh-nav-inner {
    min-height: 84px;
    display: flex;
    align-items: center;
    gap: 26px;
}

.fh-landing .fh-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
    min-width: 245px;
}

.fh-landing .fh-brand-mark,
.fh-landing .fh-shield-mark,
.fh-landing .fh-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.fh-landing .fh-brand-mark {
    width: 42px;
    height: 42px;
    border: 3px solid #fff;
    border-radius: 10px;
    position: relative;
}

.fh-landing .fh-brand-mark i {
    position: relative;
    z-index: 1;
    font-size: 17px;
    line-height: 1 !important;
}

.fh-landing .fh-brand-copy,
.fh-landing .fh-split-title {
    display: block;
}

.fh-landing .fh-brand-copy span,
.fh-landing .fh-split-title span {
    display: block;
}

.fh-landing .fh-logo-lockup {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: #fff;
}

.fh-landing .fh-logo-mark {
    width: 44px;
    height: 54px;
    display: block;
    flex: 0 0 auto;
    color: #fff;
}

.fh-landing .fh-logo-svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.fh-landing .fh-logo-svg .fh-logo-shield,
.fh-landing .fh-logo-svg .fh-logo-house {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.fh-landing .fh-logo-svg .fh-logo-shield {
    stroke-width: 3.2;
}

.fh-landing .fh-logo-svg .fh-logo-house {
    stroke-width: 3;
}

.fh-landing .fh-logo-type {
    display: block;
    color: #fff;
    font-size: 16px;
    line-height: 1.08;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.fh-landing .fh-logo-type span {
    display: block;
}

.fh-landing .fh-logo-card .fh-logo-lockup {
    gap: 18px;
}

.fh-landing .fh-logo-card .fh-logo-mark {
    width: 60px;
    height: 72px;
}

.fh-landing .fh-logo-card .fh-logo-type {
    font-size: 18px;
}

.fh-landing .fh-footer .fh-logo-type {
    font-size: 15px;
}

.fh-landing .fh-nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    flex: 1 1 auto;
}

.fh-landing .fh-nav-links a {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-landing .fh-nav-cta,
.fh-landing .fh-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 25px;
    border-radius: 5px;
    border: 1px solid rgba(255, 255, 255, .15);
    background: linear-gradient(180deg, #2c8eea, #0d63bc);
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 12px 26px rgba(18, 104, 197, .28);
}

.fh-landing .fh-nav-cta {
    min-width: 148px;
    font-size: 14px;
}

.fh-landing .fh-hero {
    position: relative;
    min-height: 520px;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(2, 17, 38, .99) 0%, rgba(5, 32, 71, .95) 31%, rgba(5, 32, 71, .47) 56%, rgba(2, 17, 38, .08) 100%),
        url('../image/fair-housing/concierge-hero.png') center right / cover no-repeat;
}

.fh-landing .fh-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, transparent 0 40%, rgba(47, 141, 237, .35) 40.2%, transparent 41%),
        linear-gradient(120deg, transparent 0 45%, rgba(255, 255, 255, .16) 45.2%, transparent 45.7%);
    pointer-events: none;
}

.fh-landing .fh-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 44px;
    align-items: center;
    min-height: 520px;
    padding: 48px 0 34px;
}

.fh-landing .fh-eyebrow {
    color: #2d8ef1;
    font-size: 43px;
    line-height: 1.02;
    font-weight: 700;
    text-transform: uppercase;
    max-width: 530px;
    margin: 8px 0 18px;
}

.fh-landing .fh-hero h1 {
    color: #fff;
    font-size: 58px;
    line-height: .99;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
    max-width: 540px;
}

.fh-landing .fh-hero-subtitle {
    color: #fff;
    font-size: 19px;
    line-height: 1.5;
    max-width: 450px;
    margin: 0 0 22px;
}

.fh-landing .fh-mini-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    max-width: 600px;
    margin: 24px 0 28px;
}

.fh-landing .fh-mini-benefit {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 10px;
    align-items: center;
    color: #fff;
}

.fh-landing .fh-mini-benefit .fh-icon,
.fh-landing .fh-matter-card .fh-icon,
.fh-landing .fh-feature-strip .fh-icon,
.fh-landing .fh-topic-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px;
    height: 46px;
    border: 2px solid #176fc6;
    border-radius: 50%;
    color: #fff;
    background: rgba(5, 41, 88, .74);
}

.fh-landing .fh-mini-benefit .fh-icon i,
.fh-landing .fh-matter-card .fh-icon i,
.fh-landing .fh-feature-strip .fh-icon i,
.fh-landing .fh-topic-icon i {
    display: block !important;
    position: static !important;
    line-height: 1 !important;
}

.fh-landing .fh-mini-benefit .fh-icon i {
    font-size: 18px !important;
}

.fh-landing .fh-mini-benefit .fh-css-icon > i:first-child {
    font-size: 22px !important;
}

.fh-landing .fh-mini-benefit .fh-icon-shield > i:first-child {
    font-size: 25px !important;
}

.fh-landing .fh-mini-benefit .fh-icon-shield > i:last-child,
.fh-landing .fh-mini-benefit .fh-icon-residents > i:last-child,
.fh-landing .fh-mini-benefit .fh-icon-community > i:last-child {
    color: #0e5fb8;
}

.fh-landing .fh-css-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: currentColor;
}

.fh-landing .fh-css-icon i {
    line-height: 1 !important;
}

.fh-landing .fh-icon .fh-css-icon > i,
.fh-landing .fh-topic-icon .fh-css-icon > i {
    position: absolute !important;
    left: 50%;
    top: 50%;
    width: 1em;
    height: 1em;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
    transform: translate(-50%, -50%);
}

.fh-landing .fh-css-icon > i::before {
    display: block;
}

.fh-landing .fh-css-icon i + i {
    position: absolute !important;
}

.fh-landing .fh-icon-shield i:first-child {
    font-size: 1.42em !important;
}

.fh-landing .fh-icon-shield i:last-child {
    color: #fff;
    font-size: .62em !important;
    left: 50%;
    margin-top: 1px;
    top: 53%;
    transform: translate(-50%, -50%);
}

.fh-landing .fh-icon-residents i:first-child,
.fh-landing .fh-icon-community i:first-child,
.fh-landing .fh-icon-language i:first-child,
.fh-landing .fh-icon-laws i:first-child,
.fh-landing .fh-icon-profiling i:first-child {
    font-size: 1.08em !important;
}

.fh-landing .fh-icon-residents i:last-child,
.fh-landing .fh-icon-community i:last-child,
.fh-landing .fh-icon-language i:last-child,
.fh-landing .fh-icon-laws i:last-child,
.fh-landing .fh-icon-profiling i:last-child {
    right: 4px;
    bottom: 3px;
    left: auto;
    top: auto;
    width: 15px;
    height: 15px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: currentColor;
    color: #fff;
    font-size: 7px !important;
    transform: none;
}

.fh-landing .fh-topic-icon .fh-icon-residents i:last-child,
.fh-landing .fh-topic-icon .fh-icon-community i:last-child,
.fh-landing .fh-topic-icon .fh-icon-language i:last-child,
.fh-landing .fh-topic-icon .fh-icon-laws i:last-child,
.fh-landing .fh-topic-icon .fh-icon-profiling i:last-child {
    right: 2px;
    bottom: 1px;
}

.fh-landing .fh-icon-discrimination i:first-child {
    font-size: 1.12em !important;
}

.fh-landing .fh-icon-discrimination i:last-child {
    font-size: .74em !important;
    color: #fff;
    left: 50%;
    top: 53%;
    transform: translate(-50%, -50%);
}

.fh-landing .fh-icon-documentation i:first-child {
    font-size: 1.14em !important;
}

.fh-landing .fh-icon-documentation i:last-child {
    left: 50%;
    top: 18px;
    font-size: .48em !important;
    color: #fff;
    transform: translateX(-50%);
}

.fh-landing .fh-mini-benefit strong {
    display: block;
    font-size: 10px;
    line-height: 1.2;
    text-transform: uppercase;
}

.fh-landing .fh-mini-benefit div > span {
    display: block;
    font-size: 8px;
    line-height: 1.25;
}

.fh-landing .fh-actions {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

.fh-landing .fh-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 24px;
    border-radius: 5px;
    border: 2px solid rgba(255, 255, 255, .85);
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-landing .fh-hero-cards {
    display: grid;
    gap: 28px;
}

.fh-landing .fh-hero-card {
    border: 1px solid rgba(95, 160, 236, .46);
    border-radius: 8px;
    background: rgba(4, 31, 70, .9);
    box-shadow: var(--fh-shadow);
    color: #fff;
    padding: 24px;
}

.fh-landing .fh-check-list {
    display: grid;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fh-landing .fh-check-list li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 700;
}

.fh-landing .fh-check-list i {
    color: #6db7ff;
}

.fh-landing .fh-logo-card {
    display: flex;
    align-items: center;
    gap: 18px;
    min-height: 118px;
}

.fh-landing .fh-logo-card .fh-brand-mark {
    width: 58px;
    height: 58px;
}

.fh-landing .fh-logo-card .fh-brand-copy {
    display: block;
    line-height: 1.12;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: 700;
}

.fh-landing .fh-matters {
    position: relative;
    z-index: 2;
    isolation: isolate;
    overflow: visible;
    background: linear-gradient(90deg, #f1f3f8 0%, #f1f3f8 66%, rgba(241, 243, 248, .94) 80%, rgba(241, 243, 248, .76) 100%);
    border-bottom: 1px solid var(--fh-line);
    box-shadow: 0 8px 22px rgba(6, 26, 55, .06);
}

.fh-landing .fh-matters .fh-shell {
    width: min(1200px, calc(100% - 48px));
}

.fh-landing .fh-matters::before {
    content: "";
    position: absolute;
    z-index: -1;
    right: 0;
    top: -52px;
    bottom: 0;
    width: min(36vw, 380px);
    background: url('../image/fair-housing/residential-building-cutout.png') right bottom / auto 205px no-repeat;
    opacity: .98;
    pointer-events: none;
    -webkit-mask-image:
        linear-gradient(180deg, transparent 0%, #000 12%, #000 86%, transparent 100%),
        linear-gradient(90deg, transparent 0%, #000 30%, #000 94%, transparent 100%);
    -webkit-mask-composite: destination-in;
    mask-image:
        linear-gradient(180deg, transparent 0%, #000 12%, #000 86%, transparent 100%),
        linear-gradient(90deg, transparent 0%, #000 30%, #000 94%, transparent 100%);
    mask-composite: intersect;
}

.fh-landing .fh-matters::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.fh-landing .fh-matter-row {
    display: grid;
    grid-template-columns: 190px repeat(4, minmax(0, 1fr)) 230px;
    gap: 0;
    align-items: center;
    min-height: 150px;
    padding: 18px 0 17px;
}

.fh-landing .fh-section-kicker {
    color: var(--fh-ink);
    font-size: 22px;
    line-height: 1.12;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
    padding-right: 22px;
}

.fh-landing .fh-matter-card {
    min-height: 114px;
    display: grid;
    align-content: center;
    justify-items: center;
    text-align: center;
    padding: 8px 16px;
    border-left: 1px solid var(--fh-line);
}

.fh-landing .fh-matter-card .fh-icon {
    width: 56px;
    height: 56px;
    color: #062f6d;
    background: #fff;
    border-color: #0e3a70;
}

.fh-landing .fh-matter-card .fh-icon i,
.fh-landing .fh-feature-strip .fh-icon i {
    font-size: 26px !important;
}

.fh-landing .fh-matter-card strong {
    display: block;
    margin-top: 8px;
    font-size: 10px;
    line-height: 1.15;
    text-transform: uppercase;
}

.fh-landing .fh-matter-card > span:not(.fh-icon) {
    display: block;
    font-size: 9px;
    line-height: 1.25;
    color: var(--fh-ink);
}

.fh-landing .fh-matter-spacer {
    min-height: 114px;
    pointer-events: none;
}

.fh-landing .fh-section {
    background: #fff;
    padding: 12px 0 0;
}

.fh-landing .fh-heading-line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 14px;
}

.fh-landing .fh-heading-line::before,
.fh-landing .fh-heading-line::after {
    content: "";
    width: 66px;
    height: 4px;
    background: linear-gradient(90deg, transparent, var(--fh-blue));
}

.fh-landing .fh-heading-line::after {
    background: linear-gradient(90deg, var(--fh-blue), transparent);
}

.fh-landing .fh-heading-line h2 {
    margin: 0;
    color: var(--fh-ink);
    font-size: 23px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-landing .fh-topic-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    border: 1px solid var(--fh-line);
    border-radius: 8px;
    overflow: hidden;
    background: var(--fh-panel);
}

.fh-landing .fh-topic {
    min-height: 112px;
    display: grid;
    align-content: center;
    justify-items: center;
    text-align: center;
    padding: 9px 8px;
    border-right: 1px solid var(--fh-line);
    border-bottom: 1px solid var(--fh-line);
}

.fh-landing .fh-topic:nth-child(8n) {
    border-right: 0;
}

.fh-landing .fh-topic:nth-last-child(-n + 8) {
    border-bottom: 0;
}

.fh-landing .fh-topic-icon {
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 0;
    color: #0b2b56;
    background: transparent;
    margin-bottom: 8px;
}

.fh-landing .fh-topic-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.fh-landing .fh-topic strong {
    display: block;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    color: #0b2b56;
}

.fh-landing .fh-more {
    text-align: center;
    margin: 14px 0 16px;
    color: #08468f;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-landing .fh-training {
    display: grid;
    grid-template-columns: 1fr 1.14fr;
    gap: 8px;
}

.fh-landing .fh-image-card,
.fh-landing .fh-why-card {
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--fh-line);
    box-shadow: 0 8px 26px rgba(6, 26, 55, .08);
}

.fh-landing .fh-image-card img {
    width: 100%;
    height: 100%;
    min-height: 282px;
    object-fit: cover;
    display: block;
}

.fh-landing .fh-why-card {
    position: relative;
    isolation: isolate;
    min-height: 282px;
    padding: 28px 245px 28px 34px;
    background: linear-gradient(90deg, #fff 0 40%, #e9eff7 100%);
}

.fh-landing .fh-why-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    width: 62%;
    background: url('../image/fair-housing/footer-buildings.jpg') right bottom / cover no-repeat;
    filter: grayscale(.88) brightness(1.32) contrast(.8);
    opacity: .38;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 55%);
    mask-image: linear-gradient(90deg, transparent 0%, #000 55%);
}

.fh-landing .fh-why-card h2 {
    margin: 0 0 18px;
    color: var(--fh-ink);
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-landing .fh-why-list {
    display: grid;
    gap: 14px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.fh-landing .fh-why-list li {
    display: grid;
    grid-template-columns: 25px 1fr;
    gap: 9px;
}

.fh-landing .fh-why-list i {
    color: #0b2d5c;
    font-size: 17px;
    margin-top: 2px;
}

.fh-landing .fh-why-list strong {
    display: block;
    font-size: 14px;
    color: var(--fh-ink);
}

.fh-landing .fh-why-list span {
    display: block;
    font-size: 12px;
    line-height: 1.3;
    color: var(--fh-ink);
}

.fh-landing .fh-big-shield {
    position: absolute;
    right: 38px;
    top: 38px;
    width: 175px;
    height: 205px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.fh-landing .fh-big-shield svg {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    filter: drop-shadow(0 12px 26px rgba(6, 26, 55, .22));
}

.fh-landing .fh-big-shield .fh-shield-outer,
.fh-landing .fh-big-shield .fh-shield-inner,
.fh-landing .fh-big-shield .fh-shield-check {
    vector-effect: non-scaling-stroke;
}

.fh-landing .fh-cta-band {
    position: relative;
    isolation: isolate;
    margin-top: 8px;
    border-radius: 8px;
    overflow: hidden;
    background:
        repeating-linear-gradient(115deg, transparent 0 88px, rgba(126, 176, 240, .05) 88px 90px),
        linear-gradient(90deg, #04122a 0%, #081d3f 52%, #0b2450 100%);
    color: #fff;
    box-shadow: 0 8px 20px rgba(6, 26, 55, .08);
}

.fh-landing .fh-cta-band::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    bottom: 0;
    width: 340px;
    background: url('../image/fair-housing/cta-skyline.svg') left bottom / auto 118% no-repeat;
    opacity: .5;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 55%, transparent 100%);
    mask-image: linear-gradient(90deg, #000 0%, #000 55%, transparent 100%);
}

.fh-landing .fh-cta-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr) 350px;
    gap: 20px;
    align-items: center;
    min-height: 132px;
    padding: 12px 34px;
}

.fh-landing .fh-certificate {
    width: 90px;
    height: 110px;
    margin: 0 auto;
    filter: drop-shadow(0 12px 22px rgba(0, 8, 22, .45));
}

.fh-landing .fh-certificate svg {
    display: block;
    width: 100%;
    height: 100%;
}

.fh-landing .fh-cta-band h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 25px;
    line-height: 1.1;
    font-weight: 700;
    text-transform: uppercase;
    /* max-width: 420px; */
}

.fh-landing .fh-cta-band p {
    margin: 0;
    color: #fff;
    font-size: 13px;
    line-height: 1.28;
}

.fh-landing .fh-cta-meta {
    display: flex;
    gap: 11px;
    justify-content: center;
    align-items: center;
    margin-top: 15px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-landing .fh-cta-meta span + span {
    position: relative;
    padding-left: 11px;
}

.fh-landing .fh-cta-meta span + span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 14px;
    background: rgba(255, 255, 255, .62);
    transform: translateY(-50%);
}

.fh-landing .fh-cta-meta i {
    margin-right: 5px;
    font-size: 11px;
    color: #9cc4f2;
}

.fh-landing .fh-cta-band .fh-btn-primary {
    min-width: 225px;
    min-height: 46px;
    font-size: 16px;
}

.fh-landing .fh-feature-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 8px 0;
    border-radius: 8px;
    overflow: hidden;
    background: #f4f6f9;
    border: 0;
}

.fh-landing .fh-feature-item {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 14px;
    align-items: center;
    min-height: 104px;
    padding: 18px 24px;
}

.fh-landing .fh-feature-strip .fh-icon {
    width: 58px;
    height: 58px;
    color: #062f6d;
    background: #fff;
    border-color: #0e3a70;
}

.fh-landing .fh-feature-strip .fh-icon svg {
    display: block;
    width: 32px;
    height: 32px;
    fill: currentColor;
}

.fh-landing .fh-feature-item strong {
    display: block;
    color: #08468f;
    font-size: 13px;
    text-transform: uppercase;
}

.fh-landing .fh-feature-item > span:not(.fh-icon),
.fh-landing .fh-feature-item > span:not(.fh-icon) span {
    display: block;
    color: var(--fh-ink);
    font-size: 12px;
    line-height: 1.3;
}

.fh-landing .fh-footer {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(90deg, #021126 0%, #041b3c 56%, #06274f 100%);
    color: #fff;
    padding: 28px 0 26px;
}

.fh-landing .fh-footer::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(58%, 760px);
    z-index: -2;
    background: url('../image/fair-housing/footer-buildings.jpg') right bottom / auto 100% no-repeat;
    filter: saturate(.58) hue-rotate(165deg) brightness(.56) contrast(1.18);
    opacity: .68;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .05) 10%, rgba(0, 0, 0, .32) 28%, rgba(0, 0, 0, .78) 52%, #000 74%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .05) 10%, rgba(0, 0, 0, .32) 28%, rgba(0, 0, 0, .78) 52%, #000 74%);
}

.fh-landing .fh-footer::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, #021126 0%, #021126 45%, rgba(2, 17, 38, .95) 57%, rgba(2, 17, 38, .72) 76%, rgba(2, 17, 38, .46) 100%),
        linear-gradient(0deg, rgba(2, 17, 38, .82), rgba(2, 17, 38, .18));
}

.fh-landing .fh-footer-grid {
    display: grid;
    grid-template-columns: 1.32fr .78fr .78fr 2.04fr;
    gap: 30px;
    align-items: start;
}

.fh-landing .fh-footer-grid > div {
    min-height: 112px;
    position: relative;
}

.fh-landing .fh-footer-grid > div + div {
    border-left: 1px solid rgba(136, 170, 216, .42);
    padding-left: 31px;
}

.fh-landing .fh-footer .fh-brand {
    min-width: 0;
    margin-bottom: 14px;
}

.fh-landing .fh-footer .fh-logo-lockup {
    gap: 10px;
}

.fh-landing .fh-footer .fh-logo-mark {
    width: 42px;
    height: 50px;
}

.fh-landing .fh-footer p,
.fh-landing .fh-footer a,
.fh-landing .fh-footer li {
    color: rgba(255, 255, 255, .94);
    font-size: 13px;
    line-height: 1.45;
}

.fh-landing .fh-footer p {
    max-width: 220px;
    margin: 0;
}

.fh-landing .fh-footer h3 {
    color: #fff;
    margin: 0 0 9px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-landing .fh-footer ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.fh-landing .fh-contact li {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 10px;
}

.fh-landing .fh-contact i {
    color: #5da8ef;
    min-width: 18px;
}

@media (max-width: 1100px) {
    .fh-landing .fh-nav-links {
        gap: 15px;
    }

    .fh-landing .fh-nav-links a {
        font-size: 12px;
    }

    .fh-landing .fh-matter-row {
        grid-template-columns: 175px repeat(4, minmax(0, 1fr)) 205px;
    }

    .fh-landing .fh-matters::before {
        width: 350px;
        background-size: auto 205px;
    }
}

@media (max-width: 900px) {
    .fh-landing .fh-nav-inner,
    .fh-landing .fh-nav-links,
    .fh-landing .fh-actions,
    .fh-landing .fh-cta-meta {
        flex-wrap: wrap;
    }

    .fh-landing .fh-nav-inner {
        padding: 16px 0;
    }

    .fh-landing .fh-nav-links {
        order: 3;
        width: 100%;
        justify-content: flex-start;
    }

    .fh-landing .fh-hero-grid,
    .fh-landing .fh-training,
    .fh-landing .fh-cta-inner,
    .fh-landing .fh-footer-grid {
        grid-template-columns: 1fr;
    }

    .fh-landing .fh-hero {
        background:
            linear-gradient(90deg, rgba(3, 17, 39, .98), rgba(5, 25, 55, .84)),
            url('../image/fair-housing/concierge-hero.png') center / cover no-repeat;
    }

    .fh-landing .fh-hero h1 {
        font-size: 44px;
    }

    .fh-landing .fh-eyebrow {
        font-size: 34px;
    }

    .fh-landing .fh-mini-benefits,
    .fh-landing .fh-feature-strip {
        grid-template-columns: 1fr 1fr;
    }

    .fh-landing .fh-topic-grid,
    .fh-landing .fh-matter-row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .fh-landing .fh-topic:nth-child(4n) {
        border-right: 0;
    }

    .fh-landing .fh-topic:nth-last-child(-n + 8) {
        border-bottom: 1px solid var(--fh-line);
    }

    .fh-landing .fh-topic:nth-last-child(-n + 4) {
        border-bottom: 0;
    }

    .fh-landing .fh-matters {
        overflow: hidden;
    }

    .fh-landing .fh-matters::before {
        top: 0;
        width: 220px;
        opacity: .34;
        background-size: auto 100%;
    }

    .fh-landing .fh-matter-spacer {
        display: none;
    }

    .fh-landing .fh-section-kicker {
        grid-column: 1 / -1;
    }

    .fh-landing .fh-matter-card {
        border-left: 0;
        border-top: 1px solid var(--fh-line);
    }

    .fh-landing .fh-why-card {
        padding-right: 34px;
    }

    .fh-landing .fh-big-shield {
        position: static;
        width: 110px;
        height: 130px;
        margin-top: 20px;
    }

    .fh-landing .fh-footer-grid > div {
        min-height: 0;
    }

    .fh-landing .fh-footer-grid > div + div {
        border-left: 0;
        border-top: 1px solid rgba(136, 170, 216, .36);
        padding-left: 0;
        padding-top: 20px;
    }
}

@media (max-width: 620px) {
    .fh-landing .fh-shell {
        width: min(100% - 24px, 1200px);
    }

    .fh-landing .fh-brand {
        min-width: 0;
    }

    .fh-landing .fh-nav-links {
        display: none;
    }

    .fh-landing .fh-hero h1 {
        font-size: 36px;
    }

    .fh-landing .fh-eyebrow {
        font-size: 28px;
    }

    .fh-landing .fh-hero-subtitle {
        font-size: 16px;
    }

    .fh-landing .fh-mini-benefits,
    .fh-landing .fh-topic-grid,
    .fh-landing .fh-feature-strip,
    .fh-landing .fh-matter-row {
        grid-template-columns: 1fr;
    }

    .fh-landing .fh-matters::before {
        width: 190px;
        opacity: .22;
    }

    .fh-landing .fh-topic,
    .fh-landing .fh-topic:nth-child(4n),
    .fh-landing .fh-topic:nth-child(8n),
    .fh-landing .fh-topic:nth-last-child(-n + 4) {
        border-right: 0;
        border-bottom: 1px solid var(--fh-line);
    }

    .fh-landing .fh-topic:last-child {
        border-bottom: 0;
    }

    .fh-landing .fh-cta-inner {
        padding: 22px;
    }

    .fh-landing .fh-cta-band h2 {
        font-size: 25px;
    }

}

.fh-landing .fh-nav-toggle {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.fh-landing .fh-nav-menu-btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-left: auto;
    border: 1px solid rgba(124, 186, 242, .42);
    border-radius: 5px;
    background: rgba(255, 255, 255, .07);
    color: #fff;
    cursor: pointer;
}

.fh-landing .fh-nav-menu-btn span,
.fh-landing .fh-nav-menu-btn span::before,
.fh-landing .fh-nav-menu-btn span::after {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform .18s ease, opacity .18s ease, background .18s ease;
}

.fh-landing .fh-nav-menu-btn span {
    position: relative;
}

.fh-landing .fh-nav-menu-btn span::before,
.fh-landing .fh-nav-menu-btn span::after {
    content: "";
    position: absolute;
    left: 0;
}

.fh-landing .fh-nav-menu-btn span::before {
    top: -7px;
}

.fh-landing .fh-nav-menu-btn span::after {
    top: 7px;
}

@media (max-width: 620px) {
    .fh-landing .fh-nav-inner {
        align-items: center;
    }

    .fh-landing .fh-nav-menu-btn {
        display: inline-flex;
        order: 2;
    }

    .fh-landing .fh-nav-cta {
        order: 3;
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
    }

    .fh-landing .fh-nav-links {
        display: none;
        order: 4;
        flex: 1 0 100%;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin-top: 4px;
        padding-top: 8px;
        border-top: 1px solid rgba(124, 186, 242, .24);
    }

    .fh-landing .fh-nav-links a {
        padding: 12px 4px;
        border-bottom: 1px solid rgba(124, 186, 242, .14);
        white-space: normal;
    }

    .fh-landing .fh-nav-toggle:checked ~ .fh-nav-links {
        display: flex;
    }

    .fh-landing .fh-nav-toggle:checked + .fh-nav-menu-btn span {
        background: transparent;
    }

    .fh-landing .fh-nav-toggle:checked + .fh-nav-menu-btn span::before {
        transform: translateY(7px) rotate(45deg);
    }

    .fh-landing .fh-nav-toggle:checked + .fh-nav-menu-btn span::after {
        transform: translateY(-7px) rotate(-45deg);
    }
}

/* Inner Fair Housing pages: About, Certification, Who It Is For, Course Topics, and Contact. */
.fh-about-page {
    --fh-navy: #061b3f;
    --fh-deep: #021126;
    --fh-blue: #0e5fb8;
    --fh-sky: #2b87e6;
    --fh-ink: #061b3f;
    --fh-muted: #456079;
    --fh-line: rgba(5, 43, 103, .18);
    --fh-soft: #f1f3f8;
    color: var(--fh-ink);
    background: #f7f9fc;
    font-family: 'Vend Sans', Arial, Helvetica, sans-serif;
}

.fh-about-page * {
    box-sizing: border-box;
}

.fh-about-page a {
    text-decoration: none;
}

.fh-about-page .fh-shell {
    width: min(1200px, calc(100% - 36px));
    margin: 0 auto;
}

.fh-about-page .fh-topnav {
    position: relative;
    z-index: 20;
    background: linear-gradient(120deg, #021126, #061e43 58%, #073066);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.fh-about-page .fh-nav-inner {
    min-height: 84px;
    display: flex;
    align-items: center;
    gap: 26px;
}

.fh-about-page .fh-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    font-weight: 700;
    line-height: 1.1;
    text-transform: uppercase;
    min-width: 245px;
}

.fh-about-page .fh-logo-lockup {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: #fff;
}

.fh-about-page .fh-logo-mark {
    width: 44px;
    height: 54px;
    display: block;
    flex: 0 0 auto;
    color: #fff;
}

.fh-about-page .fh-logo-svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.fh-about-page .fh-logo-svg .fh-logo-shield,
.fh-about-page .fh-logo-svg .fh-logo-house {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.fh-about-page .fh-logo-svg .fh-logo-shield {
    stroke-width: 3.2;
}

.fh-about-page .fh-logo-svg .fh-logo-house {
    stroke-width: 3;
}

.fh-about-page .fh-logo-type {
    display: block;
    color: #fff;
    font-size: 16px;
    line-height: 1.08;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.fh-about-page .fh-logo-type span {
    display: block;
}

.fh-about-page .fh-nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    flex: 1 1 auto;
}

.fh-about-page .fh-nav-links a {
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-about-page .fh-nav-links a[aria-current="page"] {
    color: #7cbaf2;
}

.fh-about-page .fh-nav-cta,
.fh-about-page .fh-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 25px;
    border-radius: 5px;
    border: 1px solid rgba(255, 255, 255, .15);
    background: linear-gradient(180deg, #2c8eea, #0d63bc);
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 12px 26px rgba(18, 104, 197, .28);
}

.fh-about-page .fh-nav-cta {
    min-width: 148px;
    font-size: 14px;
}

.fh-about-page .fh-about-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(2, 17, 38, .99) 0%, rgba(5, 32, 71, .96) 36%, rgba(5, 32, 71, .68) 61%, rgba(2, 17, 38, .18) 100%),
        url('../image/fair-housing/concierge-hero.png') center right / cover no-repeat;
}

.fh-about-page .fh-about-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, transparent 0 35%, rgba(47, 141, 237, .34) 35.2%, transparent 36%),
        linear-gradient(120deg, transparent 0 40%, rgba(255, 255, 255, .15) 40.2%, transparent 40.8%);
    pointer-events: none;
}

.fh-about-page .fh-about-hero-grid {
    position: relative;
    z-index: 1;
    min-height: 390px;
    display: grid;
    grid-template-columns: minmax(0, 610px) minmax(280px, 1fr);
    gap: 48px;
    align-items: center;
    padding: 58px 0 56px;
}

.fh-about-page .fh-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #7cbaf2;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .02em;
}

.fh-about-page .fh-kicker::before {
    content: "";
    width: 42px;
    height: 2px;
    background: currentColor;
}

.fh-about-page .fh-about-hero h1 {
    color: #fff;
    font-size: 58px;
    line-height: .98;
    font-weight: 700;
    text-transform: uppercase;
    margin: 18px 0 14px;
    max-width: 640px;
}

.fh-about-page .fh-about-hero h1 span {
    display: block;
    color: #2d8ef1;
}

.fh-about-page .fh-about-hero p {
    color: rgba(255, 255, 255, .92);
    font-size: 18px;
    line-height: 1.52;
    max-width: 540px;
    margin: 0;
}

.fh-about-page .fh-hero-badge {
    justify-self: end;
    width: min(100%, 330px);
    padding: 28px;
    border: 1px solid rgba(93, 168, 239, .45);
    border-radius: 8px;
    background: rgba(3, 22, 49, .76);
    backdrop-filter: blur(5px);
    color: #fff;
    box-shadow: 0 18px 38px rgba(0, 13, 34, .26);
}

.fh-about-page .fh-hero-badge svg {
    display: block;
    width: 74px;
    height: 74px;
    margin-bottom: 20px;
    color: #7cbaf2;
}

.fh-about-page .fh-hero-badge strong {
    display: block;
    font-size: 22px;
    line-height: 1.15;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.fh-about-page .fh-hero-badge span {
    display: block;
    color: rgba(255, 255, 255, .78);
    line-height: 1.45;
}

.fh-about-page .fh-about-main {
    background: #fff;
    padding: 46px 0 0;
}

.fh-about-page .fh-about-intro {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(310px, .92fr);
    gap: 48px;
    align-items: stretch;
    min-height: 420px;
    padding: 42px 44px;
    border: 1px solid rgba(5, 43, 103, .16);
    border-radius: 8px;
    background:
        linear-gradient(90deg, #fff 0 56%, rgba(255, 255, 255, .82) 73%, rgba(255, 255, 255, .62) 100%),
        url('../image/fair-housing/residential-building-cutout.png') right bottom / 45% auto no-repeat;
    box-shadow: 0 18px 48px rgba(6, 27, 63, .06);
}

.fh-about-page .fh-about-copy {
    position: relative;
    z-index: 1;
}

.fh-about-page .fh-section-label {
    color: #0e5fb8;
    font-size: 14px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.fh-about-page .fh-about-copy h2 {
    font-size: 36px;
    line-height: 1.08;
    margin: 0 0 22px;
    color: var(--fh-ink);
    text-transform: uppercase;
    max-width: 650px;
}

.fh-about-page .fh-about-copy p {
    max-width: 690px;
    margin: 0 0 18px;
    color: #17375f;
    font-size: 16px;
    line-height: 1.72;
}

.fh-about-page .fh-about-stats {
    position: relative;
    z-index: 1;
    align-self: center;
    display: grid;
    gap: 16px;
}

.fh-about-page .fh-stat-card {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    min-height: 86px;
    padding: 17px 18px;
    border: 1px solid rgba(14, 95, 184, .18);
    border-radius: 8px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 12px 28px rgba(6, 27, 63, .07);
}

.fh-about-page .fh-stat-icon,
.fh-about-page .fh-service-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border: 2px solid #0e3a70;
    border-radius: 50%;
    color: #062f6d;
    background: #fff;
}

.fh-about-page .fh-stat-icon svg,
.fh-about-page .fh-service-icon svg {
    display: block;
    width: 30px;
    height: 30px;
    fill: currentColor;
    transform-box: view-box;
    transform-origin: 50% 50%;
}

.fh-about-page .fh-icon-shield svg,
.fh-about-page .fh-icon-plus-shield svg {
    transform: translate(1px, 1px) scale(.94);
}

.fh-about-page .fh-icon-document svg {
    transform: translate(1px, 1px) scale(.95);
}

.fh-about-page .fh-icon-person svg {
    transform: translate(0, 2px) scale(.94);
}

.fh-about-page .fh-icon-team svg {
    transform: translate(0, 1px) scale(.92);
}

.fh-about-page .fh-icon-scale svg {
    transform: translate(0, 1px) scale(.94);
}

.fh-about-page .fh-icon-building svg {
    transform: translate(0, 1px) scale(.92);
}

.fh-about-page .fh-stat-card strong {
    display: block;
    color: var(--fh-ink);
    font-size: 14px;
    line-height: 1.18;
    text-transform: uppercase;
}

.fh-about-page .fh-stat-card > span:not(.fh-stat-icon),
.fh-about-page .fh-stat-card > span:not(.fh-stat-icon) span {
    display: block;
    color: #31516f;
    font-size: 13px;
    line-height: 1.35;
    margin-top: 2px;
}

.fh-about-page .fh-training-strip {
    margin-top: 38px;
    background: #f3f6fb;
    border-top: 1px solid rgba(5, 43, 103, .12);
    border-bottom: 1px solid rgba(5, 43, 103, .12);
}

.fh-about-page .fh-training-grid {
    display: grid;
    grid-template-columns: 260px repeat(4, minmax(0, 1fr));
    min-height: 150px;
}

.fh-about-page .fh-training-title {
    display: flex;
    align-items: center;
    padding: 25px 28px 25px 0;
    color: var(--fh-ink);
    font-size: 26px;
    line-height: 1.06;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-service-card {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    gap: 11px;
    padding: 24px 18px;
    border-left: 1px solid rgba(5, 43, 103, .18);
}

.fh-about-page .fh-service-card strong {
    display: block;
    max-width: 190px;
    color: var(--fh-ink);
    font-size: 13px;
    line-height: 1.18;
    text-transform: uppercase;
}

.fh-about-page .fh-service-card > span:not(.fh-service-icon) {
    display: block;
    max-width: 190px;
    color: #294866;
    font-size: 12px;
    line-height: 1.35;
}

.fh-about-page .fh-about-cta {
    padding: 38px 0 42px;
    background: #fff;
}

.fh-about-page .fh-about-cta-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 26px;
    align-items: center;
    min-height: 144px;
    padding: 28px 42px;
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(2, 17, 38, .98), rgba(4, 26, 58, .94)),
        url('../image/fair-housing/cta-skyline.svg') left bottom / auto 118% no-repeat;
    color: #fff;
}

.fh-about-page .fh-about-cta-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, transparent 0 68%, rgba(27, 123, 214, .24) 68.3%, transparent 69.1%);
    pointer-events: none;
}

.fh-about-page .fh-about-cta-card h2,
.fh-about-page .fh-about-cta-card p,
.fh-about-page .fh-about-cta-card a {
    position: relative;
    z-index: 1;
}

.fh-about-page .fh-about-cta-card h2 {
    margin: 0 0 8px;
    font-size: 30px;
    line-height: 1.1;
    text-transform: uppercase;
}

.fh-about-page .fh-about-cta-card p {
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: 15px;
}

.fh-about-page.fh-cert-page {
    background: #f6f8fc;
}

.fh-about-page .fh-cert-hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 18%, rgba(42, 135, 230, .28), transparent 34%),
        linear-gradient(112deg, #021126 0%, #061b3f 53%, #08315f 100%);
    color: #fff;
}

.fh-about-page .fh-cert-hero::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 72%;
    background: url('../image/fair-housing/cta-skyline.svg') left bottom / auto 100% no-repeat;
    opacity: .2;
    pointer-events: none;
}

.fh-about-page .fh-cert-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, transparent 0 55%, rgba(48, 141, 237, .2) 55.2%, transparent 56%),
        linear-gradient(120deg, transparent 0 62%, rgba(255, 255, 255, .1) 62.2%, transparent 62.8%);
    pointer-events: none;
}

.fh-about-page .fh-cert-hero-grid {
    position: relative;
    z-index: 1;
    min-height: 390px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 440px);
    gap: 64px;
    align-items: center;
    padding: 58px 0 56px;
}

.fh-about-page .fh-cert-hero h1 {
    margin: 16px 0 12px;
    color: #fff;
    font-size: 58px;
    line-height: .98;
    font-weight: 700;
    text-transform: uppercase;
    max-width: 630px;
}

.fh-about-page .fh-cert-hero h1 span {
    display: block;
    color: #2d8ef1;
}

.fh-about-page .fh-cert-hero p {
    max-width: 570px;
    margin: 0;
    color: rgba(255, 255, 255, .9);
    font-size: 18px;
    line-height: 1.56;
}

.fh-about-page .fh-cert-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 18px;
}

.fh-about-page .fh-cert-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;
    border: 1px solid rgba(124, 186, 242, .38);
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    color: rgba(255, 255, 255, .9);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-certificate-preview {
    justify-self: end;
    width: min(100%, 390px);
    padding: 12px;
    border: 1px solid rgba(124, 186, 242, .3);
    border-radius: 10px;
    background: rgba(2, 17, 38, .62);
    box-shadow: 0 24px 55px rgba(0, 9, 28, .34);
    backdrop-filter: blur(5px);
}

.fh-about-page .fh-certificate-paper {
    position: relative;
    min-height: 228px;
    padding: 18px 22px;
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(14, 95, 184, .08), transparent 36%),
        #f8fbff;
    color: var(--fh-ink);
    box-shadow: inset 0 0 0 1px rgba(6, 27, 63, .14);
}

.fh-about-page .fh-certificate-paper::before {
    content: "";
    position: absolute;
    inset: 13px;
    border: 1px solid rgba(14, 95, 184, .28);
    border-radius: 6px;
    pointer-events: none;
}

.fh-about-page .fh-cert-seal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 14px;
    border-radius: 50%;
    background: linear-gradient(180deg, #2c8eea, #0b4386);
    color: #fff;
    box-shadow: 0 10px 24px rgba(14, 95, 184, .25);
}

.fh-about-page .fh-cert-seal svg {
    width: 28px;
    height: 28px;
}

.fh-about-page .fh-certificate-paper h2 {
    position: relative;
    margin: 0 0 7px;
    color: var(--fh-ink);
    font-size: 22px;
    line-height: 1.08;
    text-transform: uppercase;
}

.fh-about-page .fh-certificate-paper p {
    position: relative;
    max-width: 285px;
    margin: 0;
    color: #3f5e7a;
    font-size: 12px;
    line-height: 1.34;
}

.fh-about-page .fh-cert-lines {
    position: relative;
    display: grid;
    gap: 5px;
    max-width: 210px;
    margin-top: 16px;
}

.fh-about-page .fh-cert-lines span {
    display: block;
    height: 4px;
    border-radius: 999px;
    background: #cbd7e6;
}

.fh-about-page .fh-cert-lines span:nth-child(2) {
    width: 78%;
}

.fh-about-page .fh-cert-lines span:nth-child(3) {
    width: 58%;
}

.fh-about-page .fh-cert-ribbon {
    position: absolute;
    right: 24px;
    bottom: 20px;
    width: 44px;
    height: 64px;
    color: #0b4386;
}

.fh-about-page .fh-cert-main {
    background: #fff;
    padding: 46px 0 0;
}

.fh-about-page .fh-cert-lifecycle {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid rgba(5, 43, 103, .16);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(6, 27, 63, .06);
    overflow: hidden;
}

.fh-about-page .fh-cert-step {
    min-height: 165px;
    padding: 28px;
    border-left: 1px solid rgba(5, 43, 103, .14);
}

.fh-about-page .fh-cert-step:first-child {
    border-left: 0;
}

.fh-about-page .fh-cert-step em {
    display: block;
    color: #0e5fb8;
    font-style: normal;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 14px;
}

.fh-about-page .fh-cert-step strong {
    display: block;
    color: var(--fh-ink);
    font-size: 19px;
    line-height: 1.18;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.fh-about-page .fh-cert-step span {
    display: block;
    color: #35536f;
    font-size: 14px;
    line-height: 1.48;
}

.fh-about-page .fh-cert-details {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 34px;
    align-items: stretch;
    margin-top: 34px;
}

.fh-about-page .fh-cert-copy-panel,
.fh-about-page .fh-renewal-panel {
    border: 1px solid rgba(5, 43, 103, .16);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(6, 27, 63, .06);
}

.fh-about-page .fh-cert-copy-panel {
    padding: 38px 42px;
    background:
        linear-gradient(90deg, #fff 0 64%, rgba(255, 255, 255, .86)),
        url('../image/fair-housing/residential-building-cutout.png') right bottom / 36% auto no-repeat;
}

.fh-about-page .fh-cert-copy-panel h2 {
    max-width: 650px;
    margin: 0 0 20px;
    color: var(--fh-ink);
    font-size: 35px;
    line-height: 1.08;
    text-transform: uppercase;
}

.fh-about-page .fh-cert-copy-panel p {
    max-width: 720px;
    margin: 0 0 16px;
    color: #17375f;
    font-size: 16px;
    line-height: 1.7;
}

.fh-about-page .fh-renewal-panel {
    padding: 30px;
    background: linear-gradient(180deg, #061b3f, #03152e);
    color: #fff;
}

.fh-about-page .fh-renewal-panel .fh-renewal-number {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 16px;
}

.fh-about-page .fh-renewal-number strong {
    color: #7cbaf2;
    font-size: 72px;
    line-height: .9;
}

.fh-about-page .fh-renewal-number span {
    color: rgba(255, 255, 255, .9);
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-renewal-panel h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 23px;
    line-height: 1.16;
    text-transform: uppercase;
}

.fh-about-page .fh-renewal-panel p {
    margin: 0;
    color: rgba(255, 255, 255, .78);
    line-height: 1.55;
}

.fh-about-page .fh-cert-proof-strip {
    margin-top: 38px;
    background: #f3f6fb;
    border-top: 1px solid rgba(5, 43, 103, .12);
    border-bottom: 1px solid rgba(5, 43, 103, .12);
}

.fh-about-page .fh-cert-proof-grid {
    display: grid;
    grid-template-columns: 270px repeat(4, minmax(0, 1fr));
    min-height: 150px;
}

.fh-about-page .fh-cert-proof-title {
    display: flex;
    align-items: center;
    padding-right: 28px;
    color: var(--fh-ink);
    font-size: 25px;
    line-height: 1.08;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-cert-proof-item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    gap: 10px;
    padding: 24px 18px;
    border-left: 1px solid rgba(5, 43, 103, .18);
}

.fh-about-page .fh-cert-proof-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border: 2px solid #0e3a70;
    border-radius: 50%;
    background: #fff;
    color: #062f6d;
}

.fh-about-page .fh-cert-proof-icon svg {
    display: block;
    width: 30px;
    height: 30px;
    fill: currentColor;
}

.fh-about-page .fh-cert-proof-item strong,
.fh-about-page .fh-cert-proof-item > span:not(.fh-cert-proof-icon) {
    display: block;
    max-width: 190px;
}

.fh-about-page .fh-cert-proof-item strong {
    color: var(--fh-ink);
    font-size: 13px;
    line-height: 1.18;
    text-transform: uppercase;
}

.fh-about-page .fh-cert-proof-item > span:not(.fh-cert-proof-icon) {
    color: #294866;
    font-size: 12px;
    line-height: 1.35;
}

.fh-about-page .fh-footer {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: linear-gradient(90deg, #021126 0%, #041b3c 56%, #06274f 100%);
    color: #fff;
    padding: 28px 0 26px;
}

.fh-about-page .fh-footer::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(58%, 760px);
    z-index: -2;
    background: url('../image/fair-housing/footer-buildings.jpg') right bottom / auto 100% no-repeat;
    filter: saturate(.58) hue-rotate(165deg) brightness(.56) contrast(1.18);
    opacity: .68;
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .05) 10%, rgba(0, 0, 0, .32) 28%, rgba(0, 0, 0, .78) 52%, #000 74%);
    mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .05) 10%, rgba(0, 0, 0, .32) 28%, rgba(0, 0, 0, .78) 52%, #000 74%);
}

.fh-about-page .fh-footer::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(90deg, #021126 0%, #021126 45%, rgba(2, 17, 38, .95) 57%, rgba(2, 17, 38, .72) 76%, rgba(2, 17, 38, .46) 100%),
        linear-gradient(0deg, rgba(2, 17, 38, .82), rgba(2, 17, 38, .18));
}

.fh-about-page .fh-footer-grid {
    display: grid;
    grid-template-columns: 1.32fr .78fr .78fr 2.04fr;
    gap: 30px;
    align-items: start;
}

.fh-about-page .fh-footer-grid > div {
    min-height: 112px;
    position: relative;
}

.fh-about-page .fh-footer-grid > div + div {
    border-left: 1px solid rgba(136, 170, 216, .42);
    padding-left: 31px;
}

.fh-about-page .fh-footer .fh-brand {
    min-width: 0;
    margin-bottom: 14px;
}

.fh-about-page .fh-footer .fh-logo-lockup {
    gap: 10px;
}

.fh-about-page .fh-footer .fh-logo-mark {
    width: 42px;
    height: 50px;
}

.fh-about-page .fh-footer .fh-logo-type {
    font-size: 15px;
}

.fh-about-page .fh-footer p,
.fh-about-page .fh-footer a,
.fh-about-page .fh-footer li {
    color: rgba(255, 255, 255, .94);
    font-size: 13px;
    line-height: 1.45;
}

.fh-about-page .fh-footer p {
    max-width: 220px;
    margin: 0;
}

.fh-about-page .fh-footer h3 {
    color: #fff;
    margin: 0 0 9px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-footer ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.fh-about-page .fh-contact li {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 10px;
}

.fh-about-page .fh-contact i {
    color: #5da8ef;
    min-width: 18px;
}

@media (max-width: 1050px) {
    .fh-about-page .fh-nav-links {
        gap: 15px;
    }

    .fh-about-page .fh-nav-links a {
        font-size: 12px;
    }

    .fh-about-page .fh-training-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fh-about-page .fh-training-title {
        grid-column: 1 / -1;
        padding-right: 0;
        justify-content: center;
        text-align: center;
    }

    .fh-about-page .fh-cert-hero-grid,
    .fh-about-page .fh-cert-details {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-certificate-preview {
        justify-self: start;
    }

    .fh-about-page .fh-cert-proof-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fh-about-page .fh-cert-proof-title {
        grid-column: 1 / -1;
        min-height: 112px;
        padding-right: 0;
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 900px) {
    .fh-about-page .fh-nav-inner,
    .fh-about-page .fh-nav-links {
        flex-wrap: wrap;
    }

    .fh-about-page .fh-nav-inner {
        padding: 16px 0;
    }

    .fh-about-page .fh-nav-links {
        order: 3;
        width: 100%;
        justify-content: flex-start;
    }

    .fh-about-page .fh-about-hero {
        background:
            linear-gradient(90deg, rgba(3, 17, 39, .98), rgba(5, 25, 55, .84)),
            url('../image/fair-housing/concierge-hero.png') center / cover no-repeat;
    }

    .fh-about-page .fh-about-hero-grid,
    .fh-about-page .fh-about-intro,
    .fh-about-page .fh-about-cta-card,
    .fh-about-page .fh-footer-grid {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-cert-lifecycle {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-cert-step,
    .fh-about-page .fh-cert-step:first-child {
        border-left: 0;
        border-top: 1px solid rgba(5, 43, 103, .14);
    }

    .fh-about-page .fh-cert-step:first-child {
        border-top: 0;
    }

    .fh-about-page .fh-hero-badge {
        justify-self: start;
    }

    .fh-about-page .fh-about-intro {
        background:
            linear-gradient(90deg, #fff 0 60%, rgba(255, 255, 255, .82)),
            url('../image/fair-housing/residential-building-cutout.png') right bottom / 65% auto no-repeat;
    }

    .fh-about-page .fh-footer-grid > div {
        min-height: 0;
    }

    .fh-about-page .fh-footer-grid > div + div {
        border-left: 0;
        border-top: 1px solid rgba(136, 170, 216, .36);
        padding-left: 0;
        padding-top: 20px;
    }
}

@media (max-width: 620px) {
    .fh-about-page .fh-shell {
        width: min(100% - 24px, 1200px);
    }

    .fh-about-page .fh-brand {
        min-width: 0;
    }

    .fh-about-page .fh-nav-links {
        display: none;
    }

    .fh-about-page .fh-about-hero h1 {
        font-size: 36px;
    }

    .fh-about-page .fh-cert-hero h1 {
        font-size: 38px;
    }

    .fh-about-page .fh-about-hero-grid {
        min-height: 0;
        padding: 42px 0;
    }

    .fh-about-page .fh-cert-hero-grid {
        min-height: 0;
        padding: 42px 0;
    }

    .fh-about-page .fh-about-intro {
        padding: 26px 20px 150px;
        background:
            linear-gradient(180deg, #fff 0 60%, rgba(255, 255, 255, .74)),
            url('../image/fair-housing/residential-building-cutout.png') right bottom / 92% auto no-repeat;
    }

    .fh-about-page .fh-about-copy h2,
    .fh-about-page .fh-about-cta-card h2,
    .fh-about-page .fh-cert-copy-panel h2 {
        font-size: 27px;
    }

    .fh-about-page .fh-training-grid {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-service-card {
        border-left: 0;
        border-top: 1px solid rgba(5, 43, 103, .18);
    }

    .fh-about-page .fh-about-cta-card {
        padding: 26px 22px;
    }

    .fh-about-page .fh-cert-copy-panel,
    .fh-about-page .fh-renewal-panel {
        padding: 26px 22px;
    }

    .fh-about-page .fh-cert-proof-grid {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-cert-proof-title {
        min-height: 0;
        padding: 28px 0;
    }

    .fh-about-page .fh-cert-proof-item {
        border-left: 0;
        border-top: 1px solid rgba(5, 43, 103, .18);
    }
}
.fh-about-page.fh-who-page .fh-who-hero-panel {
    justify-self: end;
    width: min(100%, 410px);
    padding: 22px;
    border: 1px solid rgba(124, 186, 242, .34);
    border-radius: 10px;
    background: rgba(2, 17, 38, .7);
    color: #fff;
    box-shadow: 0 24px 55px rgba(0, 9, 28, .32);
    backdrop-filter: blur(5px);
}

.fh-about-page .fh-who-hero-panel strong {
    display: block;
    margin-bottom: 16px;
    font-size: 22px;
    line-height: 1.12;
    text-transform: uppercase;
}

.fh-about-page .fh-who-hero-list {
    display: grid;
    gap: 10px;
}

.fh-about-page .fh-who-hero-list > span {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 10px;
    align-items: center;
    color: rgba(255, 255, 255, .88);
    font-size: 14px;
    line-height: 1.3;
}

.fh-about-page .fh-who-hero-list > span > span {
    display: block;
}

.fh-about-page .fh-who-hero-list i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #2d8ef1;
    color: #fff;
    font-size: 12px;
}

.fh-about-page .fh-who-main {
    background: #fff;
    padding: 46px 0 0;
}

.fh-about-page .fh-who-intro {
    display: grid;
    grid-template-columns: minmax(0, .96fr) minmax(360px, 1.04fr);
    gap: 34px;
    align-items: start;
}

.fh-about-page .fh-who-copy-panel {
    padding: 34px;
    border: 1px solid rgba(5, 43, 103, .16);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(14, 95, 184, .08), transparent 34%),
        #fff;
    box-shadow: 0 18px 42px rgba(6, 27, 63, .08);
}

.fh-about-page .fh-who-copy-panel h2 {
    margin: 10px 0 16px;
    color: var(--fh-ink);
    font-size: 34px;
    line-height: 1.08;
    text-transform: uppercase;
}

.fh-about-page .fh-who-copy-panel p {
    margin: 0;
    color: #294866;
    font-size: 16px;
    line-height: 1.64;
}

.fh-about-page .fh-who-copy-panel p + p {
    margin-top: 15px;
}

.fh-about-page .fh-who-audience-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.fh-about-page .fh-who-audience-card {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 13px;
    align-items: center;
    min-height: 82px;
    padding: 15px 16px;
    border: 1px solid rgba(5, 43, 103, .16);
    border-radius: 8px;
    background: #f7f9fc;
}

.fh-about-page .fh-who-audience-icon,
.fh-about-page .fh-who-fit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 2px solid #0e3a70;
    border-radius: 50%;
    background: #fff;
    color: #062f6d;
}

.fh-about-page .fh-who-audience-icon svg,
.fh-about-page .fh-who-fit-icon svg {
    display: block;
    width: 27px;
    height: 27px;
    fill: currentColor;
}

.fh-about-page .fh-who-audience-card strong {
    color: var(--fh-ink);
    font-size: 12px;
    line-height: 1.22;
    text-transform: uppercase;
}

.fh-about-page .fh-who-fit-strip {
    margin-top: 38px;
    background: #f1f3f8;
    border-top: 1px solid rgba(5, 43, 103, .16);
    border-bottom: 1px solid rgba(5, 43, 103, .16);
}

.fh-about-page .fh-who-fit-grid {
    display: grid;
    grid-template-columns: 1.15fr repeat(4, minmax(0, 1fr));
    gap: 0;
}

.fh-about-page .fh-who-fit-title {
    display: flex;
    align-items: center;
    padding: 24px 22px 24px 0;
    color: var(--fh-ink);
    font-size: 25px;
    line-height: 1.08;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-who-fit-item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    gap: 10px;
    padding: 24px 16px;
    border-left: 1px solid rgba(5, 43, 103, .18);
}

.fh-about-page .fh-who-fit-item strong {
    max-width: 170px;
    color: var(--fh-ink);
    font-size: 12px;
    line-height: 1.22;
    text-transform: uppercase;
}

.fh-about-page .fh-who-fit-item span {
    max-width: 185px;
    color: #294866;
    font-size: 12px;
    line-height: 1.35;
}

@media (max-width: 980px) {
    .fh-about-page .fh-who-intro,
    .fh-about-page .fh-who-fit-grid {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-who-fit-title,
    .fh-about-page .fh-who-fit-item {
        border-left: 0;
        border-top: 1px solid rgba(5, 43, 103, .16);
    }
}

@media (max-width: 640px) {
    .fh-about-page .fh-who-audience-grid {
        grid-template-columns: 1fr;
    }
}

.fh-about-page.fh-topic-page .fh-topic-hero-panel {
    justify-self: end;
    width: min(100%, 400px);
    padding: 22px;
    border: 1px solid rgba(124, 186, 242, .34);
    border-radius: 10px;
    background: rgba(2, 17, 38, .7);
    color: #fff;
    box-shadow: 0 24px 55px rgba(0, 9, 28, .32);
    backdrop-filter: blur(5px);
}

.fh-about-page .fh-topic-hero-panel strong {
    display: block;
    margin-bottom: 16px;
    font-size: 22px;
    line-height: 1.12;
    text-transform: uppercase;
}

.fh-about-page .fh-topic-hero-list {
    display: grid;
    gap: 10px;
}

.fh-about-page .fh-topic-hero-list span {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 10px;
    align-items: center;
    color: rgba(255, 255, 255, .88);
    font-size: 14px;
    line-height: 1.3;
}

.fh-about-page .fh-topic-hero-list i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #2d8ef1;
    color: #fff;
    font-size: 12px;
}

.fh-about-page .fh-topic-course-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 46px;
    margin-top: 20px;
    border: 1px solid rgba(124, 186, 242, .42);
    border-radius: 6px;
    background: linear-gradient(180deg, #2d93ee, #1474d0);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 14px 26px rgba(0, 28, 68, .22);
}

.fh-about-page .fh-topic-course-link:hover {
    color: #fff;
    transform: translateY(-1px);
}

.fh-about-page .fh-topic-main {
    background: #fff;
    padding: 46px 0 0;
}

.fh-about-page .fh-topic-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .42fr);
    gap: 28px;
    align-items: stretch;
    margin-bottom: 32px;
}

.fh-about-page .fh-topic-copy-panel,
.fh-about-page .fh-topic-count-panel {
    border: 1px solid rgba(5, 43, 103, .16);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(6, 27, 63, .08);
}

.fh-about-page .fh-topic-copy-panel {
    padding: 34px;
    background:
        linear-gradient(135deg, rgba(14, 95, 184, .08), transparent 34%),
        #fff;
}

.fh-about-page .fh-topic-copy-panel h2 {
    margin: 10px 0 16px;
    color: var(--fh-ink);
    font-size: 34px;
    line-height: 1.08;
    text-transform: uppercase;
}

.fh-about-page .fh-topic-copy-panel p {
    margin: 0;
    color: #294866;
    font-size: 16px;
    line-height: 1.64;
}

.fh-about-page .fh-topic-count-panel {
    display: grid;
    align-content: center;
    gap: 14px;
    padding: 30px;
    background: linear-gradient(145deg, #061b3f, #0a4388);
    color: #fff;
}

.fh-about-page .fh-topic-count-panel b {
    display: block;
    font-size: 64px;
    line-height: .9;
}

.fh-about-page .fh-topic-count-panel strong {
    display: block;
    font-size: 24px;
    line-height: 1.12;
    text-transform: uppercase;
}

.fh-about-page .fh-topic-count-panel span {
    color: rgba(255, 255, 255, .82);
    font-size: 14px;
    line-height: 1.45;
}

.fh-about-page .fh-topic-grid-wrap {
    background: #f1f3f8;
    border-top: 1px solid rgba(5, 43, 103, .16);
    border-bottom: 1px solid rgba(5, 43, 103, .16);
    padding: 36px 0;
}

.fh-about-page .fh-topic-grid-head {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: end;
    margin-bottom: 18px;
}

.fh-about-page .fh-topic-grid-head h2 {
    margin: 0;
    color: var(--fh-ink);
    font-size: 30px;
    line-height: 1.1;
    text-transform: uppercase;
}

.fh-about-page .fh-topic-grid-head p {
    max-width: 520px;
    margin: 0;
    color: #294866;
    font-size: 14px;
    line-height: 1.5;
}

.fh-about-page .fh-topic-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.fh-about-page .fh-topic-card {
    position: relative;
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 12px;
    align-items: center;
    min-height: 94px;
    padding: 16px;
    border: 1px solid rgba(5, 43, 103, .16);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(6, 27, 63, .06);
}

.fh-about-page .fh-topic-card em {
    position: absolute;
    top: 10px;
    right: 12px;
    color: rgba(6, 27, 63, .25);
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
}

.fh-about-page .fh-topic-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 2px solid #0e3a70;
    border-radius: 50%;
    background: #fff;
    color: #062f6d;
}

.fh-about-page .fh-topic-icon svg {
    display: block;
    width: 27px;
    height: 27px;
    fill: currentColor;
}

.fh-about-page .fh-topic-card strong {
    display: block;
    padding-right: 18px;
    color: var(--fh-ink);
    font-size: 12px;
    line-height: 1.24;
    text-transform: uppercase;
}

.fh-about-page .fh-topic-outcome {
    padding: 34px 0 0;
    background: #fff;
}

.fh-about-page .fh-topic-outcome-card {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 20px;
    align-items: center;
    padding: 24px 30px;
    border: 1px solid rgba(5, 43, 103, .16);
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .82)),
        url('../image/fair-housing/residential-building.png') right bottom / 46% auto no-repeat;
}

.fh-about-page .fh-topic-outcome-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border: 2px solid #0e3a70;
    border-radius: 50%;
    background: #fff;
    color: #062f6d;
}

.fh-about-page .fh-topic-outcome-icon svg {
    display: block;
    width: 36px;
    height: 36px;
    fill: currentColor;
}

.fh-about-page .fh-topic-outcome-card strong {
    display: block;
    color: var(--fh-ink);
    font-size: 22px;
    line-height: 1.15;
    text-transform: uppercase;
}

.fh-about-page .fh-topic-outcome-card div > span {
    display: block;
    max-width: 760px;
    margin-top: 6px;
    color: #294866;
    font-size: 15px;
    line-height: 1.5;
}

@media (max-width: 1080px) {
    .fh-about-page .fh-topic-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .fh-about-page .fh-topic-intro {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .fh-about-page .fh-topic-grid,
    .fh-about-page .fh-topic-grid-head,
    .fh-about-page .fh-topic-outcome-card {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-topic-grid-head {
        display: grid;
    }
}

.fh-about-page.fh-contact-page .fh-contact-hero-panel {
    justify-self: end;
    width: min(100%, 390px);
    padding: 22px;
    border: 1px solid rgba(124, 186, 242, .34);
    border-radius: 10px;
    background: rgba(2, 17, 38, .72);
    color: #fff;
    box-shadow: 0 24px 55px rgba(0, 9, 28, .32);
    backdrop-filter: blur(5px);
}

.fh-about-page .fh-contact-hero-panel strong {
    display: block;
    margin-bottom: 16px;
    font-size: 22px;
    line-height: 1.12;
    text-transform: uppercase;
}

.fh-about-page .fh-contact-hero-list {
    display: grid;
    gap: 10px;
}

.fh-about-page .fh-contact-hero-list a,
.fh-about-page .fh-contact-hero-list span {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 10px;
    align-items: center;
    color: rgba(255, 255, 255, .88);
    font-size: 14px;
    line-height: 1.3;
}

.fh-about-page .fh-contact-hero-list i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #2d8ef1;
    color: #fff;
    font-size: 12px;
}

.fh-about-page .fh-contact-main {
    background: #fff;
    padding: 46px 0 0;
}

.fh-about-page .fh-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr);
    gap: 30px;
    align-items: stretch;
}

.fh-about-page .fh-contact-copy-panel,
.fh-about-page .fh-contact-card {
    border: 1px solid rgba(5, 43, 103, .16);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(6, 27, 63, .08);
}

.fh-about-page .fh-contact-copy-panel {
    padding: 34px;
    background:
        linear-gradient(135deg, rgba(14, 95, 184, .08), transparent 34%),
        #fff;
}

.fh-about-page .fh-contact-copy-panel h2 {
    margin: 10px 0 16px;
    color: var(--fh-ink);
    font-size: 34px;
    line-height: 1.08;
    text-transform: uppercase;
}

.fh-about-page .fh-contact-copy-panel p {
    margin: 0;
    color: #294866;
    font-size: 16px;
    line-height: 1.64;
}

.fh-about-page .fh-contact-copy-panel p + p {
    margin-top: 15px;
}

.fh-about-page .fh-contact-card {
    position: relative;
    overflow: hidden;
    padding: 28px;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(255, 255, 255, .84)),
        url('../image/fair-housing/residential-building.png') right bottom / 52% auto no-repeat;
}

.fh-about-page .fh-contact-methods {
    display: grid;
    gap: 14px;
}

.fh-about-page .fh-contact-method {
    display: grid;
    grid-template-columns: 54px 1fr;
    gap: 15px;
    align-items: center;
    min-height: 82px;
    padding: 16px;
    border: 1px solid rgba(5, 43, 103, .16);
    border-radius: 8px;
    background: rgba(255, 255, 255, .86);
}

.fh-about-page .fh-contact-method-icon,
.fh-about-page .fh-contact-support-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 54px;
    height: 54px;
    border: 2px solid #0e3a70;
    border-radius: 50%;
    background: #fff;
    color: #062f6d;
}

.fh-about-page .fh-contact-method-icon svg,
.fh-about-page .fh-contact-support-icon svg {
    display: block;
    width: 30px;
    height: 30px;
    fill: currentColor;
}

.fh-about-page .fh-contact-method strong {
    display: block;
    color: var(--fh-ink);
    font-size: 13px;
    line-height: 1.2;
    text-transform: uppercase;
}

.fh-about-page .fh-contact-method a,
.fh-about-page .fh-contact-method div > span {
    display: block;
    margin-top: 4px;
    color: #294866;
    font-size: 15px;
    line-height: 1.35;
}

.fh-about-page .fh-contact-support-strip {
    margin-top: 38px;
    background: #f1f3f8;
    border-top: 1px solid rgba(5, 43, 103, .16);
    border-bottom: 1px solid rgba(5, 43, 103, .16);
}

.fh-about-page .fh-contact-support-grid {
    display: grid;
    grid-template-columns: 1.15fr repeat(3, minmax(0, 1fr));
    gap: 0;
}

.fh-about-page .fh-contact-support-title {
    display: flex;
    align-items: center;
    padding: 24px 22px 24px 0;
    color: var(--fh-ink);
    font-size: 25px;
    line-height: 1.08;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-contact-support-item {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    gap: 10px;
    padding: 24px 16px;
    border-left: 1px solid rgba(5, 43, 103, .18);
}

.fh-about-page .fh-contact-support-item strong {
    max-width: 170px;
    color: var(--fh-ink);
    font-size: 12px;
    line-height: 1.22;
    text-transform: uppercase;
}

.fh-about-page .fh-contact-support-item span {
    max-width: 185px;
    color: #294866;
    font-size: 12px;
    line-height: 1.35;
}

@media (max-width: 980px) {
    .fh-about-page .fh-contact-grid,
    .fh-about-page .fh-contact-support-grid {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-contact-support-title,
    .fh-about-page .fh-contact-support-item {
        border-left: 0;
        border-top: 1px solid rgba(5, 43, 103, .16);
    }
}

@media (max-width: 640px) {
    .fh-about-page .fh-contact-method {
        grid-template-columns: 1fr;
    }
}

.fh-about-page .fh-nav-toggle {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.fh-about-page .fh-nav-menu-btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-left: auto;
    border: 1px solid rgba(124, 186, 242, .42);
    border-radius: 5px;
    background: rgba(255, 255, 255, .07);
    color: #fff;
    cursor: pointer;
}

.fh-about-page .fh-nav-menu-btn span,
.fh-about-page .fh-nav-menu-btn span::before,
.fh-about-page .fh-nav-menu-btn span::after {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    transition: transform .18s ease, opacity .18s ease, background .18s ease;
}

.fh-about-page .fh-nav-menu-btn span {
    position: relative;
}

.fh-about-page .fh-nav-menu-btn span::before,
.fh-about-page .fh-nav-menu-btn span::after {
    content: "";
    position: absolute;
    left: 0;
}

.fh-about-page .fh-nav-menu-btn span::before {
    top: -7px;
}

.fh-about-page .fh-nav-menu-btn span::after {
    top: 7px;
}

@media (max-width: 620px) {
    .fh-about-page .fh-nav-inner {
        align-items: center;
    }

    .fh-about-page .fh-nav-menu-btn {
        display: inline-flex;
        order: 2;
    }

    .fh-about-page .fh-nav-cta {
        order: 3;
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
    }

    .fh-about-page .fh-nav-links {
        display: none;
        order: 4;
        flex: 1 0 100%;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin-top: 4px;
        padding-top: 8px;
        border-top: 1px solid rgba(124, 186, 242, .24);
    }

    .fh-about-page .fh-nav-links a {
        padding: 12px 4px;
        border-bottom: 1px solid rgba(124, 186, 242, .14);
        white-space: normal;
    }

    .fh-about-page .fh-nav-toggle:checked ~ .fh-nav-links {
        display: flex;
    }

    .fh-about-page .fh-nav-toggle:checked + .fh-nav-menu-btn span {
        background: transparent;
    }

    .fh-about-page .fh-nav-toggle:checked + .fh-nav-menu-btn span::before {
        transform: translateY(7px) rotate(45deg);
    }

    .fh-about-page .fh-nav-toggle:checked + .fh-nav-menu-btn span::after {
        transform: translateY(-7px) rotate(-45deg);
    }
}

.fh-about-page.fh-signup-page {
    background: #f5f7fb;
}

.fh-about-page .fh-signup-hero {
    position: relative;
    overflow: hidden;
    min-height: 680px;
    padding: 68px 0;
    background:
        linear-gradient(90deg, rgba(2, 17, 38, .97) 0%, rgba(6, 30, 67, .94) 43%, rgba(6, 30, 67, .56) 68%, rgba(6, 30, 67, .18) 100%),
        url('../image/fair-housing/concierge-hero.png') center right / cover no-repeat;
}

.fh-about-page .fh-signup-hero::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 170px;
    background: linear-gradient(180deg, rgba(245, 247, 251, 0), #f5f7fb 82%);
    pointer-events: none;
}

.fh-about-page .fh-signup-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 510px);
    gap: 58px;
    align-items: center;
}

.fh-about-page .fh-signup-copy {
    max-width: 610px;
    color: #fff;
}

.fh-about-page .fh-signup-copy h1 {
    margin: 20px 0 18px;
    color: #fff;
    font-size: clamp(42px, 5vw, 72px);
    font-weight: 700;
    line-height: .98;
    text-transform: uppercase;
}

.fh-about-page .fh-signup-copy h1 span {
    display: block;
    color: var(--fh-sky);
}

.fh-about-page .fh-signup-copy p {
    max-width: 560px;
    margin: 0;
    color: rgba(255, 255, 255, .88);
    font-size: 18px;
    line-height: 1.56;
}

.fh-about-page .fh-signup-points {
    display: grid;
    gap: 12px;
    margin-top: 30px;
}

.fh-about-page .fh-signup-points span {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    width: fit-content;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid rgba(124, 186, 242, .28);
    border-radius: 6px;
    background: rgba(3, 18, 41, .48);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
}

.fh-about-page .fh-signup-points i {
    color: #7fc3ff;
}

.fh-about-page .fh-signup-card {
    border: 1px solid rgba(124, 186, 242, .28);
    border-radius: 8px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 28px 70px rgba(0, 18, 45, .24);
    overflow: hidden;
}

.fh-about-page .fh-signup-card-head {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 18px;
    align-items: center;
    padding: 30px 32px 24px;
    border-bottom: 1px solid rgba(5, 43, 103, .13);
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .98), rgba(255, 255, 255, .84)),
        url('../image/fair-housing/residential-building-cutout.png') right bottom / 46% auto no-repeat;
}

.fh-about-page .fh-signup-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 999px;
    border: 2px solid var(--fh-blue);
    color: var(--fh-blue);
}

.fh-about-page .fh-signup-icon svg {
    width: 34px;
    height: 34px;
    fill: currentColor;
}

.fh-about-page .fh-signup-card h2 {
    margin: 0 0 7px;
    color: var(--fh-ink);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.12;
    text-transform: uppercase;
}

.fh-about-page .fh-signup-card-head p {
    margin: 0;
    color: #456079;
    font-size: 14px;
    line-height: 1.45;
}

.fh-about-page .fh-signup-form {
    display: grid;
    gap: 18px;
    padding: 28px 32px 24px;
}

.fh-about-page .fh-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 16px;
}

.fh-about-page .fh-form-field {
    display: grid;
    gap: 8px;
    margin: 0;
    color: var(--fh-ink);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: uppercase;
}

.fh-about-page .fh-form-field small {
    color: #637c95;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;
    text-transform: none;
}

.fh-about-page .fh-form-field em {
    color: #5c7895;
    font-size: 11px;
    font-style: normal;
    font-weight: 600;
    text-transform: none;
}

.fh-about-page .fh-input-wrap {
    position: relative;
    display: block;
}

.fh-about-page .fh-input-wrap > i {
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    color: var(--fh-blue);
    font-size: 15px;
    z-index: 1;
}

.fh-about-page .fh-input-wrap input,
.fh-about-page .fh-form-field textarea {
    width: 100%;
    min-height: 50px;
    border: 1px solid rgba(5, 43, 103, .18);
    border-radius: 6px;
    background: #fff;
    color: var(--fh-ink);
    font: inherit;
    font-weight: 400;
    text-transform: none;
    outline: 0;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.fh-about-page .fh-input-wrap input {
    padding: 0 46px 0 44px;
}

.fh-about-page .fh-form-field textarea {
    min-height: 116px;
    padding: 14px 16px;
    resize: vertical;
}

.fh-about-page .fh-input-wrap input:focus,
.fh-about-page .fh-form-field textarea:focus {
    border-color: rgba(14, 95, 184, .66);
    box-shadow: 0 0 0 4px rgba(43, 135, 230, .12);
}

.fh-about-page .fh-file-wrap input {
    min-height: auto;
    padding: 13px 14px;
}

.fh-about-page .fh-password-toggle {
    position: absolute;
    top: 50%;
    right: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    transform: translateY(-50%);
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: var(--fh-blue);
    cursor: pointer;
}

.fh-about-page .fh-password-toggle i {
    font-size: 15px;
}

.fh-about-page .fh-checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 2px 0 0;
    color: #17395d;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

.fh-about-page .fh-checkbox-row input {
    width: 18px;
    height: 18px;
    margin-top: 1px;
    accent-color: var(--fh-blue);
}

.fh-about-page .fh-form-meta {
    display: flex;
    justify-content: flex-end;
    margin-top: -6px;
    font-size: 13px;
    line-height: 1.35;
}

.fh-about-page .fh-form-meta a {
    color: #456079;
    font-weight: 700;
}

.fh-about-page .fh-form-meta a:hover {
    color: var(--fh-blue);
}

.fh-about-page .fh-code-input {
    letter-spacing: .08em;
}

.fh-about-page .fh-resend-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    margin-top: -6px;
    color: #456079;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.fh-about-page .fh-resend-link:hover {
    color: var(--fh-blue);
}

.fh-about-page .fh-resend-link #resend_mail_loader {
    display: inline-flex;
    align-items: center;
    min-width: 20px;
    min-height: 20px;
}

.fh-about-page.fh-member-page {
    min-height: 100vh;
    background: #f3f6fb;
}

.fh-about-page .fh-member-topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    border-bottom: 1px solid rgba(124, 186, 242, .22);
    background: #021126;
    box-shadow: 0 14px 35px rgba(2, 17, 38, .18);
}

.fh-about-page .fh-member-topbar-inner {
    display: flex;
    align-items: center;
    gap: 22px;
    min-height: 74px;
}

.fh-about-page .fh-member-topbar .fh-brand {
    flex: 0 0 auto;
}

.fh-about-page .fh-member-topnav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 1 1 auto;
}

.fh-about-page .fh-member-topnav a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 13px;
    border-radius: 5px;
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-member-topnav a:hover,
.fh-about-page .fh-member-topnav a[aria-current="page"] {
    background: rgba(93, 168, 239, .14);
    color: #fff;
}

.fh-about-page .fh-member-cart-count {
    position: absolute;
    top: -5px;
    right: -5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    border-radius: 999px;
    background: #2c8eea;
    color: #fff;
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
}

.fh-about-page .fh-member-account {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.fh-about-page .fh-member-account-link {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 0 10px 0 6px;
    border: 1px solid rgba(124, 186, 242, .25);
    border-radius: 999px;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.fh-about-page .fh-member-account-link img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
}

.fh-about-page .fh-member-cart-link,
.fh-about-page .fh-member-logout-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(124, 186, 242, .25);
    border-radius: 50%;
    color: #7cbaf2;
}

.fh-about-page .fh-member-cart-link:hover,
.fh-about-page .fh-member-cart-link[aria-current="page"],
.fh-about-page .fh-member-logout-link:hover {
    border-color: rgba(124, 186, 242, .5);
    background: rgba(93, 168, 239, .12);
    color: #fff;
}

.fh-about-page .fh-member-footer {
    border-top: 1px solid #ccd8e8;
    background: #fff;
}

.fh-about-page .fh-member-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 72px;
}

.fh-about-page .fh-member-footer p {
    margin: 0;
    color: #526781;
    font-size: 13px;
}

.fh-about-page .fh-member-footer nav {
    display: flex;
    align-items: center;
    gap: 18px;
}

.fh-about-page .fh-member-footer a {
    color: #0b2b5a;
    font-size: 13px;
    font-weight: 700;
}

.fh-about-page .fh-member-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(2, 17, 38, .98), rgba(5, 32, 71, .92) 50%, rgba(5, 32, 71, .72)),
        url('../image/fair-housing/concierge-hero.png') center right / cover no-repeat;
    color: #fff;
}

.fh-about-page .fh-member-hero .fh-shell {
    padding: 54px 0 46px;
}

.fh-about-page .fh-member-hero span,
.fh-about-page .fh-member-panel-head span {
    display: inline-block;
    color: #5da8ef;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0;
}

.fh-about-page .fh-member-hero h1 {
    margin: 12px 0 10px;
    color: #fff;
    font-size: 44px;
    line-height: 1.05;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-member-hero p {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, .88);
    font-size: 18px;
    line-height: 1.55;
}

.fh-about-page .fh-member-section {
    padding: 36px 0 52px;
}

.fh-about-page .fh-member-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.fh-about-page .fh-member-sidebar {
    position: sticky;
    top: 18px;
    display: grid;
    gap: 14px;
}

.fh-about-page .fh-member-card,
.fh-about-page .fh-member-panel,
.fh-about-page .fh-invoice {
    border: 1px solid #ccd8e8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(9, 31, 63, .08);
}

.fh-about-page .fh-member-profile-card {
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 18px;
}

.fh-about-page .fh-member-profile-card img {
    width: 66px;
    height: 66px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #d8e9ff;
}

.fh-about-page .fh-member-profile-card span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 22px;
    margin-bottom: 6px;
    border-radius: 3px;
    background: #e7f2ff;
    color: #075cae;
    font-size: 11px;
    font-weight: 700;
}

.fh-about-page .fh-member-profile-card h2 {
    margin: 0;
    color: #001f4c;
    font-size: 17px;
    line-height: 1.15;
    font-weight: 700;
}

.fh-about-page .fh-member-profile-card p {
    margin: 4px 0 0;
    color: #526781;
    font-size: 13px;
    line-height: 1.35;
    word-break: break-word;
}

.fh-about-page .fh-member-menu {
    display: grid;
    gap: 6px;
    padding: 10px;
    border: 1px solid #ccd8e8;
    border-radius: 8px;
    background: #fff;
}

.fh-about-page .fh-member-menu a,
.fh-about-page .fh-member-logout {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 44px;
    padding: 0 12px;
    border-radius: 6px;
    color: #0b2b5a;
    font-size: 14px;
    font-weight: 700;
}

.fh-about-page .fh-member-menu a i,
.fh-about-page .fh-member-logout i {
    width: 20px;
    color: #0d72d7;
    text-align: center;
}

.fh-about-page .fh-member-menu a strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    margin-left: auto;
    border-radius: 50%;
    background: #0d72d7;
    color: #fff;
    font-size: 12px;
}

.fh-about-page .fh-member-menu a:hover,
.fh-about-page .fh-member-menu a.active {
    background: linear-gradient(180deg, #0b3c78, #06264e);
    color: #fff;
}

.fh-about-page .fh-member-menu a:hover i,
.fh-about-page .fh-member-menu a.active i {
    color: #7cbaf2;
}

.fh-about-page .fh-member-logout {
    border: 1px solid #ccd8e8;
    background: #fff;
}

.fh-about-page .fh-member-content {
    display: grid;
    gap: 20px;
}

.fh-about-page .fh-member-voucher-banner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border: 1px solid #9ecbff;
    border-radius: 8px;
    background: linear-gradient(90deg, #eef7ff 0%, #fff 100%);
    box-shadow: 0 14px 34px rgba(0, 31, 76, .08);
}

.fh-about-page .fh-member-voucher-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #0d72d7;
    color: #fff;
    font-size: 18px;
}

.fh-about-page .fh-member-voucher-banner span {
    display: block;
    color: #001f4c;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-about-page .fh-member-voucher-banner p {
    margin: 4px 0 0;
    color: #395775;
    font-size: 14px;
    line-height: 1.45;
}

.fh-about-page .fh-member-voucher-banner strong {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #bdd7f5;
    border-radius: 5px;
    background: #fff;
    color: #0b2b5a;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.fh-about-page .fh-member-voucher-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.fh-about-page .fh-member-voucher-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 13px;
    border-radius: 5px;
    background: linear-gradient(180deg, #2c8eea, #0d63bc);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-about-page .fh-member-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

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

.fh-about-page .fh-member-stat {
    padding: 18px;
    border: 1px solid #ccd8e8;
    border-radius: 8px;
    background: #fff;
}

.fh-about-page .fh-member-stat span {
    display: block;
    color: #001f4c;
    font-size: 34px;
    line-height: 1;
    font-weight: 700;
}

.fh-about-page .fh-member-stat p {
    margin: 8px 0 0;
    color: #526781;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-member-panel {
    padding: 22px;
}

.fh-about-page .fh-member-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #dde6f2;
}

.fh-about-page .fh-member-panel-head h2 {
    margin: 7px 0 0;
    color: #001f4c;
    font-size: 24px;
    line-height: 1.15;
    font-weight: 700;
}

.fh-about-page .fh-course-list {
    display: grid;
    gap: 16px;
}

.fh-about-page .fh-course-card {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 18px;
    padding: 14px;
    border: 1px solid #d7e2ef;
    border-radius: 8px;
    background: #fbfdff;
}

.fh-about-page .fh-course-thumb,
.fh-about-page .fh-wishlist-thumb {
    display: block;
    overflow: hidden;
    background: #dce8f5;
}

.fh-about-page .fh-course-thumb {
    border-radius: 6px;
}

.fh-about-page .fh-course-thumb img,
.fh-about-page .fh-wishlist-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fh-about-page .fh-course-info {
    display: grid;
    gap: 13px;
}

.fh-about-page .fh-course-title-row {
    display: flex;
    justify-content: space-between;
    gap: 14px;
}

.fh-about-page .fh-course-title-row span {
    display: block;
    color: #526781;
    font-size: 13px;
    font-weight: 700;
}

.fh-about-page .fh-course-title-row h3,
.fh-about-page .fh-wishlist-card h3 {
    margin: 4px 0 0;
    color: #001f4c;
    font-size: 21px;
    line-height: 1.2;
    font-weight: 700;
}

.fh-about-page .fh-course-title-row > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #e7f2ff;
    color: #075cae;
}

.fh-about-page .fh-course-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.fh-about-page .fh-course-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    padding: 0 10px;
    border-radius: 4px;
    background: #eef4fb;
    color: #123967;
    font-size: 13px;
    font-weight: 700;
}

.fh-about-page .fh-course-meta i {
    color: #0d72d7;
}

.fh-about-page .fh-course-progress {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
}

.fh-about-page .fh-course-progress div {
    overflow: hidden;
    height: 9px;
    border-radius: 99px;
    background: #dce7f4;
}

.fh-about-page .fh-course-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #0d72d7, #49a4f5);
}

.fh-about-page .fh-course-progress strong {
    color: #001f4c;
    font-size: 13px;
}

.fh-about-page .fh-course-footer,
.fh-about-page .fh-wishlist-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.fh-about-page .fh-course-footer p {
    margin: 0;
    color: #526781;
    font-size: 13px;
}

.fh-about-page .fh-course-footer strong {
    color: #0b2b5a;
}

.fh-about-page .fh-member-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid #0d72d7;
    border-radius: 5px;
    background: linear-gradient(180deg, #2c8eea, #0d63bc);
    color: #fff;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-about-page .fh-member-btn.secondary {
    border-color: #b8c8db;
    background: #fff;
    color: #0b2b5a;
    box-shadow: none;
}

.fh-about-page .fh-member-btn.danger {
    border-color: #c83232;
    background: #c83232;
    color: #fff;
}

.fh-about-page .fh-member-btn.compact {
    min-height: 34px;
    padding: 0 13px;
    font-size: 12px;
}

.fh-about-page .fh-member-btn.disabled,
.fh-about-page .fh-member-btn[aria-disabled="true"] {
    cursor: not-allowed;
    border-color: #c5cfdd;
    background: #eef2f7;
    color: #526781;
    box-shadow: none;
    pointer-events: none;
}

.fh-about-page .fh-member-empty {
    display: grid;
    justify-items: center;
    padding: 42px 20px;
    text-align: center;
}

.fh-about-page .fh-member-empty i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 16px;
    border-radius: 50%;
    border: 2px solid #0d72d7;
    color: #0b2b5a;
    font-size: 26px;
}

.fh-about-page .fh-member-empty h3 {
    margin: 0;
    color: #001f4c;
    font-size: 22px;
    font-weight: 700;
}

.fh-about-page .fh-member-empty p {
    max-width: 430px;
    margin: 8px 0 18px;
    color: #526781;
}

.fh-about-page .fh-profile-photo-row {
    display: flex;
    align-items: center;
    gap: 18px;
}

.fh-about-page .fh-profile-photo-row img {
    width: 84px;
    height: 84px;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #d8e9ff;
}

.fh-about-page .fh-profile-photo-row h3 {
    margin: 0;
    color: #001f4c;
    font-size: 22px;
    font-weight: 700;
}

.fh-about-page .fh-profile-photo-row p {
    margin: 6px 0 0;
    color: #526781;
}

.fh-about-page .fh-photo-form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: auto;
}

.fh-about-page .fh-member-form {
    display: grid;
    gap: 18px;
}

.fh-about-page .fh-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.fh-about-page .fh-form-grid.single {
    grid-template-columns: 1fr;
}

.fh-about-page .fh-form-field-wide {
    grid-column: 1 / -1;
}

.fh-about-page .fh-member-form label {
    display: grid;
    align-content: start;
    gap: 8px;
    margin: 0;
}

.fh-about-page .fh-member-form label > span {
    color: #0b2b5a;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-member-form .fh-field-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.fh-about-page .fh-member-form .fh-field-label-row > span {
    color: #0b2b5a;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-applicant-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-about-page .fh-applicant-status.verified {
    border: 1px solid #7ec7a0;
    background: #eaf8f0;
    color: #136a38;
}

.fh-about-page .fh-applicant-status.accepted {
    border: 1px solid #9ecbff;
    background: #eef7ff;
    color: #075aa8;
}

.fh-about-page .fh-applicant-status.missing {
    border: 1px solid #d1dbe8;
    background: #f4f7fb;
    color: #526781;
}

.fh-about-page.fh-cart-page {
    background: #f3f7fc;
}

.fh-about-page .fh-cart-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(2, 17, 38, .98), rgba(5, 32, 71, .92) 50%, rgba(5, 32, 71, .72)),
        url('../image/fair-housing/concierge-hero.png') center right / cover no-repeat;
    color: #fff;
}

.fh-about-page .fh-cart-hero .fh-shell {
    padding: 54px 0 46px;
}

.fh-about-page .fh-cart-hero span {
    display: inline-block;
    color: #5da8ef;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-cart-hero h1 {
    margin: 12px 0 10px;
    color: #fff;
    font-size: 44px;
    line-height: 1.05;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-cart-hero p {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, .88);
    font-size: 18px;
    line-height: 1.55;
}

.fh-about-page .fh-cart-section {
    padding: 34px 0 64px;
}

.fh-about-page .fh-cart-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 22px;
    align-items: start;
}

.fh-about-page .fh-cart-panel {
    border: 1px solid #c9d7e8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(0, 31, 76, .08);
}

.fh-about-page .fh-cart-main .fh-cart-panel {
    padding: 22px;
}

.fh-about-page .fh-cart-summary .fh-cart-panel {
    position: sticky;
    top: 18px;
    padding: 20px;
}

.fh-about-page .fh-cart-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #dde7f3;
}

.fh-about-page .fh-cart-panel-head.compact {
    margin-bottom: 16px;
}

.fh-about-page .fh-cart-panel-head span {
    color: #0d72d7;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-about-page .fh-cart-panel-head h2 {
    margin: 6px 0 0;
    color: #001f4c;
    font-size: 24px;
    line-height: 1.15;
    font-weight: 700;
}

.fh-about-page .fh-cart-panel-head > strong {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border-radius: 999px;
    background: #eef6ff;
    color: #0b2b5a;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.fh-about-page .fh-cart-list {
    display: grid;
    gap: 14px;
}

.fh-about-page .fh-cart-item {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) auto auto;
    gap: 16px;
    align-items: center;
    padding: 14px;
    border: 1px solid #d7e3f1;
    border-radius: 8px;
    background: #fbfdff;
}

.fh-about-page .fh-cart-thumb {
    overflow: hidden;
    display: block;
    aspect-ratio: 16 / 10;
    border-radius: 6px;
    background: #e4edf7;
}

.fh-about-page .fh-cart-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fh-about-page .fh-cart-item-body span {
    color: #0d72d7;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-about-page .fh-cart-item-body h3 {
    margin: 5px 0 7px;
    color: #001f4c;
    font-size: 22px;
    line-height: 1.18;
    font-weight: 700;
}

.fh-about-page .fh-cart-item-body p {
    margin: 0;
    color: #526781;
    font-size: 14px;
    line-height: 1.45;
}

.fh-about-page .fh-cart-price {
    display: grid;
    gap: 3px;
    justify-items: end;
    color: #001f4c;
}

.fh-about-page .fh-cart-price strong {
    font-size: 20px;
    font-weight: 800;
}

.fh-about-page .fh-cart-price small {
    color: #6a7e96;
    font-size: 12px;
}

.fh-about-page .fh-cart-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid #d3e0ee;
    border-radius: 5px;
    background: #fff;
    color: #8b2430;
}

.fh-about-page .fh-cart-empty {
    display: grid;
    justify-items: center;
    padding: 52px 20px;
    text-align: center;
}

.fh-about-page .fh-cart-empty i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    margin-bottom: 16px;
    border: 2px solid #0d72d7;
    border-radius: 50%;
    color: #0b2b5a;
    font-size: 27px;
}

.fh-about-page .fh-cart-empty h3 {
    margin: 0;
    color: #001f4c;
    font-size: 24px;
    font-weight: 700;
}

.fh-about-page .fh-cart-empty p {
    margin: 8px 0 18px;
    color: #526781;
}

.fh-about-page .fh-cart-voucher {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-bottom: 14px;
    padding: 14px;
    border-radius: 8px;
}

.fh-about-page .fh-cart-voucher.ready {
    border: 1px solid #94c7ff;
    background: #eef7ff;
}

.fh-about-page .fh-cart-voucher.used {
    border: 1px solid #b8d6c4;
    background: #f0faf4;
}

.fh-about-page .fh-cart-voucher.muted {
    border: 1px solid #d4dfeb;
    background: #f6f9fd;
}

.fh-about-page .fh-cart-voucher i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #0d72d7;
    color: #fff;
}

.fh-about-page .fh-cart-voucher.used i {
    background: #16864a;
}

.fh-about-page .fh-cart-voucher.muted i {
    background: #7c8da3;
}

.fh-about-page .fh-cart-voucher strong {
    display: block;
    color: #001f4c;
    font-size: 14px;
    font-weight: 800;
}

.fh-about-page .fh-cart-voucher p {
    margin: 4px 0 0;
    color: #526781;
    font-size: 13px;
    line-height: 1.4;
}

.fh-about-page .fh-cart-alert {
    margin-bottom: 14px;
    padding: 11px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}

.fh-about-page .fh-cart-alert.success {
    border: 1px solid #9dd8b5;
    background: #effaf4;
    color: #166537;
}

.fh-about-page .fh-cart-alert.danger {
    border: 1px solid #efb4b4;
    background: #fff2f2;
    color: #8b2430;
}

.fh-about-page .fh-cart-lines {
    display: grid;
    gap: 0;
    margin: 16px 0;
    border-top: 1px solid #dde7f3;
    border-bottom: 1px solid #dde7f3;
}

.fh-about-page .fh-cart-lines > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px solid #eef3f8;
}

.fh-about-page .fh-cart-lines > div:last-child {
    border-bottom: 0;
}

.fh-about-page .fh-cart-lines span {
    color: #526781;
    font-size: 14px;
    font-weight: 700;
}

.fh-about-page .fh-cart-lines small {
    color: #7c8da3;
    font-weight: 500;
}

.fh-about-page .fh-cart-lines strong {
    color: #001f4c;
    font-size: 15px;
    font-weight: 800;
}

.fh-about-page .fh-cart-lines .total strong {
    font-size: 25px;
}

.fh-about-page .fh-cart-coupon-form {
    display: grid;
    gap: 8px;
    margin-bottom: 14px;
}

.fh-about-page .fh-cart-coupon-form label {
    margin: 0;
    color: #0b2b5a;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-about-page .fh-cart-coupon-form > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.fh-about-page .fh-cart-coupon-form input,
.fh-about-page .fh-cart-payment-form input[type="email"] {
    width: 100%;
    height: 42px;
    border: 1px solid #bfcee0;
    border-radius: 5px;
    background: #fff;
    color: #001f4c;
    padding: 0 12px;
}

.fh-about-page .fh-cart-coupon-form button,
.fh-about-page .fh-cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid #0d72d7;
    border-radius: 5px;
    background: linear-gradient(180deg, #2c8eea, #0d63bc);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-about-page .fh-cart-btn.full {
    width: 100%;
}

.fh-about-page .fh-cart-btn[disabled] {
    cursor: not-allowed;
    border-color: #c7d3e2;
    background: #e8eef6;
    color: #75869a;
}

.fh-about-page .fh-cart-payment-form {
    display: grid;
    gap: 12px;
}

.fh-about-page .fh-cart-gift-row {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    color: #526781;
    font-size: 14px;
    font-weight: 700;
}

.fh-about-page .fh-cart-gift-row input {
    width: 16px;
    height: 16px;
}

.fh-about-page #check_gift_user_message {
    display: block;
    margin-top: 6px;
    color: #526781;
    font-size: 12px;
}

.fh-about-page.fh-payment-page {
    background: #f3f7fc;
}

.fh-about-page .fh-payment-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(2, 17, 38, .98), rgba(5, 32, 71, .92) 50%, rgba(5, 32, 71, .72)),
        url('../image/fair-housing/concierge-hero.png') center right / cover no-repeat;
    color: #fff;
}

.fh-about-page .fh-payment-hero .fh-shell {
    padding: 54px 0 46px;
}

.fh-about-page .fh-payment-hero span {
    display: inline-block;
    color: #5da8ef;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-payment-hero h1 {
    margin: 12px 0 10px;
    color: #fff;
    font-size: 44px;
    line-height: 1.05;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-payment-hero p {
    max-width: 680px;
    margin: 0;
    color: rgba(255, 255, 255, .88);
    font-size: 18px;
    line-height: 1.55;
}

.fh-about-page .fh-payment-section {
    padding: 34px 0 64px;
}

.fh-about-page .fh-payment-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
}

.fh-about-page .fh-payment-sidebar .fh-payment-panel {
    position: sticky;
    top: 18px;
}

.fh-about-page .fh-payment-panel {
    padding: 22px;
    border: 1px solid #c9d7e8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 44px rgba(0, 31, 76, .08);
}

.fh-about-page .fh-payment-main {
    display: grid;
    gap: 18px;
}

.fh-about-page .fh-payment-panel-head {
    margin-bottom: 18px;
    padding-bottom: 15px;
    border-bottom: 1px solid #dde7f3;
}

.fh-about-page .fh-payment-panel-head span {
    color: #0d72d7;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-about-page .fh-payment-panel-head h2 {
    margin: 6px 0 0;
    color: #001f4c;
    font-size: 24px;
    line-height: 1.15;
    font-weight: 700;
}

.fh-about-page .fh-payment-gateway-list {
    display: grid;
    gap: 10px;
}

.fh-about-page .fh-payment-gateway {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 62px;
    padding: 12px;
    border: 1px solid #cbd8e8;
    border-radius: 7px;
    background: #fbfdff;
    cursor: pointer;
}

.fh-about-page .fh-payment-gateway.selected,
.fh-about-page .fh-payment-gateway:hover {
    border-color: #0d72d7;
    background: #eef7ff;
}

.fh-about-page .payment-gateway-icon {
    max-width: 126px;
    max-height: 38px;
    object-fit: contain;
}

.fh-about-page .tick-icon {
    display: none;
    width: 22px;
    height: 22px;
}

.fh-about-page .fh-payment-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    color: #0b2b5a;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-about-page .fh-payment-empty {
    display: grid;
    gap: 8px;
    padding: 18px;
    border: 1px solid #d4dfeb;
    border-radius: 7px;
    background: #f6f9fd;
    color: #526781;
}

.fh-about-page .fh-payment-empty i {
    color: #0d72d7;
    font-size: 24px;
}

.fh-about-page .fh-payment-empty strong {
    color: #001f4c;
}

.fh-about-page .fh-payment-empty p {
    margin: 0;
    font-size: 13px;
}

.fh-about-page .fh-payment-items {
    display: grid;
    gap: 12px;
}

.fh-about-page .fh-payment-item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid #d7e3f1;
    border-radius: 8px;
    background: #fbfdff;
}

.fh-about-page .fh-payment-item > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 5px;
    background: #eef7ff;
    color: #0d72d7;
    font-size: 14px;
    font-weight: 800;
}

.fh-about-page .fh-payment-item h3 {
    margin: 0;
    color: #001f4c;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
}

.fh-about-page .fh-payment-item p {
    margin: 5px 0 0;
    color: #526781;
    font-size: 13px;
}

.fh-about-page .fh-payment-item small {
    display: block;
    margin-top: 4px;
    color: #6a7e96;
}

.fh-about-page .fh-payment-item strong {
    display: grid;
    gap: 3px;
    justify-items: end;
    color: #001f4c;
    font-size: 16px;
    font-weight: 800;
}

.fh-about-page .fh-payment-item del {
    color: #7b8da3;
    font-size: 12px;
    font-weight: 500;
}

.fh-about-page .fh-payment-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #dde7f3;
}

.fh-about-page .fh-payment-total span {
    color: #526781;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-about-page .fh-payment-total strong {
    color: #001f4c;
    font-size: 30px;
    line-height: 1;
    font-weight: 800;
}

.fh-about-page .fh-payment-action-panel .gateway {
    display: none;
}

.fh-about-page .payment-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border: 1px solid #0d72d7;
    border-radius: 5px;
    background: linear-gradient(180deg, #2c8eea, #0d63bc);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
}

.fh-about-page .offline_payment_instruction {
    width: 100%;
    min-height: 100px;
    margin-top: 18px;
    padding: 18px;
    border-radius: 8px;
    background: #eef7ff;
    color: #0b2b5a;
}

.fh-about-page .fh-member-form input,
.fh-about-page .fh-member-form textarea,
.fh-about-page .fh-member-form select {
    width: 100%;
    min-height: 46px;
    border: 1px solid #bfcee0;
    border-radius: 5px;
    background: #fff;
    color: #001f4c;
    padding: 10px 13px;
}

.fh-about-page .fh-member-form input,
.fh-about-page .fh-member-form select {
    height: 46px;
}

.fh-about-page .fh-member-form input[readonly] {
    background: #f7faff;
    color: #526781;
}

.fh-about-page .fh-member-form textarea {
    min-height: 120px;
    height: auto;
    resize: vertical;
}

.fh-about-page .fh-member-form small {
    color: #526781;
    font-size: 12px;
    line-height: 1.4;
}

.fh-about-page .fh-form-actions {
    display: flex;
    justify-content: flex-end;
}

.fh-about-page .fh-member-table-wrap {
    overflow-x: auto;
}

.fh-about-page .fh-member-table {
    width: 100%;
    border-collapse: collapse;
}

.fh-about-page .fh-member-table th {
    padding: 13px 14px;
    background: #eef4fb;
    color: #0b2b5a;
    font-size: 12px;
    font-weight: 700;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-about-page .fh-member-table td {
    padding: 15px 14px;
    border-bottom: 1px solid #dde6f2;
    color: #123967;
    vertical-align: middle;
}

.fh-about-page .fh-member-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid #b8c8db;
    border-radius: 999px;
    background: #eef4fb;
    color: #0b2b5a;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-about-page .fh-member-status.passed,
.fh-about-page .fh-member-status.issued {
    border-color: #7bbf9a;
    background: #eaf8f0;
    color: #14613a;
}

.fh-about-page .fh-member-status.in_progress,
.fh-about-page .fh-member-status.eligible {
    border-color: #77afe8;
    background: #e7f2ff;
    color: #075cae;
}

.fh-about-page .fh-member-status.failed,
.fh-about-page .fh-member-status.expired {
    border-color: #e2a5a5;
    background: #fff0f0;
    color: #9e2626;
}

.fh-about-page .fh-member-status.not_started,
.fh-about-page .fh-member-status.locked,
.fh-about-page .fh-member-status.pending,
.fh-about-page .fh-member-status.unavailable {
    border-color: #c5cfdd;
    background: #f4f7fb;
    color: #526781;
}

.fh-about-page .fh-member-status.locked {
    border-color: #b8c8db;
    background: #eef2f7;
}

.fh-about-page .fh-exam-course-list,
.fh-about-page .fh-certificate-list {
    display: grid;
    gap: 16px;
}

.fh-about-page .fh-exam-course,
.fh-about-page .fh-certificate-card {
    border: 1px solid #d7e2ef;
    border-radius: 8px;
    background: #fbfdff;
}

.fh-about-page .fh-exam-course {
    overflow: hidden;
}

.fh-about-page .fh-exam-course-head {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    padding: 14px;
    border-bottom: 1px solid #dde6f2;
    background: linear-gradient(90deg, #eef4fb, #fff);
}

.fh-about-page .fh-exam-course-head img {
    width: 116px;
    height: 70px;
    border-radius: 6px;
    object-fit: cover;
}

.fh-about-page .fh-exam-course-head span,
.fh-about-page .fh-certificate-title-row span:first-child {
    color: #526781;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-exam-course-head h3,
.fh-about-page .fh-certificate-title-row h3 {
    margin: 4px 0 0;
    color: #001f4c;
    font-size: 22px;
    line-height: 1.2;
    font-weight: 700;
}

.fh-about-page .fh-exam-list {
    display: grid;
    gap: 12px;
    padding: 14px;
}

.fh-about-page .fh-exam-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid #dde6f2;
    border-radius: 7px;
    background: #fff;
}

.fh-about-page .fh-exam-icon,
.fh-about-page .fh-certificate-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid #0d72d7;
    background: #eef4fb;
    color: #0b2b5a;
}

.fh-about-page .fh-exam-icon {
    width: 52px;
    height: 52px;
    font-size: 20px;
}

.fh-about-page .fh-exam-title-row,
.fh-about-page .fh-certificate-title-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.fh-about-page .fh-exam-title-row h4 {
    margin: 0;
    color: #001f4c;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 700;
}

.fh-about-page .fh-exam-meta,
.fh-about-page .fh-certificate-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.fh-about-page .fh-exam-meta span,
.fh-about-page .fh-certificate-meta span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 28px;
    padding: 0 9px;
    border-radius: 4px;
    background: #eef4fb;
    color: #123967;
    font-size: 12px;
    font-weight: 700;
}

.fh-about-page .fh-exam-meta i,
.fh-about-page .fh-certificate-meta i {
    color: #0d72d7;
}

.fh-about-page .fh-exam-actions,
.fh-about-page .fh-certificate-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.fh-about-page .fh-certificate-card {
    position: relative;
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    overflow: hidden;
    padding: 18px;
}

.fh-about-page .fh-certificate-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(251, 253, 255, 0), rgba(13, 114, 215, .06)),
        radial-gradient(circle at 96% 20%, rgba(13, 114, 215, .16), transparent 28%);
}

.fh-about-page .fh-certificate-card > * {
    position: relative;
    z-index: 1;
}

.fh-about-page .fh-certificate-mark {
    width: 76px;
    height: 76px;
    font-size: 32px;
}

.fh-about-page .fh-certificate-main {
    display: grid;
    gap: 13px;
}

.fh-about-page .fh-purchase-course {
    display: grid;
    grid-template-columns: 72px minmax(160px, 1fr);
    gap: 12px;
    align-items: center;
    color: #001f4c;
    font-weight: 700;
}

.fh-about-page .fh-purchase-course img {
    width: 72px;
    height: 48px;
    border-radius: 5px;
    object-fit: cover;
}

.fh-about-page .fh-wishlist-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.fh-about-page .fh-wishlist-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #d7e2ef;
    border-radius: 8px;
    background: #fbfdff;
}

.fh-about-page .fh-wishlist-thumb {
    position: relative;
    height: 170px;
}

.fh-about-page .fh-wishlist-thumb span {
    position: absolute;
    left: 12px;
    bottom: 12px;
    padding: 5px 9px;
    border-radius: 4px;
    background: rgba(2, 17, 38, .86);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

.fh-about-page .fh-wishlist-remove {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: #0d72d7;
}

.fh-about-page .fh-wishlist-card > div {
    display: grid;
    gap: 13px;
    padding: 15px;
}

.fh-about-page .fh-wishlist-card h3 a {
    color: inherit;
}

.fh-about-page .fh-wishlist-footer strong {
    color: #001f4c;
    font-size: 18px;
}

.fh-about-page .fh-message-panel .conversation-fulllll-body,
.fh-about-page .fh-message-panel.common-card {
    box-shadow: none;
}

.fh-about-page .fh-message-panel .row {
    row-gap: 18px;
}

.fh-about-page .fh-message-panel .conversation h5 {
    color: #001f4c;
    font-weight: 700;
}

.fh-about-page .fh-message-panel .conversation form {
    position: relative;
}

.fh-about-page .fh-message-panel .conversation input,
.fh-about-page .fh-message-panel textarea,
.fh-about-page .fh-message-panel select {
    border: 1px solid #bfcee0;
    border-radius: 5px;
}

.fh-about-page .fh-message-panel .conversation-body-1 {
    border-radius: 7px;
    background: #f3f6fb;
}

.fh-about-page .fh-message-panel .conversation-body-1.active {
    background: #e7f2ff;
}

.fh-about-page .fh-message-panel .conversation-text-2 {
    max-height: 560px;
}

.fh-about-page.fh-invoice-page {
    background: #f3f6fb;
}

.fh-about-page .fh-invoice {
    max-width: 980px;
    margin: 0 auto;
    padding: 34px;
}

.fh-about-page .fh-invoice-head,
.fh-about-page .fh-invoice-summary,
.fh-about-page .fh-invoice-totals {
    display: flex;
    justify-content: space-between;
    gap: 24px;
}

.fh-about-page .fh-invoice-head {
    align-items: flex-start;
    padding-bottom: 26px;
    border-bottom: 1px solid #dde6f2;
}

.fh-about-page .fh-invoice-head span,
.fh-about-page .fh-invoice-summary span,
.fh-about-page .fh-invoice-totals span {
    color: #526781;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-invoice-head h1 {
    margin: 8px 0;
    color: #001f4c;
    font-size: 42px;
    font-weight: 700;
}

.fh-about-page .fh-invoice-head p,
.fh-about-page .fh-invoice-summary p {
    margin: 0;
    color: #526781;
}

.fh-about-page .fh-invoice-brand .fh-logo-lockup {
    color: #001f4c;
}

.fh-about-page .fh-invoice-brand .fh-logo-svg {
    color: #0d72d7;
}

.fh-about-page .fh-invoice-brand .fh-logo-type {
    color: #001f4c;
}

.fh-about-page .fh-invoice-summary {
    margin: 26px 0;
    padding: 22px;
    border-radius: 8px;
    background: #eef4fb;
}

.fh-about-page .fh-invoice-summary h2 {
    margin: 8px 0 5px;
    color: #001f4c;
    font-size: 22px;
    font-weight: 700;
}

.fh-about-page .fh-invoice-summary strong {
    display: block;
    margin-top: 8px;
    color: #001f4c;
    font-size: 34px;
    line-height: 1;
}

.fh-about-page .fh-invoice-totals {
    align-items: flex-start;
    margin-top: 24px;
}

.fh-about-page .fh-invoice-totals > div strong {
    display: block;
    margin-top: 8px;
    color: #001f4c;
}

.fh-about-page .fh-invoice-totals dl {
    min-width: 320px;
    margin: 0;
}

.fh-about-page .fh-invoice-totals dl div {
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 10px 0;
    border-bottom: 1px solid #dde6f2;
}

.fh-about-page .fh-invoice-totals dt,
.fh-about-page .fh-invoice-totals dd {
    margin: 0;
    color: #123967;
}

.fh-about-page .fh-invoice-totals dl div:last-child dt,
.fh-about-page .fh-invoice-totals dl div:last-child dd {
    color: #001f4c;
    font-weight: 700;
}

.fh-about-page .fh-invoice-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 28px;
}

@media print {
    .fh-about-page .fh-topnav,
    .fh-about-page .fh-footer,
    .fh-about-page .print-d-none {
        display: none !important;
    }

    .fh-about-page.fh-member-page {
        background: #fff;
    }

    .fh-about-page .fh-member-section {
        padding: 0;
    }

    .fh-about-page .fh-invoice {
        border: 0;
        box-shadow: none;
    }
}

@media (max-width: 1100px) {
    .fh-about-page .fh-payment-layout {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-payment-sidebar .fh-payment-panel {
        position: static;
    }

    .fh-about-page .fh-payment-gateway-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fh-about-page .fh-cart-layout {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-cart-summary .fh-cart-panel {
        position: static;
    }

    .fh-about-page .fh-member-layout {
        grid-template-columns: 260px minmax(0, 1fr);
    }

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

    .fh-about-page .fh-course-card {
        grid-template-columns: 180px minmax(0, 1fr);
    }

    .fh-about-page .fh-wishlist-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .fh-about-page .fh-cart-item {
        grid-template-columns: 108px minmax(0, 1fr) auto;
    }

    .fh-about-page .fh-cart-price {
        grid-column: 2;
        justify-items: start;
    }

    .fh-about-page .fh-cart-remove {
        grid-column: 3;
        grid-row: 1;
    }

    .fh-about-page .fh-member-topbar-inner {
        flex-wrap: wrap;
        gap: 12px;
        padding: 14px 0;
    }

    .fh-about-page .fh-member-topnav {
        order: 3;
        justify-content: flex-start;
        width: 100%;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .fh-about-page .fh-member-account {
        margin-left: auto;
    }

    .fh-about-page .fh-member-layout {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-member-sidebar {
        position: static;
    }

    .fh-about-page .fh-member-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fh-about-page .fh-member-stats {
        grid-template-columns: 1fr;
    }

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

    .fh-about-page .fh-member-voucher-banner {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .fh-about-page .fh-member-voucher-actions {
        grid-column: 2;
        justify-self: start;
        flex-wrap: wrap;
    }

    .fh-about-page .fh-course-card {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-exam-card,
    .fh-about-page .fh-certificate-card {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .fh-about-page .fh-exam-icon,
    .fh-about-page .fh-certificate-mark {
        justify-self: start;
    }

    .fh-about-page .fh-exam-actions,
    .fh-about-page .fh-certificate-actions {
        justify-content: flex-start;
    }

    .fh-about-page .fh-course-thumb {
        aspect-ratio: 16 / 9;
    }

    .fh-about-page .fh-profile-photo-row,
    .fh-about-page .fh-invoice-head,
    .fh-about-page .fh-invoice-summary,
    .fh-about-page .fh-invoice-totals {
        flex-direction: column;
    }

    .fh-about-page .fh-photo-form {
        width: 100%;
        margin-left: 0;
    }

    .fh-about-page .fh-form-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .fh-about-page .fh-payment-section {
        padding: 26px 0 44px;
    }

    .fh-about-page .fh-payment-panel {
        padding: 16px;
    }

    .fh-about-page .fh-payment-gateway-list {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-payment-item {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .fh-about-page .fh-payment-item strong {
        justify-items: start;
    }

    .fh-about-page .fh-payment-total {
        align-items: flex-start;
        flex-direction: column;
    }

    .fh-about-page .fh-cart-section {
        padding: 26px 0 44px;
    }

    .fh-about-page .fh-cart-main .fh-cart-panel,
    .fh-about-page .fh-cart-summary .fh-cart-panel {
        padding: 16px;
    }

    .fh-about-page .fh-cart-panel-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .fh-about-page .fh-cart-item {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .fh-about-page .fh-cart-price,
    .fh-about-page .fh-cart-remove {
        grid-column: auto;
        grid-row: auto;
        justify-self: start;
    }

    .fh-about-page .fh-cart-coupon-form > div {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-member-topbar-inner {
        align-items: flex-start;
    }

    .fh-about-page .fh-member-account {
        width: 100%;
        margin-left: 0;
        justify-content: space-between;
    }

    .fh-about-page .fh-member-account-link {
        flex: 1 1 auto;
        justify-content: flex-start;
        min-width: 0;
    }

    .fh-about-page .fh-member-account-link span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .fh-about-page .fh-member-topnav a {
        flex: 0 0 auto;
    }

    .fh-about-page .fh-member-footer-inner {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 18px 0;
    }

    .fh-about-page .fh-member-hero .fh-shell,
    .fh-about-page .fh-cart-hero .fh-shell,
    .fh-about-page .fh-payment-hero .fh-shell {
        padding: 40px 0 34px;
    }

    .fh-about-page .fh-member-hero h1,
    .fh-about-page .fh-cart-hero h1,
    .fh-about-page .fh-payment-hero h1 {
        font-size: 34px;
    }

    .fh-about-page .fh-member-hero p,
    .fh-about-page .fh-cart-hero p,
    .fh-about-page .fh-payment-hero p {
        font-size: 16px;
    }

    .fh-about-page .fh-member-section {
        padding: 24px 0 38px;
    }

    .fh-about-page .fh-member-panel,
    .fh-about-page .fh-invoice {
        padding: 18px;
    }

    .fh-about-page .fh-member-menu {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-member-stats.four {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-exam-course-head {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-exam-course-head img {
        width: 100%;
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .fh-about-page .fh-exam-title-row,
    .fh-about-page .fh-certificate-title-row {
        flex-direction: column;
    }

    .fh-about-page .fh-course-footer,
    .fh-about-page .fh-wishlist-footer,
    .fh-about-page .fh-form-actions,
    .fh-about-page .fh-exam-actions,
    .fh-about-page .fh-certificate-actions,
    .fh-about-page .fh-invoice-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .fh-about-page .fh-member-btn {
        width: 100%;
    }

    .fh-about-page .fh-invoice-totals dl {
        min-width: 0;
        width: 100%;
    }
}

.fh-about-page .fh-instructor-fields {
    display: grid;
    gap: 18px;
    padding: 18px;
    border: 1px solid rgba(5, 43, 103, .14);
    border-radius: 8px;
    background: #f4f7fb;
}

.fh-about-page .fh-instructor-fields.d-hidden {
    display: none;
}

.fh-about-page .fh-recaptcha {
    overflow-x: auto;
}

.fh-about-page .fh-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    min-height: 54px;
    border: 0;
    border-radius: 6px;
    background: linear-gradient(180deg, #2b91f3, #0e5fb8);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    box-shadow: 0 12px 24px rgba(14, 95, 184, .24);
    cursor: pointer;
}

.fh-about-page .fh-signup-alt {
    padding: 0 32px 30px;
    text-align: center;
}

.fh-about-page .fh-signup-alt p {
    margin: 0;
    color: #456079;
    font-size: 14px;
    line-height: 1.45;
}

.fh-about-page .fh-signup-alt a {
    color: var(--fh-blue);
    font-weight: 700;
}

.fh-about-page .fh-social-divider {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 12px;
    align-items: center;
    margin: 18px 0 14px;
    color: #6d8298;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-about-page .fh-social-divider::before,
.fh-about-page .fh-social-divider::after {
    content: "";
    height: 1px;
    background: rgba(5, 43, 103, .14);
}

.fh-about-page .fh-social-login {
    display: flex;
    justify-content: center;
}

.fh-about-page .fh-signup-strip {
    padding: 0 0 34px;
    background: #f5f7fb;
}

.fh-about-page .fh-signup-strip-grid {
    display: grid;
    grid-template-columns: 1.15fr repeat(3, 1fr);
    border: 1px solid rgba(5, 43, 103, .16);
    background: #eef2f8;
}

.fh-about-page .fh-signup-strip-title,
.fh-about-page .fh-signup-step {
    min-height: 154px;
    padding: 28px 30px;
    border-left: 1px solid rgba(5, 43, 103, .16);
}

.fh-about-page .fh-signup-strip-title {
    display: flex;
    align-items: center;
    border-left: 0;
    color: var(--fh-ink);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.08;
    text-transform: uppercase;
}

.fh-about-page .fh-signup-step span {
    display: block;
    margin-bottom: 14px;
    color: var(--fh-blue);
    font-size: 13px;
    font-weight: 700;
}

.fh-about-page .fh-signup-step strong {
    display: block;
    color: var(--fh-ink);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.22;
    text-transform: uppercase;
}

.fh-about-page .fh-signup-step p {
    margin: 9px 0 0;
    color: #456079;
    font-size: 13px;
    line-height: 1.45;
}

@media (max-width: 1080px) {
    .fh-about-page .fh-signup-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .fh-about-page .fh-signup-copy {
        max-width: 760px;
    }
}

@media (min-width: 1081px) {
    .fh-about-page.fh-login-page .fh-signup-grid,
    .fh-about-page.fh-forgot-page .fh-signup-grid,
    .fh-about-page.fh-verify-page .fh-signup-grid {
        grid-template-columns: minmax(0, 1fr) minmax(390px, 470px);
    }
}

@media (max-width: 860px) {
    .fh-about-page .fh-signup-strip-grid {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-signup-strip-title,
    .fh-about-page .fh-signup-step {
        min-height: 0;
        border-left: 0;
        border-top: 1px solid rgba(5, 43, 103, .16);
    }

    .fh-about-page .fh-signup-strip-title {
        border-top: 0;
    }
}

@media (max-width: 640px) {
    .fh-about-page .fh-signup-hero {
        min-height: 0;
        padding: 42px 0 36px;
        background:
            linear-gradient(180deg, rgba(2, 17, 38, .97), rgba(6, 30, 67, .9)),
            url('../image/fair-housing/concierge-hero.png') center / cover no-repeat;
    }

    .fh-about-page .fh-signup-copy h1 {
        font-size: 38px;
    }

    .fh-about-page .fh-signup-copy p {
        font-size: 16px;
    }

    .fh-about-page .fh-signup-card-head,
    .fh-about-page .fh-signup-form,
    .fh-about-page .fh-signup-alt {
        padding-right: 20px;
        padding-left: 20px;
    }

    .fh-about-page .fh-signup-card-head {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-form-grid {
        grid-template-columns: 1fr;
    }

    .fh-about-page .fh-signup-strip-title,
    .fh-about-page .fh-signup-step {
        padding: 24px 20px;
    }
}

.fh-about-page.fh-course-detail-page {
    background: #f3f6fb;
}

.fh-about-page .d-hidden {
    display: none !important;
}

.fh-course-detail-page .fh-primary-btn,
.fh-course-detail-page .fh-secondary-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 0 18px;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-course-detail-page .fh-primary-btn {
    border: 1px solid #0d72d7;
    background: linear-gradient(180deg, #2c8eea, #0d63bc);
    color: #fff;
}

.fh-course-detail-page .fh-secondary-btn {
    border: 1px solid #b8c8db;
    background: #fff;
    color: #0b2b5a;
}

.fh-course-detail-page .fh-secondary-btn:hover,
.fh-course-detail-page .fh-secondary-btn.active {
    border-color: #7cbaf2;
    background: #f4f9ff;
    color: #0b2b5a;
}

.fh-course-detail-page .fh-course-detail-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(2, 17, 38, .98), rgba(4, 31, 70, .92) 52%, rgba(6, 45, 92, .7)),
        url('../image/fair-housing/concierge-hero.png') center right / cover no-repeat;
    color: #fff;
}

.fh-course-detail-page .fh-course-detail-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 390px;
    gap: 42px;
    align-items: start;
    min-height: 560px;
    padding: 56px 0;
}

.fh-course-detail-page .fh-course-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin-bottom: 30px;
    color: rgba(255, 255, 255, .68);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-course-detail-page .fh-course-breadcrumb a {
    color: rgba(255, 255, 255, .78);
}

.fh-course-detail-page .fh-course-breadcrumb i {
    color: #5da8ef;
    font-size: 10px;
}

.fh-course-detail-page .fh-course-kicker,
.fh-course-detail-page .fh-course-panel-head span,
.fh-course-detail-page .fh-course-side-panel > span {
    display: inline-block;
    color: #5da8ef;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-course-detail-page .fh-course-detail-copy h1 {
    max-width: 850px;
    margin: 14px 0 16px;
    color: #fff;
    font-size: 58px;
    line-height: 1.02;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-course-detail-page .fh-course-detail-copy p {
    max-width: 760px;
    margin: 0;
    color: rgba(255, 255, 255, .9);
    font-size: 20px;
    line-height: 1.55;
}

.fh-course-detail-page .fh-course-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.fh-course-detail-page .fh-course-hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(124, 186, 242, .25);
    border-radius: 4px;
    background: rgba(2, 17, 38, .52);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.fh-course-detail-page .fh-course-hero-meta i,
.fh-course-detail-page .fh-course-card-list i {
    color: #7cbaf2;
}

.fh-course-detail-page .fh-course-enroll-card {
    overflow: hidden;
    border: 1px solid rgba(124, 186, 242, .34);
    border-radius: 8px;
    background: rgba(3, 22, 50, .9);
    box-shadow: 0 24px 55px rgba(0, 0, 0, .26);
}

.fh-course-detail-page .fh-course-preview {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: #061b39;
    aspect-ratio: 16 / 9;
    cursor: pointer;
}

.fh-course-detail-page .fh-course-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .88;
}

.fh-course-detail-page .fh-course-preview span {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fh-course-detail-page .fh-course-preview i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #fff;
    color: #0d72d7;
    box-shadow: 0 15px 40px rgba(0, 0, 0, .28);
}

.fh-course-detail-page .fh-course-price-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 22px 16px;
}

.fh-course-detail-page .fh-course-price-row span {
    display: block;
    color: rgba(255, 255, 255, .62);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-course-detail-page .fh-course-price-row strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 36px;
    line-height: 1;
    font-weight: 700;
}

.fh-course-detail-page .fh-course-price-row del {
    color: rgba(255, 255, 255, .55);
    font-size: 16px;
}

.fh-course-detail-page .fh-course-actions {
    display: grid;
    gap: 10px;
    padding: 0 22px 20px;
}

.fh-course-detail-page .fh-course-actions .fh-primary-btn,
.fh-course-detail-page .fh-course-actions .fh-secondary-btn {
    width: 100%;
    min-height: 52px;
}

.fh-course-detail-page .fh-course-cart-state {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin: 0 22px 20px;
    padding: 14px;
    border: 1px solid rgba(124, 186, 242, .35);
    border-radius: 6px;
    background: rgba(13, 114, 215, .12);
    color: #fff;
}

.fh-course-detail-page .fh-course-cart-state.muted {
    grid-template-columns: 34px minmax(0, 1fr);
    background: rgba(255, 255, 255, .06);
}

.fh-course-detail-page .fh-course-cart-state > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(124, 186, 242, .18);
    color: #7cbaf2;
}

.fh-course-detail-page .fh-course-cart-state strong,
.fh-course-detail-page .fh-course-cart-state span {
    display: block;
}

.fh-course-detail-page .fh-course-cart-state strong {
    color: #fff;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
}

.fh-course-detail-page .fh-course-cart-state span {
    margin-top: 3px;
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    line-height: 1.35;
}

.fh-course-detail-page .fh-course-cart-state a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid rgba(124, 186, 242, .42);
    border-radius: 5px;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-course-detail-page .fh-course-card-list {
    display: grid;
    border-top: 1px solid rgba(124, 186, 242, .22);
}

.fh-course-detail-page .fh-course-card-list span {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 0 22px;
    border-bottom: 1px solid rgba(124, 186, 242, .14);
    color: rgba(255, 255, 255, .86);
    font-size: 14px;
    font-weight: 700;
}

.fh-course-detail-page .fh-course-card-list i {
    width: 18px;
    text-align: center;
}

.fh-course-detail-page .fh-course-detail-strip {
    border-bottom: 1px solid #c9d7e7;
    background: #eef3f9;
}

.fh-course-detail-page .fh-course-detail-strip .fh-shell {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fh-course-detail-page .fh-course-stat {
    display: grid;
    justify-items: center;
    gap: 7px;
    min-height: 150px;
    padding: 26px 18px;
    border-left: 1px solid #c9d7e7;
    text-align: center;
}

.fh-course-detail-page .fh-course-stat:last-child {
    border-right: 1px solid #c9d7e7;
}

.fh-course-detail-page .fh-course-stat i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border: 2px solid #0d72d7;
    border-radius: 50%;
    color: #0b2b5a;
    font-size: 23px;
}

.fh-course-detail-page .fh-course-stat strong {
    color: #001f4c;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-course-detail-page .fh-course-stat span {
    color: #526781;
    font-size: 13px;
    line-height: 1.35;
}

.fh-course-detail-page .fh-course-detail-body {
    padding: 42px 0 58px;
}

.fh-course-detail-page .fh-course-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 24px;
    align-items: start;
}

.fh-course-detail-page .fh-course-main,
.fh-course-detail-page .fh-course-side {
    display: grid;
    gap: 18px;
}

.fh-course-detail-page .fh-course-side {
    position: sticky;
    top: 24px;
}

.fh-course-detail-page .fh-course-panel,
.fh-course-detail-page .fh-course-side-panel {
    border: 1px solid #ccd8e8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(9, 31, 63, .08);
}

.fh-course-detail-page .fh-course-panel {
    padding: 26px;
}

.fh-course-detail-page .fh-course-panel-head {
    margin-bottom: 18px;
}

.fh-course-detail-page .fh-course-panel-head.centered {
    text-align: center;
}

.fh-course-detail-page .fh-course-panel-head h2 {
    margin: 8px 0 0;
    color: #001f4c;
    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-course-detail-page .fh-rich-text {
    color: #123967;
    font-size: 17px;
    line-height: 1.72;
}

.fh-course-detail-page .fh-rich-text p,
.fh-course-detail-page .fh-rich-text ul,
.fh-course-detail-page .fh-rich-text ol {
    margin-bottom: 14px;
}

.fh-course-detail-page .fh-course-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.fh-course-detail-page .fh-course-check-grid.is-single {
    grid-template-columns: 1fr;
}

.fh-course-detail-page .fh-course-check-grid div {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 13px;
    border: 1px solid #d7e2ef;
    border-radius: 6px;
    background: #fbfdff;
    color: #123967;
    font-weight: 700;
}

.fh-course-detail-page .fh-course-check-grid.is-single div {
    grid-template-columns: 34px minmax(0, 1fr);
    max-width: none;
    min-height: 132px;
    padding: 24px;
    align-items: start;
    background:
        linear-gradient(90deg, rgba(255, 255, 255, .98) 0%, rgba(255, 255, 255, .94) 62%, rgba(239, 246, 255, .78) 100%),
        url('../image/fair-housing/residential-building.png') right bottom / 42% auto no-repeat;
}

.fh-course-detail-page .fh-course-check-grid.is-single span {
    max-width: 760px;
    color: #092f63;
    font-size: 18px;
    line-height: 1.48;
    font-weight: 400;
}

.fh-course-detail-page .fh-course-check-grid i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #0d72d7;
    color: #fff;
    font-size: 12px;
}

.fh-course-detail-page .fh-course-check-grid.is-single i {
    width: 30px;
    height: 30px;
    font-size: 13px;
}

.fh-course-detail-page .fh-curriculum-list,
.fh-course-detail-page .fh-course-faqs {
    display: grid;
    gap: 10px;
}

.fh-course-detail-page .fh-curriculum-section,
.fh-course-detail-page .fh-course-faqs details {
    overflow: hidden;
    border: 1px solid #d7e2ef;
    border-radius: 7px;
    background: #fbfdff;
}

.fh-course-detail-page .fh-curriculum-section summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 58px;
    padding: 0 18px;
    color: #001f4c;
    cursor: pointer;
    font-weight: 700;
    list-style: none;
}

.fh-course-detail-page .fh-curriculum-section summary::-webkit-details-marker {
    display: none;
}

.fh-course-detail-page .fh-curriculum-section summary small {
    color: #526781;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.fh-course-detail-page .fh-curriculum-lessons {
    border-top: 1px solid #d7e2ef;
}

.fh-course-detail-page .fh-curriculum-lessons a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 48px;
    padding: 0 18px;
    border-bottom: 1px solid #edf2f7;
    color: #123967;
    font-size: 14px;
    font-weight: 700;
}

.fh-course-detail-page .fh-curriculum-lessons a:last-child {
    border-bottom: 0;
}

.fh-course-detail-page .fh-curriculum-lessons span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.fh-course-detail-page .fh-curriculum-lessons i {
    width: 18px;
    color: #0d72d7;
    text-align: center;
}

.fh-course-detail-page .fh-curriculum-lessons small {
    color: #526781;
    white-space: nowrap;
}

.fh-course-detail-page .fh-course-requirements {
    display: grid;
    gap: 9px;
    margin: 0;
    padding-left: 0;
    color: #123967;
    font-size: 16px;
    line-height: 1.55;
    font-weight: 500;
}

.fh-course-detail-page .fh-course-faqs summary {
    padding: 15px 16px;
    color: #001f4c;
    cursor: pointer;
    font-weight: 700;
}

.fh-course-detail-page .fh-course-faqs div {
    padding: 0 16px 16px;
    color: #123967;
    line-height: 1.6;
}

.fh-course-detail-page .fh-course-empty {
    padding: 22px;
    border-radius: 6px;
    background: #eef4fb;
    color: #526781;
    font-weight: 700;
    text-align: center;
}

.fh-course-detail-page .fh-course-side-panel {
    padding: 20px;
}

.fh-course-detail-page .fh-course-side-panel dl {
    display: grid;
    margin: 16px 0 0;
}

.fh-course-detail-page .fh-course-side-panel dl div {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 11px 0;
    border-bottom: 1px solid #dde6f2;
}

.fh-course-detail-page .fh-course-side-panel dl div:last-child {
    border-bottom: 0;
}

.fh-course-detail-page .fh-course-side-panel dt,
.fh-course-detail-page .fh-course-side-panel dd {
    margin: 0;
    color: #123967;
    font-size: 14px;
}

.fh-course-detail-page .fh-course-side-panel dt {
    color: #526781;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-course-detail-page .fh-course-side-panel dd {
    text-align: right;
    font-weight: 700;
}

.fh-course-detail-page .fh-course-side-cta {
    background:
        linear-gradient(135deg, rgba(0, 31, 76, .96), rgba(7, 55, 105, .94)),
        url('../image/fair-housing/hero-concierge.jpg') center / cover no-repeat;
    color: #fff;
}

.fh-course-detail-page .fh-course-side-cta > span {
    color: #7cbaf2;
}

.fh-course-detail-page .fh-course-side-cta h3 {
    margin: 10px 0 8px;
    color: #fff;
    font-size: 21px;
    line-height: 1.16;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
}

.fh-course-detail-page .fh-course-side-cta p {
    margin: 0 0 18px;
    color: rgba(255, 255, 255, .84);
    font-size: 12px;
    line-height: 1.55;
    white-space: nowrap;
}

.fh-course-detail-page .fh-course-side-cta .fh-primary-btn {
    width: 100%;
    min-height: 48px;
}

.fh-course-detail-page .fh-course-share {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-top: 16px;
}

.fh-course-detail-page .fh-course-share a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    border: 1px solid #d7e2ef;
    border-radius: 5px;
    background: #eef4fb;
    color: #0b2b5a;
}

.fh-course-detail-page .fh-course-share .fh-x-icon {
    display: block;
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.fh-course-detail-page .fh-course-related {
    padding: 0 0 58px;
}

.fh-course-detail-page .fh-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 22px;
}

.fh-course-detail-page .fh-related-card {
    overflow: hidden;
    border: 1px solid #ccd8e8;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(9, 31, 63, .08);
}

.fh-course-detail-page .fh-related-card img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.fh-course-detail-page .fh-related-card div {
    padding: 16px;
}

.fh-course-detail-page .fh-related-card span {
    color: #5da8ef;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.fh-course-detail-page .fh-related-card h3 {
    margin: 7px 0 0;
    color: #001f4c;
    font-size: 19px;
    line-height: 1.25;
    font-weight: 700;
}

@media (max-width: 1100px) {
    .fh-course-detail-page .fh-course-detail-hero-grid,
    .fh-course-detail-page .fh-course-detail-layout {
        grid-template-columns: 1fr;
    }

    .fh-course-detail-page .fh-course-enroll-card {
        max-width: 520px;
    }

    .fh-course-detail-page .fh-course-side {
        position: static;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    .fh-course-detail-page .fh-course-detail-copy h1 {
        font-size: 44px;
    }

    .fh-course-detail-page .fh-course-detail-strip .fh-shell,
    .fh-course-detail-page .fh-course-check-grid,
    .fh-course-detail-page .fh-related-grid,
    .fh-course-detail-page .fh-course-side {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .fh-course-detail-page .fh-course-detail-hero-grid {
        min-height: 0;
        padding: 38px 0;
    }

    .fh-course-detail-page .fh-course-detail-copy h1 {
        font-size: 34px;
    }

    .fh-course-detail-page .fh-course-detail-copy p {
        font-size: 16px;
    }

    .fh-course-detail-page .fh-course-price-row,
    .fh-course-detail-page .fh-curriculum-section summary,
    .fh-course-detail-page .fh-curriculum-lessons a {
        align-items: flex-start;
        flex-direction: column;
    }

    .fh-course-detail-page .fh-course-panel {
        padding: 18px;
    }

    .fh-course-detail-page .fh-course-panel-head h2 {
        font-size: 24px;
    }

    .fh-course-detail-page .fh-course-side-cta h3 {
        font-size: 16px;
    }
}
