/* hero.css — homepage hero, trust bar, float controls */
.hero-wrap {
    position: relative;
    height: 75vh; min-height: 460px; max-height: 700px;
    display: flex; flex-direction: column; justify-content: flex-end;
    overflow: hidden; background: var(--primary);
}
.hero-bg {
    position: absolute; inset: 0;
    background: url('') center center / cover no-repeat;
    transform: scale(1.03); transition: transform 8s ease-out;
}
.hero-wrap:hover .hero-bg { transform: scale(1); }
.hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.25) 40%, rgba(0,0,0,0.65) 100%);
}
.hero-content {
    position: relative; z-index: 2;
    padding: clamp(30px,5vw,60px) clamp(20px,6vw,80px); max-width: 900px;
}
.hero-eyebrow {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.25);
    color: rgba(255,255,255,0.95); font-size: 0.72rem; font-weight: 700;
    letter-spacing: 2px; text-transform: uppercase;
    padding: 6px 14px; border-radius: 20px; backdrop-filter: blur(6px); margin-bottom: 18px;
}
.hero-heading {
    font-size: clamp(2rem,5.5vw,3.6rem); font-weight: 900; color: #ffffff;
    line-height: 1.15; margin: 0 0 18px; letter-spacing: -0.5px;
    text-shadow: 0 2px 30px rgba(0,0,0,0.4);
}
.hero-heading span { color: var(--accent); }
.hero-sub {
    font-size: clamp(0.95rem,2vw,1.15rem); color: rgba(255,255,255,0.92);
    margin: 0 0 32px; max-width: 520px; line-height: 1.6;
    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
}
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.hero-btn-primary {
    display: inline-flex; align-items: center; gap: 8px;
    background: var(--accent); color: #fff;
    padding: 15px 32px; border-radius: 8px; text-decoration: none;
    font-weight: 800; font-size: 0.9rem; letter-spacing: 0.5px;
    transition: filter 0.2s, transform 0.2s;
}
.hero-btn-primary:hover { filter: brightness(1.1); transform: translateY(-2px); }
.hero-btn-ghost {
    display: inline-flex; align-items: center; gap: 8px;
    background: transparent; color: #fff;
    padding: 14px 28px; border-radius: 8px; text-decoration: none;
    font-weight: 700; font-size: 0.9rem; border: 2px solid rgba(255,255,255,0.45);
    transition: background 0.2s, border-color 0.2s;
}
.hero-btn-ghost:hover { background: rgba(255,255,255,0.12); border-color: rgba(255,255,255,0.8); }
/* Trust bar */
.hero-trust {
    position: relative; z-index: 2; background: #ffffff;
    display: grid; grid-template-columns: repeat(4,1fr);
    border-top: 1px solid #f0f0f0;
}
.trust-item {
    display: flex; flex-direction: column; align-items: center;
    justify-content: center; gap: 4px; padding: 11px 4px;
    color: var(--primary); font-size: 0.68rem; font-weight: 700;
    letter-spacing: 0.3px; text-transform: uppercase; text-align: center;
    border-right: 1px solid #f0f0f0;
}
.trust-item:last-child { border-right: none; }
.trust-item i { color: var(--primary); font-size: 1rem; }
.trust-sep { display: none; }
.hero-location {
    position: absolute; top: 24px; right: clamp(20px,4vw,40px); z-index: 3;
    display: flex; align-items: center; gap: 7px;
    background: rgba(0,0,0,0.4); backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,0.2); color: rgba(255,255,255,0.9);
    font-size: 0.75rem; font-weight: 600; padding: 8px 14px; border-radius: 20px;
}
.hero-location i { color: var(--accent); font-size: 0.8rem; }
/* Floating controls */
.hero-float-controls { display: none; }
@media (max-width: 1024px) {
    .hero-float-controls {
        display: grid;
        grid-template-columns: 44px 1fr 80px;
        align-items: center;
        gap: 8px;
        position: absolute;
        top: 10px; left: 10px; right: 10px; z-index: 4;
    }
    .hero-float-menu {
        display: flex; align-items: center; justify-content: center;
        width: 44px; height: 44px;
        background: rgba(255,255,255,0.18); backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(255,255,255,0.35);
        border-radius: 50%; color: white; font-size: 1rem; cursor: pointer;
    }
    .hero-float-logo {
        display: flex; align-items: center; justify-content: center;
        text-decoration: none;
    }
    .hero-float-logo img {
        max-height: 52px; max-width: 140px; object-fit: contain;
        border: 1.5px solid rgba(255,255,255,0.5);
        border-radius: 8px; padding: 3px;
        background: rgba(255,255,255,0.12);
        backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
        filter: drop-shadow(0 2px 6px rgba(0,0,0,0.3));
    }
    .hero-float-book {
        display: flex; align-items: center; justify-content: center;
        background: rgba(255,255,255,0.18); backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border: 1px solid rgba(255,255,255,0.35);
        color: white; text-decoration: none;
        border-radius: 20px; height: 44px;
        font-size: 0.65rem; font-weight: 800; letter-spacing: 0.5px;
        white-space: nowrap;
    }
}
@media (max-width: 600px) {
    .hero-wrap { height: 65vmax; min-height: 340px; max-height: 420px; }
    .hero-content { padding: 16px 14px 14px; }
    .hero-eyebrow { font-size: 0.6rem; padding: 4px 10px; margin-bottom: 8px; }
    .hero-heading { font-size: clamp(1.45rem,5.5vw,1.9rem); line-height: 1.2; margin-bottom: 8px; }
    .hero-sub { font-size: 0.8rem; margin-bottom: 12px; line-height: 1.45; }
    .hero-location { display: none; }
    .hero-actions { gap: 7px; flex-wrap: nowrap; }
    .hero-btn-primary { padding: 10px 12px; font-size: 0.76rem; flex: 1; justify-content: center; white-space: nowrap; }
    .hero-btn-ghost { padding: 9px 10px; font-size: 0.76rem; border-width: 1.5px; flex: 1; justify-content: center; white-space: nowrap; }
    .trust-item { padding: 9px 3px; font-size: 0.6rem; gap: 3px; }
    .trust-item i { font-size: 0.9rem; }
}

/* ── Carousel (trust + why, only when >4 items) ───────────────────────────── */
@media (max-width: 1024px) {
    .trust-carousel {
        display: flex !important;
        overflow: hidden;
        position: relative;
    }
    .trust-carousel .trust-item {
        min-width: 25%;
        flex-shrink: 0;
        transition: transform 0.4s ease;
        border-right: 1px solid #f0f0f0;
    }
    .trust-dots, .why-dots {
        display: flex; justify-content: center; gap: 5px;
        padding: 6px 0; background: white;
    }
    .trust-dots button, .why-dots button {
        width: 6px; height: 6px; min-width: 6px; min-height: 6px;
        border-radius: 50%; border: none; padding: 0; cursor: pointer;
        background: #e2e8f0; flex-shrink: 0; transition: background 0.2s;
    }
    .trust-dots button.active, .why-dots button.active {
        background: var(--primary, #1a3c5a);
    }
    .why-carousel .why-strip-inner {
        display: flex !important;
        overflow: hidden;
    }
    .why-carousel .why-item {
        min-width: 50%;
        flex-shrink: 0;
        transition: transform 0.4s ease;
    }
}
