:root{
    --brand-navy:#0b1f3a;
    --brand-blue:#1d4ed8;
    --brand-gold:#c9a24b;
    --brand-ink:#0b1f3a;
}
body{ font-family:'Inter', sans-serif; }
.hero-carousel{ position:relative; }
.hero-carousel .carousel-item{
    height: 78vh;
    min-height: 460px;
    background-size: cover;
    background-position: center;
}
/* dark gradient so text stays readable over any photo */
.hero-carousel .slide-overlay{
    position:absolute; inset:0;
    background: linear-gradient(90deg, rgba(11,31,58,.88) 0%, rgba(11,31,58,.55) 45%, rgba(11,31,58,.25) 100%);
}
.hero-carousel .carousel-caption{
    position:absolute;
    inset:0;
    text-align:left;
    left:0; right:0; bottom:0; top:0;
    display:flex;
    align-items:center;
    padding: 0 8%;
    max-width: 720px;
}
.hero-carousel .caption-inner{ position:relative; z-index:2; }
.hero-eyebrow{
    font-family:'Poppins', sans-serif;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-size:.8rem;
    color: var(--brand-gold);
    font-weight:600;
    margin-bottom:.75rem;
}
.hero-title{
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size: clamp(1.8rem, 3.2vw, 3rem);
    color:#fff;
    line-height:1.15;
    margin-bottom:1rem;
}
.hero-text{
    color: rgba(255,255,255,.85);
    font-size: 1.05rem;
    margin-bottom:1.75rem;
    max-width: 560px;
}
.btn-brand{
    background: var(--brand-gold);
    border-color: var(--brand-gold);
    color: var(--brand-navy);
    font-weight:600;
    padding:.65rem 1.5rem;
}
.btn-brand:hover{ background:#b6903c; border-color:#b6903c; color:var(--brand-navy); }
.btn-outline-light-brand{
    border:1px solid rgba(255,255,255,.6);
    color:#fff;
    font-weight:600;
    padding:.65rem 1.5rem;
}
.btn-outline-light-brand:hover{ background:rgba(255,255,255,.12); color:#fff; }

/* store badge row for slide 2 */
.store-badges a{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    background:#fff;
    color: var(--brand-navy);
    border-radius:.5rem;
    padding:.55rem 1rem;
    text-decoration:none;
    font-weight:600;
    font-size:.9rem;
    margin-right:.6rem;
    margin-bottom:.6rem;
    transition: transform .15s ease;
}
.store-badges a:hover{ transform: translateY(-2px); }
.store-badges i{ font-size:1.2rem; }

/* controls & indicators */
.hero-carousel .carousel-control-prev,
.hero-carousel .carousel-control-next{ width:5%; opacity:.85; }
.hero-carousel .carousel-control-prev-icon,
.hero-carousel .carousel-control-next-icon{
    background-color: rgba(255,255,255,.18);
    border-radius:50%;
    padding:1.3rem;
    background-size:50%;
}
.hero-carousel .carousel-indicators{ margin-bottom:1.5rem; }
.hero-carousel .carousel-indicators [data-bs-target]{
    width:34px; height:4px; border-radius:2px;
    background-color: rgba(255,255,255,.45);
    border:0;
}
.hero-carousel .carousel-indicators .active{ background-color: var(--brand-gold); }

@media (max-width: 767.98px){
    .hero-carousel .carousel-item{ height:auto; min-height:560px; }
    .hero-carousel .carousel-caption{ padding: 0 6%; max-width:100%; }
    .hero-text{ font-size:.95rem; }
}
