/* Extracted from ecosystem/prop-firms/prop-firm-intent.php. Keep page-specific rules scoped to the prop cluster. */
    .firm-intent-logo {
        width: 62px;
        height: 62px;
        border-radius: 14px;
        border: 1px solid rgba(255,255,255,0.12);
        background: rgba(255,255,255,0.06);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }
    .firm-intent-logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        padding: 8px;
    }
    .firm-intent-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
        margin-top: 22px;
    }
    .firm-intent-card,
    .firm-intent-panel,
    .firm-intent-note {
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 18px;
        background: rgba(255,255,255,0.045);
        padding: 18px;
    }
    .firm-intent-card strong {
        display: block;
        color: #fff;
        font-size: 20px;
    }
    .firm-intent-card h3,
    .firm-intent-panel h3 {
        margin: 0 0 10px;
        color: #fff;
        font-size: 18px;
        line-height: 1.25;
    }
    .firm-intent-card span,
    .firm-intent-panel p,
    .firm-intent-note {
        color: rgba(255,255,255,0.64);
        font-size: 13px;
        line-height: 1.6;
    }
    .firm-intent-table-wrap {
        margin-top: 20px;
        overflow-x: auto;
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 18px;
    }
    .firm-intent-table {
        width: 100%;
        min-width: 980px;
        border-collapse: collapse;
    }
    .firm-intent-table th,
    .firm-intent-table td {
        padding: 14px;
        border-bottom: 1px solid rgba(255,255,255,0.08);
        text-align: left;
        vertical-align: top;
    }
    .firm-intent-table th {
        color: rgba(255,255,255,0.48);
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
    }
    .firm-intent-table td {
        color: rgba(255,255,255,0.72);
        font-size: 13px;
    }
    .firm-intent-firm {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        color: #fff;
        font-weight: 900;
        text-decoration: none;
    }
    .firm-intent-firm img {
        width: 34px;
        height: 34px;
        border-radius: 9px;
        object-fit: contain;
        background: #050808;
        border: 1px solid rgba(255,255,255,0.10);
    }
    .firm-intent-verdict {
        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 16px;
        margin-top: 20px;
    }
    .firm-intent-code-box {
        display: flex;
        flex-direction: column;
        gap: 10px;
        min-height: 100%;
        border: 1px solid rgba(199, 244, 93, 0.28);
        border-radius: 18px;
        background: rgba(199, 244, 93, 0.08);
        padding: 18px;
    }
    .firm-intent-code-box strong {
        color: #fff;
        font-size: 26px;
        line-height: 1.15;
    }
    .firm-intent-code-box span,
    .firm-intent-code-box p,
    .firm-intent-checklist li {
        color: rgba(255,255,255,0.68);
        font-size: 13px;
        line-height: 1.58;
    }
    .firm-intent-checklist {
        margin: 0;
        padding-left: 18px;
    }
    .firm-intent-pill {
        display: inline-flex;
        align-items: center;
        width: fit-content;
        min-height: 28px;
        padding: 0 10px;
        border: 1px solid rgba(255,255,255,0.12);
        border-radius: 999px;
        background: rgba(255,255,255,0.07);
        color: rgba(255,255,255,0.78);
        font-size: 12px;
        font-weight: 850;
    }
    .firm-intent-angle-list {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
        margin: 18px 0 0;
        padding: 0;
        list-style: none;
    }
    .firm-intent-angle-list li {
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 16px;
        background: rgba(255,255,255,0.045);
        padding: 14px;
        color: rgba(255,255,255,0.66);
        font-size: 13px;
        line-height: 1.55;
    }
    .firm-intent-angle-list strong {
        display: block;
        color: #fff;
        margin-bottom: 5px;
    }
    .firm-intent-matrix {
        width: 100%;
        min-width: 980px;
        border-collapse: collapse;
    }
    .firm-intent-matrix th,
    .firm-intent-matrix td {
        padding: 14px;
        border-bottom: 1px solid rgba(255,255,255,0.08);
        text-align: left;
        vertical-align: top;
    }
    .firm-intent-matrix th {
        color: rgba(255,255,255,0.48);
        font-size: 11px;
        text-transform: uppercase;
        letter-spacing: 0.08em;
    }
    .firm-intent-matrix td {
        color: rgba(255,255,255,0.70);
        font-size: 13px;
        line-height: 1.55;
    }
    .firm-intent-matrix strong {
        color: #fff;
    }
    .firm-intent-decision-list {
        display: grid;
        gap: 10px;
        margin: 16px 0 0;
        padding: 0;
        list-style: none;
    }
    .firm-intent-decision-list li {
        color: rgba(255,255,255,0.68);
        font-size: 13px;
        line-height: 1.58;
    }
    .firm-intent-decision-list strong {
        color: #fff;
    }
    .firm-intent-page .trust-hero {
        align-items: stretch;
        gap: clamp(24px, 4vw, 54px);
        padding-bottom: 42px;
    }
    .firm-intent-page {
        color: rgba(245, 250, 248, 0.90);
    }
    .firm-intent-page .trust-title {
        max-width: 13ch;
        color: #f4faf8;
        font-size: 54px;
        line-height: 0.98;
        letter-spacing: 0;
    }
    .firm-intent-page .trust-subtitle,
    .firm-intent-page .trust-section > p,
    .firm-intent-page .firm-intent-note {
        color: rgba(245, 250, 248, 0.64);
    }
    .firm-intent-page .trust-section h2 {
        color: #f4faf8;
        font-size: 34px;
        line-height: 1.05;
        letter-spacing: 0;
    }
    .firm-intent-page .trust-inline-links a {
        border-color: rgba(84, 196, 178, 0.28);
        background: rgba(84, 196, 178, 0.085);
        color: rgba(207, 255, 246, 0.92);
    }
    .firm-intent-page .trust-inline-links a:hover {
        border-color: rgba(84, 196, 178, 0.50);
        background: rgba(84, 196, 178, 0.15);
        color: #ffffff;
    }
    .firm-intent-hero-panel {
        display: grid;
        align-content: start;
        gap: 12px;
        min-height: 100%;
        padding: 16px;
        border: 1px solid rgba(255,255,255,0.10);
        border-radius: 10px;
        background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.026));
    }
    .firm-intent-hero-offer {
        display: grid;
        gap: 10px;
        padding: 18px;
        border: 1px solid rgba(84, 196, 178, 0.24);
        border-radius: 8px;
        background: rgba(84, 196, 178, 0.075);
    }
    .firm-intent-hero-offer--public {
        border-color: rgba(114, 255, 205, 0.35);
        background: rgba(84, 196, 178, 0.11);
    }
    .firm-intent-hero-offer--verify,
    .firm-intent-hero-offer--cost {
        border-color: rgba(244, 199, 93, 0.30);
        background: rgba(244, 199, 93, 0.075);
    }
    .firm-intent-hero-offer--partner {
        border-color: rgba(178, 132, 255, 0.26);
        background: rgba(178, 132, 255, 0.07);
    }
    .firm-intent-hero-offer span,
    .firm-intent-section-kicker,
    .firm-intent-mini-label {
        color: rgba(255,255,255,0.52);
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.11em;
        text-transform: uppercase;
    }
    .firm-intent-hero-offer strong {
        color: #fff;
        font-size: 42px;
        line-height: 0.95;
        letter-spacing: 0;
    }
    .firm-intent-hero-offer p {
        margin: 0;
        color: rgba(255,255,255,0.70);
        font-size: 13px;
        line-height: 1.55;
    }
    .firm-intent-primary-cta,
    .firm-intent-secondary-cta {
        display: inline-flex;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 0 16px;
        border-radius: 8px;
        font-size: 13px;
        font-weight: 900;
        text-decoration: none;
    }
    .firm-intent-primary-cta {
        border: 1px solid rgba(84, 196, 178, 0.46);
        background: #54c4b2;
        color: #04100e;
    }
    .firm-intent-secondary-cta {
        border: 1px solid rgba(255,255,255,0.10);
        background: rgba(255,255,255,0.055);
        color: rgba(255,255,255,0.82);
    }
    .firm-intent-hero-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }
    .firm-intent-hero-stats,
    .firm-intent-money-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
    .firm-intent-hero-stat,
    .firm-intent-money-card,
    .firm-intent-faq-card {
        display: grid;
        gap: 8px;
        padding: 14px;
        border: 1px solid rgba(255,255,255,0.085);
        border-radius: 8px;
        background: rgba(255,255,255,0.035);
    }
    .firm-intent-hero-stat strong,
    .firm-intent-money-card strong,
    .firm-intent-faq-card h3 {
        margin: 0;
        color: #fff;
        font-size: 15px;
        line-height: 1.2;
    }
    .firm-intent-hero-stat span,
    .firm-intent-money-card span,
    .firm-intent-money-card p,
    .firm-intent-faq-card p {
        margin: 0;
        color: rgba(255,255,255,0.62);
        font-size: 12px;
        line-height: 1.5;
    }
    .firm-intent-country-layout {
        display: grid;
        grid-template-columns: minmax(260px, 0.76fr) minmax(0, 1.24fr);
        gap: 12px;
        margin-top: 16px;
    }
    .firm-intent-country-summary,
    .firm-intent-country-list {
        border: 1px solid rgba(255,255,255,0.085);
        border-radius: 10px;
        background: rgba(255,255,255,0.035);
        padding: 16px;
    }
    .firm-intent-country-summary {
        display: grid;
        gap: 14px;
        align-content: start;
    }
    .firm-intent-country-summary strong {
        color: #fff;
        font-size: 22px;
        line-height: 1.15;
    }
    .firm-intent-country-summary p,
    .firm-intent-country-list p {
        margin: 0;
        color: rgba(255,255,255,0.64);
        font-size: 13px;
        line-height: 1.55;
    }
    .firm-intent-country-stats {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
    .firm-intent-country-stat {
        display: grid;
        gap: 6px;
        min-height: 82px;
        padding: 12px;
        border: 1px solid rgba(255,255,255,0.08);
        border-radius: 8px;
        background: rgba(0,0,0,0.18);
    }
    .firm-intent-country-stat b {
        color: #fff;
        font-size: 22px;
        line-height: 1;
    }
    .firm-intent-country-stat span {
        color: rgba(255,255,255,0.50);
        font-size: 10px;
        font-weight: 900;
        letter-spacing: 0.08em;
        line-height: 1.3;
        text-transform: uppercase;
    }
    .firm-intent-country-list {
        display: grid;
        gap: 12px;
    }
    .firm-intent-country-chip-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }
    .firm-intent-country-chip {
        display: grid;
        gap: 5px;
        min-height: 72px;
        padding: 10px 12px;
        border: 1px solid rgba(255,255,255,0.09);
        border-radius: 8px;
        background: rgba(255,255,255,0.035);
    }
    .firm-intent-country-chip--mapped {
        border-color: rgba(84, 196, 178, 0.25);
        background: rgba(84, 196, 178, 0.055);
    }
    .firm-intent-country-chip--verify,
    .firm-intent-country-chip--unknown {
        border-color: rgba(244, 199, 93, 0.26);
        background: rgba(244, 199, 93, 0.055);
    }
    .firm-intent-country-chip--unavailable {
        border-color: rgba(255, 114, 118, 0.30);
        background: rgba(255, 114, 118, 0.060);
    }
    .firm-intent-country-chip--selected {
        box-shadow: inset 0 0 0 1px rgba(84, 196, 178, 0.48);
    }
    .firm-intent-country-chip strong {
        color: #fff;
        font-size: 13px;
        line-height: 1.15;
    }
    .firm-intent-country-chip span {
        color: rgba(255,255,255,0.58);
        font-size: 11px;
        font-weight: 800;
        line-height: 1.35;
    }
    .firm-intent-coupon-layout {
        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: 12px;
        margin-top: 16px;
    }
    .firm-intent-coupon-verdict {
        display: grid;
        gap: 14px;
        padding: 20px;
        border: 1px solid rgba(84, 196, 178, 0.25);
        border-radius: 10px;
        background:
            radial-gradient(circle at 18% 0%, rgba(84, 196, 178, 0.18), transparent 34%),
            rgba(255,255,255,0.035);
    }
    .firm-intent-coupon-verdict strong {
        color: #fff;
        font-size: 48px;
        line-height: 0.98;
        letter-spacing: 0;
    }
    .firm-intent-coupon-verdict p,
    .firm-intent-rule-card p {
        margin: 0;
        color: rgba(255,255,255,0.66);
        font-size: 13px;
        line-height: 1.58;
    }
    .firm-intent-rule-stack {
        display: grid;
        gap: 8px;
    }
    .firm-intent-rule-card {
        display: grid;
        grid-template-columns: minmax(120px, 0.4fr) minmax(0, 1fr);
        gap: 12px;
        align-items: center;
        padding: 14px;
        border: 1px solid rgba(255,255,255,0.085);
        border-radius: 8px;
        background: rgba(255,255,255,0.032);
    }
    .firm-intent-rule-card strong {
        color: #fff;
        font-size: 14px;
    }
    .firm-intent-search-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-top: 14px;
    }
    .firm-intent-search-chips a,
    .firm-intent-search-chips span {
        display: inline-flex;
        align-items: center;
        min-height: 30px;
        padding: 0 10px;
        border: 1px solid rgba(255,255,255,0.09);
        border-radius: 999px;
        background: rgba(255,255,255,0.04);
        color: rgba(255,255,255,0.72);
        font-size: 12px;
        font-weight: 800;
        text-decoration: none;
    }
    .firm-intent-faq-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 16px;
    }
    @media (max-width: 820px) {
        .firm-intent-grid,
        .firm-intent-verdict,
        .firm-intent-angle-list,
        .firm-intent-hero-stats,
        .firm-intent-money-grid,
        .firm-intent-coupon-layout,
        .firm-intent-country-layout,
        .firm-intent-country-chip-grid,
        .firm-intent-faq-grid {
            grid-template-columns: 1fr;
        }
        .firm-intent-page .trust-hero {
            grid-template-columns: 1fr;
        }
        .firm-intent-hero-actions {
            grid-template-columns: 1fr;
        }
        .firm-intent-rule-card {
            grid-template-columns: 1fr;
        }
        .firm-intent-page .trust-title {
            font-size: 40px;
        }
        .firm-intent-page .trust-section h2 {
            font-size: 28px;
        }
        .firm-intent-hero-stats {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
        .firm-intent-country-stats {
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }
        .firm-intent-country-stat {
            min-height: 76px;
            padding: 10px;
        }
        .firm-intent-country-stat b {
            font-size: 18px;
        }
        .firm-intent-country-stat span {
            font-size: 9px;
        }
        .firm-intent-hero-stat {
            padding: 10px;
        }
        .firm-intent-hero-stat strong {
            font-size: 13px;
            overflow-wrap: anywhere;
        }
        .firm-intent-hero-stat span {
            font-size: 11px;
        }
        .firm-intent-hero-offer strong {
            font-size: 28px;
        }
        .firm-intent-coupon-verdict strong {
            font-size: 34px;
        }
    }
