/* ============================================================
   How It Works — 3-step panel
   ============================================================ */

.huc-how {
    --huc-how-panel-bg: color-mix(in srgb, var(--huc-darkGray-clr) 5%, var(--huc-white-clr));
    --huc-how-marker-active: var(--huc-accent-clr);
    --huc-how-marker-done-bg: color-mix(in srgb, var(--huc-green-clr) 24%, var(--huc-white-clr));
    --huc-how-marker-done-fg: var(--huc-green-clr);
}

.huc-how-panel {
    padding: 2.5rem;
    border-radius: 28px;
    background-color: var(--huc-how-panel-bg);
}

.huc-how-panel__title {
    margin: 0 0 2rem;
    font-size: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem);
    font-weight: 800;
    color: var(--huc-blue-clr);
}

.huc-how-panel__title:has(+ .huc-how-panel__subtitle) {
    margin-bottom: 0.75rem;
}

.huc-how-panel__subtitle {
    margin: 0 0 2rem;
    max-width: 640px;
    font-size: 0.9375rem;
    color: var(--huc-gray-clr);
    line-height: 1.5;
}

/* ---- Step ---- */
.huc-how-step__marker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 1.25rem;
    border-radius: 50%;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--huc-white-clr);
}

.huc-how-step__marker--active {
    background-color: var(--huc-how-marker-active);
}

.huc-how-step__marker--done {
    background-color: var(--huc-how-marker-done-bg);
    color: var(--huc-how-marker-done-fg);
    font-size: 1.25rem;
}

.huc-how-step__title {
    margin: 0 0 0.625rem;
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--huc-darkGray-clr);
}

.huc-how-step__text {
    margin: 0;
    max-width: 34ch;
    font-size: 0.9375rem;
    line-height: 1.65;
    color: var(--huc-gray-clr);
}

/* ---- Responsive ---- */
@media (max-width: 767.98px) {
    .huc-how-panel {
        padding: 2rem 1.5rem;
        border-radius: 22px;
    }

    .huc-how-step__text {
        max-width: none;
    }
}

@media (max-width: 575.98px) {
    .huc-how-panel {
        padding: 1.75rem 1.25rem;
    }
}
