/* "Why choose us" section v2. Loaded after homepage.css / home-hero.css. */
#homepage > section.home-benefits { position:relative; padding:56px 0 96px; }
#homepage > section.home-benefits::before {
    content:"";
    position:absolute;
    left:50%;
    top:0;
    width:min(900px,90%);
    height:1px;
    transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,rgba(147,185,255,.35),transparent);
}

/* heading block */
#homepage .home-benefits .hb-head {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:end;
    gap:20px 56px;
    margin-bottom:48px;
}
#homepage .home-benefits .hb-kicker {
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin:0 0 14px;
    color:#93b9ff;
    font-size:12px;
    font-weight:800;
    letter-spacing:.18em;
    text-transform:uppercase;
}
#homepage .home-benefits .hb-kicker::before { content:""; width:26px; height:2px; border-radius:2px; background:#ffc107; }
#homepage .home-benefits .hb-head h2 { margin:0; font-size:clamp(30px,3.6vw,48px); font-weight:800; letter-spacing:-.03em; line-height:1.08; }
#homepage .home-benefits .hb-lead { margin:0; color:#a9c1e6; font-size:17px; line-height:1.7; max-width:54ch; justify-self:end; }

/* cards */
#homepage .home-benefits > .container > .hb-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
#homepage .home-benefits .grid > .hb-card {
    --c:#60a5fa;
    --t:rgba(96,165,250,.14);
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
    padding:34px 30px 28px;
    border:1px solid rgba(147,185,255,.18);
    border-radius:20px;
    background:linear-gradient(160deg,rgba(24,44,82,.85) 0%,rgba(14,28,56,.85) 100%);
    box-shadow:0 18px 44px rgba(0,0,0,.25);
    transition:transform .3s,border-color .3s,box-shadow .3s;
}
#homepage .home-benefits .grid > .hb-card--security { --c:#fbbf24; --t:rgba(251,191,36,.14); }
#homepage .home-benefits .grid > .hb-card--support { --c:#34d399; --t:rgba(52,211,153,.14); }
/* accent bar + corner glow */
#homepage .home-benefits .grid > .hb-card::before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:3px;
    background:linear-gradient(90deg,var(--c),transparent 80%);
    opacity:.85;
}
#homepage .home-benefits .grid > .hb-card::after {
    content:"";
    position:absolute;
    right:-80px;
    top:-80px;
    width:220px;
    height:220px;
    border-radius:50%;
    background:radial-gradient(circle,var(--t),transparent 70%);
    pointer-events:none;
}
#homepage .home-benefits .grid > .hb-card:hover {
    transform:translateY(-6px);
    border-color:var(--c);
    box-shadow:0 28px 60px rgba(0,0,0,.38),0 0 0 1px var(--c) inset;
}
#homepage .home-benefits .hb-num {
    position:absolute;
    right:26px;
    top:22px;
    font-size:44px;
    font-weight:800;
    line-height:1;
    letter-spacing:-.04em;
    color:rgba(255,255,255,.07);
    font-variant-numeric:tabular-nums;
}
#homepage .home-benefits .hb-icon {
    display:grid;
    place-items:center;
    width:60px;
    height:60px;
    margin:0 0 26px;
    border-radius:16px;
    background:var(--t);
    border:1px solid color-mix(in srgb,var(--c) 40%,transparent);
    color:var(--c);
}
#homepage .home-benefits .hb-icon svg { width:28px; height:28px; margin:0; color:inherit; }
#homepage .home-benefits .hb-card h3 { position:relative; margin:0 0 10px; font-size:22px; font-weight:700; line-height:1.25; color:#fff; letter-spacing:-.01em; }
#homepage .home-benefits .hb-card p { position:relative; margin:0 0 22px; color:#b6c9e8; font-size:15.5px; line-height:1.7; }
#homepage .home-benefits .hb-link {
    position:relative;
    margin-top:auto;
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--c);
    font-size:14.5px;
    font-weight:700;
    text-decoration:none;
}
#homepage .home-benefits .hb-link svg { width:17px; height:17px; margin:0; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s; }
#homepage .home-benefits .hb-link:hover { color:#fff; }
#homepage .home-benefits .hb-link:hover svg { transform:translateX(4px); }

@media (max-width:1023px) {
    #homepage .home-benefits .hb-head { grid-template-columns:1fr; gap:16px; margin-bottom:36px; }
    #homepage .home-benefits .hb-lead { justify-self:start; }
    #homepage .home-benefits > .container > .hb-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
    #homepage > section.home-benefits { padding:40px 0 64px; }
    #homepage .home-benefits > .container > .hb-grid { grid-template-columns:1fr; gap:18px; }
    #homepage .home-benefits .grid > .hb-card { padding:28px 24px 24px; }
}
@media (prefers-reduced-motion:reduce) {
    #homepage .home-benefits .grid > .hb-card:hover { transform:none; }
}
