:root {
    --bg:#080b10;
    --panel:#10151d;
    --panel2:#151b24;
    --text:#f4f7fa;
    --muted:#94a0ad;
    --line:#26313d;
    --blue:#76d0ff;
    --gold:#e9c16e;
    --gold-soft:#322917;
}

* {
    box-sizing:border-box;
}

html {
    background:var(--bg);
}

body {
    margin:0;
    background:
        radial-gradient(
            circle at 50% 0,
            #15202a 0,
            var(--bg) 38%
        );
    color:var(--text);
    font-family:
        Inter,
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}

a {
    color:inherit;
}

button,
input {
    font:inherit;
}

.wrap {
    width:min(
        1180px,
        calc(100% - 32px)
    );
    margin:0 auto;
}

.site-header {
    padding:24px 0;
}

.header-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.brand {
    color:white;
    font-size:13px;
    font-weight:900;
    letter-spacing:.14em;
    text-decoration:none;
}

.method-link {
    color:var(--muted);
    font-size:12px;
    text-decoration:none;
}

.hero {
    padding:58px 0 28px;
}

.eyebrow,
.section-kicker {
    color:var(--blue);
    font-size:10px;
    font-weight:900;
    letter-spacing:.14em;
}

h1 {
    max-width:850px;
    margin:12px 0 0;
    font-size:clamp(
        42px,
        7vw,
        76px
    );
    line-height:.98;
    letter-spacing:-.055em;
}

.hero-copy {
    max-width:780px;
    margin:20px 0 0;
    color:#bec8d2;
    font-size:17px;
    line-height:1.65;
}

.evidence-note {
    max-width:900px;
    margin-top:22px;
    padding:14px 16px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#0d1218;
    color:#9faab6;
    font-size:12px;
    line-height:1.55;
}

.featured-provider {
    margin:28px 0 50px;
    padding:29px;
    border:1px solid #705b32;
    border-radius:21px;
    background:
        linear-gradient(
            135deg,
            #1d1a13,
            #10161d 65%
        );
}

.featured-badges {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:18px;
}

.featured-badge {
    padding:7px 10px;
    border:1px solid #725c31;
    border-radius:999px;
    background:var(--gold-soft);
    color:#f2ce84;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}

.featured-grid {
    display:grid;
    grid-template-columns:
        minmax(0,1fr)
        auto;
    gap:28px;
    align-items:end;
}

.featured-provider h2 {
    margin:7px 0 8px;
    font-size:clamp(
        31px,
        5vw,
        47px
    );
    letter-spacing:-.04em;
}

.featured-summary {
    max-width:760px;
    color:#c5ccd5;
    line-height:1.65;
}

.featured-actions {
    display:flex;
    min-width:200px;
    flex-direction:column;
    gap:8px;
}

.featured-disclosure {
    margin-top:20px;
    padding-top:15px;
    border-top:1px solid #4b412a;
    color:#a89f8b;
    font-size:11px;
    line-height:1.5;
}

.button {
    display:inline-flex;
    min-height:40px;
    align-items:center;
    justify-content:center;
    padding:0 13px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#171e27;
    color:white;
    font-size:12px;
    font-weight:800;
    text-decoration:none;
}

.button.primary {
    border-color:#806838;
    background:#e0b85e;
    color:#151209;
}

.requirements-section,
.chart-section,
.directory-section {
    margin:46px 0;
}

.section-heading-row,
.chart-top,
.directory-heading,
.provider-group-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
}

.section-heading-row h2,
.chart-top h2,
.directory-heading h2 {
    margin:6px 0 0;
    font-size:30px;
    letter-spacing:-.035em;
}

.directory-heading p {
    margin:7px 0 0;
    color:var(--muted);
    font-size:13px;
}

.clear-button {
    padding:8px 11px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#111720;
    color:#aab4bf;
    cursor:pointer;
}

.requirement-grid {
    display:grid;
    grid-template-columns:
        repeat(
            4,
            minmax(0,1fr)
        );
    gap:8px;
    margin-top:18px;
}

.requirement {
    min-height:54px;
    padding:9px 11px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#10161e;
    color:#c4ccd5;
    cursor:pointer;
}

.requirement.active {
    border-color:#4797c1;
    background:#102638;
    color:#c9eeff;
}

.quick-block {
    margin-top:18px;
}

.quick-label {
    margin-bottom:8px;
    color:#7f8995;
    font-size:10px;
    font-weight:900;
    letter-spacing:.1em;
}

.quick-picks {
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

.quick-picks button {
    padding:7px 10px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#0e141c;
    color:#aeb8c3;
    font-size:11px;
    cursor:pointer;
}

#match-count,
.directory-count {
    flex:0 0 auto;
    margin:0;
    padding:7px 10px;
    border:1px solid var(--line);
    border-radius:999px;
    color:#aeb9c5;
    font-size:11px;
}

.chart-card {
    margin-top:16px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:17px;
    background:#0d1218;
}

.chart-header {
    display:flex;
    align-items:start;
    justify-content:space-between;
    gap:20px;
}

.chart-header h3 {
    margin:6px 0 0;
    font-size:22px;
}

.status-badge {
    padding:7px 9px;
    border:1px solid var(--line);
    border-radius:999px;
    color:#8fd8ff;
    font-size:10px;
    font-weight:800;
}

.chart-shell {
    position:relative;
    margin-top:18px;
    overflow:auto;
}

#market-chart {
    display:block;
    width:100%;
    min-width:820px;
    min-height:410px;
}

