/* ============================================================
   Homepage trust stats + about company
   ------------------------------------------------------------
   Markup: resources/views/frontend/home.blade.php
   Behaviour: public/frontend/js/home-about.js (count-up)
   ============================================================ */

.hst, .hab {
    --ha-navy: #061634;
    --ha-blue: #2563eb;
    --ha-ink: #0f172a;
    --ha-text: #475569;
    --ha-muted: #64748b;
    --ha-line: #e6ebf3;
    --ha-soft: #f5f8fe;
}

/* ── Stats ────────────────────────────────────────────────── */
.hst { padding: 36px 0 64px; }
.hst__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: #fff;
    border: 1px solid var(--ha-line);
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .06);
    overflow: hidden;
}
.hst__item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 28px 26px;
    transition: background .2s;
}
.hst__item + .hst__item::before {
    content: "";
    position: absolute;
    left: 0; top: 24px; bottom: 24px;
    width: 1px;
    background: var(--ha-line);
}
.hst__item:hover { background: var(--ha-soft); }
.hst__icon {
    flex-shrink: 0;
    width: 56px; height: 56px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    color: var(--c, var(--ha-blue));
    background: color-mix(in srgb, var(--c, #2563eb) 12%, #fff);
    transition: transform .25s;
}
.hst__item:hover .hst__icon { transform: translateY(-3px) rotate(-4deg); }
.hst__num {
    display: block;
    font-size: clamp(1.7rem, 2.6vw, 2.25rem);
    font-weight: 900;
    line-height: 1;
    color: var(--ha-ink);
    letter-spacing: -.02em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.hst__label { display: block; margin-top: 6px; font-size: 14px; font-weight: 800; color: var(--ha-ink); }
.hst__hint { display: block; margin-top: 2px; font-size: 12.5px; color: var(--ha-muted); line-height: 1.35; }

/* ── About ────────────────────────────────────────────────── */
.hab {
    position: relative;
    padding: 84px 0;
    background: linear-gradient(180deg, #f4f7fc 0%, #eef3fb 100%);
    overflow: hidden;
}
.hab::before {
    content: "";
    position: absolute;
    right: -180px; top: -180px;
    width: 520px; height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(37, 99, 235, .10), transparent 70%);
    pointer-events: none;
}
.hab__grid {
    position: relative;
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 56px;
    align-items: center;
}

/* Company card */
.hab__card {
    position: relative;
    background: #fff;
    border-radius: 24px;
    border: 1px solid var(--ha-line);
    box-shadow: 0 30px 70px rgba(15, 23, 42, .10);
    overflow: hidden;
}
.hab__card-top {
    position: relative;
    padding: 34px 30px 26px;
    text-align: center;
    background:
        radial-gradient(400px 200px at 50% 0%, rgba(37, 99, 235, .10), transparent 70%),
        #fff;
    border-bottom: 1px solid var(--ha-line);
}
.hab__logo { display: block; max-width: 230px; max-height: 70px; width: auto; margin: 0 auto 14px; object-fit: contain; }
.hab__logo-text { display: block; font-size: 1.9rem; font-weight: 900; color: var(--ha-blue); letter-spacing: .04em; margin-bottom: 10px; }
.hab__name { margin: 0; font-size: 1.05rem; font-weight: 800; color: var(--ha-ink); letter-spacing: .02em; }
.hab__verified {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    padding: 4px 12px;
    border-radius: 999px;
    background: #ecfdf5;
    color: #047857;
    font-size: 12px;
    font-weight: 800;
}
.hab__contact { list-style: none; margin: 0; padding: 18px 26px; display: grid; gap: 12px; }
.hab__contact li { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: var(--ha-text); line-height: 1.45; }
.hab__contact i {
    flex-shrink: 0;
    width: 32px; height: 32px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ha-soft);
    color: var(--ha-blue);
    font-size: 13px;
}
.hab__contact small { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; }
.hab__contact a { color: var(--ha-ink); font-weight: 700; text-decoration: none; }
.hab__contact a:hover { color: var(--ha-blue); }
.hab__members {
    padding: 16px 26px 22px;
    border-top: 1px dashed var(--ha-line);
}
.hab__members-title { font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #94a3b8; margin-bottom: 10px; }
.hab__members-list { display: flex; flex-wrap: wrap; gap: 8px; }
.hab__member {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--ha-soft);
    border: 1px solid var(--ha-line);
    font-size: 12.5px;
    font-weight: 800;
    color: #1e3a8a;
}
.hab__member i { color: #f59e0b; font-size: 11px; }

/* Content */
.hab__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ha-blue);
}
.hab__eyebrow::before { content: ""; width: 28px; height: 2px; border-radius: 2px; background: currentColor; }
.hab__title {
    margin: 12px 0 16px;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -.02em;
    color: var(--ha-ink);
}
.hab__title span {
    background: linear-gradient(90deg, #1d4ed8, #0891b2);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.hab__desc { margin: 0 0 26px; font-size: 1.02rem; line-height: 1.8; color: var(--ha-text); max-width: 680px; }

.hab__features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-bottom: 28px; }
.hab__feature {
    display: flex;
    gap: 14px;
    padding: 16px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--ha-line);
    text-decoration: none;
    transition: transform .2s, box-shadow .2s, border-color .2s;
}
.hab__feature:hover { transform: translateY(-3px); border-color: #c7d7fb; box-shadow: 0 14px 30px rgba(37, 99, 235, .1); }
.hab__feature-ico {
    flex-shrink: 0;
    width: 44px; height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 17px;
    background: linear-gradient(135deg, var(--c1, #2563eb), var(--c2, #1d4ed8));
    box-shadow: 0 8px 18px color-mix(in srgb, var(--c1, #2563eb) 30%, transparent);
}
.hab__feature-title { display: flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 800; color: var(--ha-ink); }
.hab__feature-title i { font-size: 10px; color: #94a3b8; transition: transform .2s, color .2s; }
.hab__feature:hover .hab__feature-title i { transform: translateX(3px); color: var(--ha-blue); }
.hab__feature-desc { display: block; margin-top: 3px; font-size: 13px; line-height: 1.5; color: var(--ha-muted); }

.hab__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hab__btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    height: 50px;
    padding: 0 24px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
    transition: transform .2s, box-shadow .2s, background .2s;
}
.hab__btn--primary { background: linear-gradient(135deg, #0b1f4d, #1d4ed8); color: #fff !important; box-shadow: 0 12px 26px rgba(29, 78, 216, .28); }
.hab__btn--primary:hover { transform: translateY(-2px); box-shadow: 0 16px 32px rgba(29, 78, 216, .36); }
.hab__btn--ghost { background: #fff; color: var(--ha-ink) !important; border: 1.5px solid var(--ha-line); }
.hab__btn--ghost:hover { border-color: #c7d7fb; color: var(--ha-blue) !important; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 1199.98px) {
    .hab__grid { grid-template-columns: 360px 1fr; gap: 40px; }
    .hst__item { padding: 24px 18px; gap: 12px; }
    .hst__icon { width: 48px; height: 48px; font-size: 19px; }
}
@media (max-width: 991.98px) {
    .hst__grid { grid-template-columns: repeat(2, 1fr); }
    .hst__item:nth-child(3)::before { display: none; }
    .hst__item:nth-child(n+3) { border-top: 1px solid var(--ha-line); }
    .hab { padding: 64px 0; }
    .hab__grid { grid-template-columns: 1fr; }
    .hab__card { max-width: 520px; width: 100%; margin: 0 auto; order: 2; }
}
@media (max-width: 575.98px) {
    .hst { padding: 24px 0 44px; }
    .hst__item { flex-direction: column; align-items: flex-start; padding: 20px 16px; }
    .hab__features { grid-template-columns: 1fr; }
    .hab__btn { flex: 1 1 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
    .hst *, .hab * { transition: none !important; }
}
