/* Standalone company components; full visual theme in hikakufx Blocks. */
.hfx-components { --blue:#0755c9;--deep:#093986;--navy:#14233d;--yellow:#ffdf35;--paper:#f4f8fd;--line:#dce5ef;--muted:#62718a;--white:#fff; color:var(--navy); font-family:"Noto Sans CJK JP","Yu Gothic",Meiryo,sans-serif; font-size:15px; line-height:1.8; }
.hfx-components * { box-sizing:border-box; }
.hfx-components .wrap { width:min(1120px,calc(100% - 40px)); margin-inline:auto; }
.hfx-components { padding:56px 0; }
.hfx-components.comparison-section { background:var(--paper); }
.hfx-components .section-title { font-size:32px;font-weight:900;line-height:1.5;margin:0; }
.hfx-components .eyebrow { color:var(--blue);font:800 11px/1.5 Arial,sans-serif;letter-spacing:.18em;margin:0 0 10px; }
.hfx-components .section-copy { color:var(--muted);font-size:13px;margin-top:11px; }
.hfx-components .section-heading-row { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.hfx-components .count-pill { display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px;background:#fff;padding:8px 16px;border:1px solid #cbdaf0;border-radius:24px; }
.hfx-components .count-pill strong {font-size:25px;color:var(--blue)}
.hfx-components .draft-note {background:#fffbea;border:1px solid #eadf9d;border-radius:9px;padding:14px 17px;font-size:11px;margin-top:22px;color:#554a1d;display:block}
.hfx-components .focus-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}
.hfx-components .focus-button{border:1px solid #c9d6e7;padding:8px 15px;border-radius:25px;background:#fff;font-family:inherit;font-weight:700;font-size:11px;line-height:1.6;color:#415373;cursor:pointer}
.hfx-components .focus-button[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:white}
.hfx-components .focus-caption,.hfx-components .scroll-hint{font-size:11px;color:var(--muted);margin-top:10px}
.hfx-components .comparison-scroll{border:1px solid #cfdced;background:white;border-radius:12px;margin-top:15px;overflow:auto;position:relative}
.hfx-components .comparison-table{border-collapse:separate;border-spacing:0;width:100%;min-width:980px;table-layout:fixed;font-size:12px;margin:0}
.hfx-components .comparison-table th,.hfx-components .comparison-table td{padding:16px 8px;text-align:center;vertical-align:middle;border:0;border-bottom:1px solid var(--line);background:#fff}
.hfx-components .comparison-table thead th{background:var(--deep);color:#fff;font-size:11px}
.hfx-components .comparison-table thead th:first-child,.hfx-components .comparison-table tbody th{width:214px;text-align:left;padding-left:20px}
.hfx-components .comparison-table thead th:last-child{width:137px}
.hfx-components .company-name{display:block;font-size:14px;font-weight:800}
.hfx-components .candidate{display:block;font-size:9px;color:var(--muted);font-weight:400}
.hfx-components .pending-dash{display:block;font-size:17px;color:var(--muted)}
.hfx-components .pending-label{display:block;font-size:9px;color:var(--muted);margin-top:6px}
.hfx-components .comparison-table thead th.is-highlight{background:var(--yellow);color:var(--navy)}
.hfx-components .comparison-table tbody td.is-highlight{background:#fffbe9;box-shadow:inset 2px 0 #e2bd10,inset -2px 0 #e2bd10}
.hfx-components .table-link{display:inline-flex;align-items:center;gap:6px;padding:9px 10px;border:1px solid #d2e3fd;border-radius:6px;background:#edf4ff;color:var(--blue);font-size:11px;white-space:nowrap;text-decoration:none}
.hfx-components .table-footnote{font-size:10px;color:var(--muted);margin-top:14px}
.hfx-components .broker-list{display:grid;gap:25px;margin-top:30px}
.hfx-components .broker-card{border:1px solid #cbd9eb;border-radius:16px;overflow:hidden;background:white;scroll-margin-top:105px}
.hfx-components .broker-head{display:flex;align-items:center;gap:17px;padding:22px 28px;background:linear-gradient(90deg,#f0f6ff,#fff);border-bottom:1px solid var(--line)}
.hfx-components .broker-wordmark{flex:none;display:flex;align-items:center;justify-content:center;width:68px;height:56px;background:white;border:1px solid #cfdef2;border-radius:9px;font-size:19px;font-weight:900;color:var(--deep)}
.hfx-components .broker-head h3{font-size:22px;margin:0;line-height:1.5}
.hfx-components .broker-overline{display:block;font-size:9px;color:var(--muted);margin-bottom:3px}
.hfx-components .status-tag{margin-left:auto;font-size:10px;border:1px solid #d1dce9;border-radius:5px;padding:4px 10px;color:var(--muted);background:#fff;white-space:nowrap}
.hfx-components .broker-body{display:grid;grid-template-columns:1fr 1.08fr;gap:37px;padding:29px}
.hfx-components .broker-story{min-width:0}.hfx-components .micro-label{font:800 9px/1.5 Arial;letter-spacing:.14em;color:var(--blue)}
.hfx-components .hfx-company-body h4{font-size:23px;line-height:1.65;margin:9px 0 0}.hfx-components .hfx-company-body p{font-size:11px;color:var(--muted);line-height:2;margin:13px 0 0}
.hfx-components .hfx-feature-box{padding:17px 18px;border-radius:10px;border:1px solid #dbe6f5;margin-top:12px;background:#f7faff}
.hfx-components .hfx-feature-box:first-child{margin-top:10px}
.hfx-components .hfx-feature-kicker{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--blue)}
.hfx-components .hfx-feature-recommend{border-left:4px solid var(--blue)}
.hfx-components .hfx-feature-caution{background:#fffaf0;border-color:#eadca8;border-left:4px solid #d5a800}
.hfx-components .hfx-feature-caution .hfx-feature-kicker{color:#8a6800}
.hfx-components .hfx-feature-box h4{font-size:18px;line-height:1.55;margin:6px 0 0}
.hfx-components .hfx-feature-box p{font-size:11px;line-height:1.9;margin:9px 0 0;color:var(--muted)}
.hfx-components .broker-specs{border-left:1px solid var(--line);padding-left:29px;min-width:0}
.hfx-components .broker-specs dl{margin:0;display:grid;grid-template-columns:1fr 1fr;background:#f4f7fc;border:1px solid #e5edf6;border-radius:9px;overflow:hidden}
.hfx-components .broker-specs dl>div{padding:10px 13px;min-height:59px}
.hfx-components .broker-specs dl>div:nth-child(odd){border-right:1px solid #dfe8f3}.hfx-components .broker-specs dl>div:nth-child(-n+2){border-bottom:1px solid #dfe8f3}
.hfx-components .broker-specs dt{font-size:9px;color:var(--muted)}.hfx-components .broker-specs dd{margin:3px 0 0;font-size:12px;font-weight:600;overflow-wrap:anywhere}
.hfx-components .campaign-placeholder{font-size:10px;background:#fffdf1;border:1px solid #ece0a4;border-radius:6px;padding:8px 12px;margin-top:12px}
.hfx-components .campaign-placeholder strong{display:block;font-size:11px}
.hfx-components .disabled-cta,.hfx-components .hfx-live-cta,.hfx-components .hfx-official-cta{width:100%;display:block;padding:12px;margin-top:12px;font-family:inherit;font-weight:700;font-size:12px;line-height:1.6;text-align:center;border-radius:6px;box-sizing:border-box}
.hfx-components .disabled-cta{background:#e9eef5;border:1px solid #cdd8e7;color:#5f6d81;cursor:not-allowed}.hfx-components .hfx-live-cta{background:var(--yellow);color:var(--navy);border:1px solid #e0c029;text-decoration:none}.hfx-components .hfx-official-cta{background:#fff;color:var(--blue);border:1px solid #b9cce9;text-decoration:none}.hfx-components .hfx-official-cta:hover{background:#f3f7fd}.hfx-components .hfx-link-actions{margin-top:12px}.hfx-components .hfx-link-actions .button{margin-top:8px}.hfx-components .link-note{font-size:9px;color:var(--muted);margin-top:6px;text-align:center}
.hfx-components .ad-note{font-size:9px;color:var(--muted);margin-top:7px;text-align:center}
.hfx-components .hfx-data-value{display:block;font-size:12px;line-height:1.8}.hfx-components .hfx-data-note,.hfx-components .hfx-spec-note{display:block;font-size:9px;line-height:1.8;color:var(--muted);margin-top:8px}
.hfx-components .hfx-source-list{font-size:10px;margin:8px 0 0;padding:0;list-style:none}.hfx-components .hfx-source-list a{color:var(--blue);text-decoration:underline}
.hfx-components .hfx-empty{background:white;padding:24px;border:1px solid var(--line);border-radius:12px;margin-top:22px}
.hfx-components .hfx-company-logo{max-height:100%;max-width:100%;object-fit:contain}
.hfx-components .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hfx-components a:focus-visible,.hfx-components button:focus-visible,.hfx-components [tabindex]:focus-visible{outline:3px solid #b46c00;outline-offset:4px}
@media(max-width:1100px){.hfx-components .comparison-table thead th:first-child,.hfx-components .comparison-table tbody th{position:sticky;left:0;z-index:2;box-shadow:2px 0 0 #d9e4f1}.hfx-components .comparison-table thead th:first-child{z-index:3}}
@media(max-width:600px){
.hfx-components{padding:40px 0}
.hfx-components .wrap{width:calc(100% - 28px)}
.hfx-components .section-title{font-size:24px}
.hfx-components .section-copy{font-size:11px}
.hfx-components .count-pill{font-size:9px;padding:7px 10px}
.hfx-components .count-pill strong{font-size:20px}
.hfx-components .scroll-hint{display:inline-flex;align-items:center;gap:7px;margin:11px 0 2px;padding:6px 10px;border:1px solid #cfe0f6;border-radius:999px;background:#edf5ff;color:#355276;font-size:10.5px;font-weight:800;line-height:1.4}
.hfx-components .scroll-hint::before{content:"↔";color:var(--blue);font-size:15px;line-height:1}
.hfx-components .comparison-scroll{margin-top:11px;border-radius:10px;scrollbar-color:#7f96b3 #e8eef6;scrollbar-width:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.hfx-components .comparison-scroll::-webkit-scrollbar{height:11px}
.hfx-components .comparison-scroll::-webkit-scrollbar-track{background:#e8eef6;border-radius:999px}
.hfx-components .comparison-scroll::-webkit-scrollbar-thumb{background:#7f96b3;border:2px solid #e8eef6;border-radius:999px}
.hfx-components .comparison-table{min-width:1060px;font-size:12px;line-height:1.55}
.hfx-components .comparison-table th,.hfx-components .comparison-table td{padding:15px 11px}
.hfx-components .comparison-table thead th{font-size:11.5px;line-height:1.45}
.hfx-components .comparison-table thead th:first-child,.hfx-components .comparison-table tbody th{width:158px;padding-left:14px;padding-right:12px;position:sticky;left:0;z-index:2;background:#fff;box-shadow:3px 0 0 #d7e2ef}
.hfx-components .comparison-table thead th:first-child{z-index:4;background:var(--deep);color:#fff}
.hfx-components .comparison-table thead th:nth-child(2){width:105px}
.hfx-components .comparison-table thead th:nth-child(3){width:110px}
.hfx-components .comparison-table thead th:nth-child(4){width:110px}
.hfx-components .comparison-table thead th:nth-child(5){width:112px}
.hfx-components .comparison-table thead th:nth-child(6){width:122px}
.hfx-components .comparison-table thead th:nth-child(7){width:128px}
.hfx-components .comparison-table thead th:nth-child(8){width:135px}
.hfx-components .comparison-table thead th:nth-child(9){width:130px}
.hfx-components .comparison-table tbody tr:nth-child(even) td,.hfx-components .comparison-table tbody tr:nth-child(even) th{background:#f9fbfe}
.hfx-components .comparison-table tbody tr:nth-child(even) th{box-shadow:3px 0 0 #d7e2ef}
.hfx-components .company-name{font-size:12.5px;line-height:1.45}
.hfx-components .candidate{font-size:9.5px;line-height:1.5;margin-top:4px}
.hfx-components .pending-label{font-size:9.5px}
.hfx-components .table-link{font-size:11px;padding:9px 11px}
.hfx-components .table-footnote{font-size:10.5px;line-height:1.7}
.hfx-components .broker-body{display:block;padding:20px}
.hfx-components .broker-head{padding:17px 16px;gap:12px}
.hfx-components .broker-head h3{font-size:18px}
.hfx-components .broker-wordmark{width:51px;height:46px;font-size:16px}
.hfx-components .status-tag{display:none}
.hfx-components .broker-specs{border-left:0;border-top:1px solid var(--line);padding:19px 0 0;margin-top:20px}
.hfx-components .hfx-company-body h4{font-size:21px}
.hfx-components .focus-button{font-size:10px;padding:7px 11px}
.hfx-components .focus-caption{font-size:10px}
.hfx-components .draft-note{font-size:10px;padding:12px}
}
@media(prefers-reduced-motion:reduce){.hfx-components *{scroll-behavior:auto!important;transition:none!important}}


/* 0.9.0: Readable company cards on narrow screens only.
 * Scope is intentionally .hfx-components.hfx-cards, not .hfx-components:
 * the comparison table, desktop/print layouts, and data logic stay unchanged.
 * Values, warnings and reference links are never truncated or hidden.
 */
@media screen and (max-width:600px) {
    .hfx-components.hfx-cards .broker-head > div:not(.broker-wordmark) {
        min-width:0;
        flex:1;
    }
    .hfx-components.hfx-cards .broker-head h3 {
        overflow-wrap:anywhere;
    }
    .hfx-components.hfx-cards .broker-overline {
        font-size:11px;
        line-height:1.6;
    }
    .hfx-components.hfx-cards .broker-body {
        padding:20px 16px;
    }
    .hfx-components.hfx-cards .micro-label {
        font-size:11px;
        line-height:1.6;
    }
    .hfx-components.hfx-cards .hfx-feature-box {
        padding:18px 16px;
        margin-top:16px;
    }
    .hfx-components.hfx-cards .hfx-feature-kicker {
        font-size:12px;
        line-height:1.6;
    }
    .hfx-components.hfx-cards .hfx-company-body h4 {
        font-size:21px;
        line-height:1.6;
        margin-top:8px;
    }
    .hfx-components.hfx-cards .hfx-company-body p,
    .hfx-components.hfx-cards .hfx-company-body ul,
    .hfx-components.hfx-cards .hfx-company-body ol {
        font-size:15px;
        line-height:1.9;
        color:#415373;
        margin-top:12px;
        overflow-wrap:anywhere;
    }
    .hfx-components.hfx-cards .hfx-company-body li + li {
        margin-top:8px;
    }
    .hfx-components.hfx-cards .broker-specs {
        margin-top:24px;
        padding-top:24px;
    }
    .hfx-components.hfx-cards .broker-specs dl {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .hfx-components.hfx-cards .broker-specs dl > div {
        min-width:0;
        padding:14px 12px;
        border:0;
    }
    .hfx-components.hfx-cards .broker-specs dl > div:first-child {
        border-right:1px solid #dfe8f3;
    }
    /* Keep spread/minimum together; give currency count and long details a full row. */
    .hfx-components.hfx-cards .broker-specs dl > div:nth-child(n+3) {
        grid-column:1 / -1;
        border-top:1px solid #dfe8f3;
    }
    .hfx-components.hfx-cards .broker-specs dt {
        font-size:12px;
        line-height:1.65;
        font-weight:600;
        color:#53637b;
        overflow-wrap:anywhere;
    }
    .hfx-components.hfx-cards .broker-specs dd {
        font-size:14px;
        line-height:1.85;
        color:#415373;
        margin-top:6px;
        overflow-wrap:anywhere;
    }
    .hfx-components.hfx-cards .hfx-spec-note,
    .hfx-components.hfx-cards .hfx-data-note {
        font-size:12px;
        line-height:1.85;
        color:#53637b;
        margin-top:14px;
        overflow-wrap:anywhere;
    }
    .hfx-components.hfx-cards .campaign-placeholder {
        display:block;
        font-size:12px;
        line-height:1.8;
        padding:12px 14px;
        margin-top:16px;
        overflow-wrap:anywhere;
    }
    .hfx-components.hfx-cards .campaign-placeholder strong {
        display:block;
        font-size:14px;
        line-height:1.8;
        margin-top:5px;
    }
    .hfx-components.hfx-cards .campaign-placeholder a {
        display:inline-block;
        font-size:13px;
        line-height:1.8;
        padding-block:6px;
        text-decoration:underline;
        overflow-wrap:anywhere;
    }
    .hfx-components.hfx-cards .hfx-link-actions {
        margin-top:16px;
    }
    .hfx-components.hfx-cards .hfx-link-actions .button {
        min-height:48px;
        height:auto;
        padding:13px 12px;
        font-size:14px;
        line-height:1.7;
        white-space:normal;
        overflow-wrap:anywhere;
    }
    .hfx-components.hfx-cards .link-note,
    .hfx-components.hfx-cards .ad-note {
        font-size:12px;
        line-height:1.8;
        color:#53637b;
        margin-top:8px;
        overflow-wrap:anywhere;
    }
    .hfx-components.hfx-cards .hfx-source-list {
        font-size:12px;
        line-height:1.8;
        margin-top:10px;
    }
    .hfx-components.hfx-cards .hfx-source-list a {
        display:inline-block;
        max-width:100%;
        padding-block:7px;
        overflow-wrap:anywhere;
    }
}