.chart-grid-line {
    stroke:#25313d;
    stroke-width:1;
}

.chart-grid-label,
.chart-axis-label {
    fill:#74808d;
    font-size:11px;
}

.chart-point {
    fill:#76d0ff;
    stroke:#d9f4ff;
    stroke-width:1.5;
}

.featured-point {
    fill:#e9c16e;
    stroke:#fff1c9;
}

.chart-provider-label {
    fill:#aab6c2;
    font-size:9px;
}

.chart-note {
    margin:12px 0 0;
    color:#8e99a5;
    font-size:11px;
    line-height:1.55;
}

.empty-state {
    padding:30px;
    color:var(--muted);
    text-align:center;
}

.provider-search {
    width:100%;
    margin:20px 0 28px;
    padding:13px 14px;
    border:1px solid var(--line);
    border-radius:11px;
    outline:0;
    background:#0c1016;
    color:white;
}

.provider-group {
    margin:32px 0;
}

.provider-group-head {
    margin-bottom:13px;
}

.provider-group-head h3 {
    margin:5px 0 0;
    font-size:25px;
    letter-spacing:-.03em;
}

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

.provider-card {
    display:flex;
    min-width:0;
    flex-direction:column;
    padding:17px;
    border:1px solid var(--line);
    border-radius:15px;
    background:var(--panel);
}

.provider-card h3 {
    margin:0 0 6px;
    font-size:19px;
    line-height:1.16;
}

.provider-location {
    color:#a7b0bc;
    font-size:12px;
    line-height:1.45;
}

.provider-summary {
    display:-webkit-box;
    margin:12px 0;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
    color:#c0c7d0;
    font-size:13px;
    line-height:1.5;
}

.service-tags {
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin:13px 0;
}

.service-tag {
    padding:5px 7px;
    border:1px solid var(--line);
    border-radius:7px;
    background:#0d1117;
    color:#bfc7d0;
    font-size:10px;
}

.provider-actions {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:auto;
}

.provider-button {
    min-height:35px;
    padding:0 10px;
    font-size:11px;
}

.provider-source {
    margin-top:12px;
    color:#7d8996;
    font-size:10px;
    line-height:1.35;
    text-decoration:none;
}

.provider-empty {
    padding:20px;
    border:1px solid var(--line);
    border-radius:12px;
    color:var(--muted);
    text-align:center;
}

.methodology {
    margin:52px 0 30px;
    padding:24px;
    border:1px solid var(--line);
    border-radius:17px;
    background:#0d1117;
}

.methodology p {
    color:#abb4c0;
    line-height:1.65;
}

.methodology a {
    color:#9edcff;
}

footer {
    padding:35px 0 60px;
    color:#737e8b;
    font-size:11px;
    line-height:1.6;
}

[hidden] {
    display:none !important;
}

@media(max-width:860px) {

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

    .featured-actions {
        min-width:0;
        flex-direction:row;
        flex-wrap:wrap;
    }

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

    .provider-grid {
        grid-template-columns:1fr;
        gap:9px;
    }

    .section-heading-row,
    .chart-top,
    .directory-heading,
    .provider-group-head {
        align-items:flex-start;
        flex-direction:column;
    }

    .provider-card {
        padding:15px;
    }

    .provider-summary {
        -webkit-line-clamp:3;
    }

    #market-chart {
        min-height:360px;
    }
}

@media(max-width:520px) {

    .hero {
        padding-top:30px;
    }

    .featured-provider {
        padding:20px;
    }

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

    .requirement {
        min-height:49px;
        font-size:12px;
    }

    .provider-card h3 {
        font-size:18px;
    }
}

/* ORCACHARTS_LAS_VEGAS_HVAC_DIRECTORY_V2 */

/* ORCACHARTS_HVAC_UNIFIED_GUIDE_STYLE_V1 */

.hvac-unified-guide {
    margin-top: 3rem;
}

.hvac-unified-guide__intro {
    max-width: 860px;
}

.hvac-unified-guide__grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1.25rem;
}

.hvac-unified-guide__card,
.hvac-unified-guide__checklist,
.hvac-unified-guide__standard {
    border: 1px solid rgba(127, 127, 127, 0.34);
    border-radius: 16px;
    padding: 1.1rem;
}

.hvac-unified-guide__card h3,
.hvac-unified-guide__checklist h3,
.hvac-unified-guide__standard h3 {
    margin-top: 0;
}

.hvac-unified-guide__checklist,
.hvac-unified-guide__standard {
    margin-top: 1rem;
}

.hvac-unified-guide__checklist ul {
    margin-bottom: 0;
}

@media (max-width: 760px) {
    .hvac-unified-guide__grid {
        grid-template-columns: 1fr;
    }
}

/* /ORCACHARTS_HVAC_UNIFIED_GUIDE_STYLE_V1 */

