/* Extracted from ecosystem/prop-firms/prop-firm-profile.php. Keep page-specific rules scoped to the prop cluster. */
    .firm-profile {
        --profile-ink: #071313;
        --profile-green: #0F766E;
        --profile-lime: #C7F45D;
        --profile-line: rgba(7, 19, 19, 0.10);
        background:
            radial-gradient(circle at 10% 10%, rgba(199, 244, 93, 0.20), transparent 28%),
            radial-gradient(circle at 88% 0%, rgba(15, 118, 110, 0.14), transparent 34%),
            linear-gradient(180deg, #FCFBF8 0%, #FFFFFF 52%, #F8FAF8 100%);
    }

    .profile-panel {
        padding: 22px;
        border: 1px solid rgba(7, 19, 19, 0.12);
        border-radius: 28px;
        background: rgba(255, 255, 255, 0.76);
        box-shadow: 0 24px 70px rgba(7, 19, 19, 0.08);
    }

    .profile-mark {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 72px;
        height: 72px;
        margin-bottom: 18px;
        border-radius: 24px;
        border: 1px solid rgba(7, 19, 19, 0.16);
        background: #071313;
        color: var(--profile-lime);
        font-size: 20px;
        font-weight: 950;
        letter-spacing: 0;
        overflow: hidden;
    }

    .profile-mark img {
        width: 48px;
        height: 48px;
        object-fit: contain;
    }

    .profile-verdict {
        margin: 0 0 16px;
        color: rgba(7, 19, 19, 0.72);
        font-size: 15px;
        line-height: 1.7;
    }

    .profile-verdict strong {
        color: #071313;
    }

    .profile-pill-row {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 16px;
    }

    .profile-pill {
        display: inline-flex;
        align-items: center;
        min-height: 30px;
        padding: 0 11px;
        border-radius: 999px;
        background: rgba(15, 118, 110, 0.08);
        color: rgba(7, 19, 19, 0.72);
        font-size: 12px;
        font-weight: 800;
        white-space: nowrap;
    }

    .profile-fact-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
        margin-top: 24px;
    }

    .profile-fact {
        padding: 16px;
        border: 1px solid rgba(7, 19, 19, 0.10);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.72);
    }

    .profile-fact span {
        display: block;
        margin-bottom: 6px;
        color: rgba(7, 19, 19, 0.50);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .profile-fact strong {
        color: #071313;
        font-size: 14px;
        line-height: 1.4;
    }

    .profile-table-wrap {
        margin-top: 24px;
        overflow-x: auto;
        border: 1px solid rgba(7, 19, 19, 0.10);
        border-radius: 24px;
        background: rgba(255, 255, 255, 0.74);
    }

    .profile-table {
        width: 100%;
        min-width: 840px;
        border-collapse: collapse;
    }

    .profile-table th,
    .profile-table td {
        padding: 16px;
        text-align: left;
        vertical-align: top;
        border-bottom: 1px solid rgba(7, 19, 19, 0.08);
    }

    .profile-table th {
        color: rgba(7, 19, 19, 0.62);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .profile-table td {
        color: rgba(7, 19, 19, 0.72);
        font-size: 13px;
        line-height: 1.55;
    }

    .profile-table tr:last-child td {
        border-bottom: 0;
    }

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

    .profile-link-card {
        display: block;
        padding: 16px;
        border: 1px solid rgba(7, 19, 19, 0.10);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.72);
        color: #071313;
        font-size: 14px;
        font-weight: 850;
        line-height: 1.35;
    }

    .profile-link-card span {
        display: block;
        margin-top: 6px;
        color: rgba(7, 19, 19, 0.54);
        font-size: 12px;
        font-weight: 700;
    }

    .profile-page-nav {
        position: sticky;
        top: 86px;
        z-index: 5;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin: -18px 0 32px;
        padding: 10px;
        border: 1px solid rgba(255, 255, 255, 0.10);
        border-radius: 18px;
        background: rgba(5, 5, 5, 0.82);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .profile-page-nav a {
        display: inline-flex;
        align-items: center;
        min-height: 34px;
        padding: 0 11px;
        border-radius: 10px;
        color: rgba(245, 245, 245, 0.74);
        font-size: 12px;
        font-weight: 820;
    }

    .profile-page-nav a:hover {
        background: rgba(77, 171, 154, 0.14);
        color: #FFFFFF;
    }

    .profile-review-grid,
    .profile-pros-grid,
    .profile-alternative-grid,
    .profile-faq-list {
        display: grid;
        gap: 12px;
        margin-top: 22px;
    }

    .profile-review-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .profile-review-card,
    .profile-pro-card,
    .profile-alt-card,
    .profile-faq-item {
        padding: 16px;
        border: 1px solid rgba(7, 19, 19, 0.10);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.72);
    }

    .profile-review-card span,
    .profile-pro-card span,
    .profile-alt-card span {
        display: block;
        margin-bottom: 8px;
        color: rgba(7, 19, 19, 0.50);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .profile-review-card strong,
    .profile-pro-card strong,
    .profile-alt-card strong,
    .profile-faq-item h3 {
        display: block;
        margin: 0 0 8px;
        color: #071313;
        font-size: 15px;
        line-height: 1.3;
    }

    .profile-review-card p,
    .profile-pro-card p,
    .profile-alt-card p,
    .profile-faq-item p {
        margin: 0;
        color: rgba(7, 19, 19, 0.66);
        font-size: 13px;
        line-height: 1.6;
    }

    .profile-status {
        display: inline-flex;
        align-items: center;
        width: fit-content;
        min-height: 26px;
        margin-bottom: 10px;
        padding: 0 9px;
        border-radius: 999px;
        font-size: 11px;
        font-weight: 900;
    }

    .profile-status--mapped {
        background: rgba(15, 118, 110, 0.10);
        color: #0F766E;
    }

    .profile-status--pending {
        background: rgba(245, 158, 11, 0.14);
        color: #92400E;
    }

    .profile-availability-layout {
        display: grid;
        grid-template-columns: minmax(260px, 0.34fr) minmax(0, 0.66fr);
        gap: 14px;
        margin-top: 22px;
    }

    .profile-availability-summary,
    .profile-availability-priority {
        padding: 18px;
        border: 1px solid rgba(7, 19, 19, 0.10);
        border-radius: 22px;
        background: rgba(255, 255, 255, 0.74);
    }

    .profile-availability-summary span,
    .profile-availability-priority > span,
    .profile-country-strip-head span {
        display: block;
        margin-bottom: 8px;
        color: rgba(7, 19, 19, 0.48);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .profile-availability-summary h3,
    .profile-availability-priority h3,
    .profile-country-strip-head h3 {
        margin: 0 0 8px;
        color: #071313;
        font-size: 18px;
        line-height: 1.25;
    }

    .profile-availability-summary p,
    .profile-availability-priority p,
    .profile-country-strip-head p {
        margin: 0;
        color: rgba(7, 19, 19, 0.64);
        font-size: 13px;
        line-height: 1.6;
    }

    .profile-availability-stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-top: 16px;
    }

    .profile-availability-stat {
        min-height: 78px;
        padding: 12px;
        border: 1px solid rgba(7, 19, 19, 0.10);
        border-radius: 16px;
        background: rgba(7, 19, 19, 0.035);
    }

    .profile-availability-stat b {
        display: block;
        margin-bottom: 7px;
        color: #071313;
        font-size: 24px;
        line-height: 1;
    }

    .profile-availability-stat span {
        margin: 0;
        color: rgba(7, 19, 19, 0.56);
        font-size: 10px;
        line-height: 1.25;
    }

    .profile-country-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        margin-top: 16px;
    }

    .profile-country-grid--compact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .profile-country-card {
        display: grid;
        gap: 10px;
        padding: 15px;
        border: 1px solid rgba(7, 19, 19, 0.10);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.72);
    }

    .profile-country-card--unavailable {
        border-color: rgba(190, 18, 60, 0.20);
        background: rgba(190, 18, 60, 0.055);
    }

    .profile-country-card--verify,
    .profile-country-card--unknown {
        border-color: rgba(245, 158, 11, 0.18);
        background: rgba(245, 158, 11, 0.055);
    }

    .profile-country-card--mapped {
        border-color: rgba(15, 118, 110, 0.14);
        background: rgba(15, 118, 110, 0.045);
    }

    .profile-country-card-head span {
        display: block;
        margin: 0 0 7px;
        color: rgba(7, 19, 19, 0.54);
        font-size: 12px;
        font-weight: 850;
    }

    .profile-country-card-head strong {
        display: block;
        color: #071313;
        font-size: 14px;
        line-height: 1.28;
    }

    .profile-country-card p {
        margin: 0;
        color: rgba(7, 19, 19, 0.64);
        font-size: 12px;
        line-height: 1.5;
    }

    .profile-country-card-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
        color: rgba(7, 19, 19, 0.50);
        font-size: 11px;
        font-weight: 760;
    }

    .profile-country-card-meta a,
    .profile-source-link {
        color: #0F766E;
        font-weight: 900;
        text-decoration: none;
    }

    .profile-country-strip {
        margin-top: 22px;
        padding: 18px;
        border: 1px solid rgba(7, 19, 19, 0.10);
        border-radius: 22px;
        background: rgba(255, 255, 255, 0.68);
    }

    .profile-country-all {
        margin-top: 14px;
        border: 1px solid rgba(7, 19, 19, 0.10);
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.66);
        overflow: hidden;
    }

    .profile-country-all summary {
        cursor: pointer;
        padding: 15px 16px;
        color: #071313;
        font-size: 13px;
        font-weight: 900;
    }

    .profile-country-all[open] summary {
        border-bottom: 1px solid rgba(7, 19, 19, 0.08);
    }

    .profile-country-all .profile-country-grid {
        margin: 0;
        padding: 14px;
    }

    .profile-checklist {
        display: grid;
        gap: 10px;
        margin: 20px 0 0;
        padding: 0;
        list-style: none;
    }

    .profile-checklist li {
        padding: 14px 16px;
        border: 1px solid rgba(7, 19, 19, 0.10);
        border-radius: 16px;
        background: rgba(255, 255, 255, 0.72);
        color: rgba(7, 19, 19, 0.70);
        font-size: 14px;
        line-height: 1.55;
    }

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

    .profile-pro-card ul {
        display: grid;
        gap: 10px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .profile-pro-card li {
        color: rgba(7, 19, 19, 0.68);
        font-size: 14px;
        line-height: 1.55;
    }

    .profile-alternative-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .profile-alt-card {
        color: inherit;
    }

    .profile-alt-card:hover {
        border-color: rgba(15, 118, 110, 0.28);
        transform: translateY(-1px);
    }

    .profile-faq-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    @media (max-width: 900px) {
        .profile-fact-grid,
        .profile-link-list,
        .profile-availability-layout,
        .profile-availability-stats,
        .profile-country-grid,
        .profile-country-grid--compact,
        .profile-review-grid,
        .profile-pros-grid,
        .profile-alternative-grid,
        .profile-faq-list {
            grid-template-columns: 1fr;
        }

        .profile-page-nav {
            position: static;
        }
    }
