*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Poppins,sans-serif;
}

:root{
--orange:#f58220;
--gold:#d4af37;
--cream:#fff7ec;
--dark:#3c2815;
}

body{
background:var(--cream);
color:var(--dark);
}

.container{
width:90%;
max-width:1200px;
margin:auto;
}

header{
background:white;
position:sticky;
top:0;
z-index:99;
box-shadow:0 2px 15px rgba(0,0,0,.05);
}

.nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:20px 0;
}

.btn-wa{
background:var(--orange);
color:white;
padding:12px 24px;
border-radius:50px;
text-decoration:none;
font-weight:600;
}

.hero{
    position:relative;
    min-height:750px;

    background:
    url('https://tabungan-qurban.shariaaqiqah.com/assets/banner-hero.png');

    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;

    display:flex;
    align-items:center;
}

.overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(255,247,236,.95) 0%,
        rgba(255,247,236,.85) 35%,
        rgba(255,247,236,.15) 100%
    );
}
.hero::before{
    content:"";

    position:absolute;

    inset:0;

    background:
    radial-gradient(
        circle at top left,
        rgba(255,255,255,.7),
        transparent 40%
    );

    z-index:1;
}
.hero-wrap{
    position:relative;
    z-index:2;
    width:100%;
    display:flex;
    align-items:center;
    min-height:750px;
}

.hero-content{
    max-width:950px;

 
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);

    padding:50px;

    border-radius:30px;

    border:1px solid rgba(255,255,255,.7);

    box-shadow:
    0 20px 50px rgba(0,0,0,.08);
}

.hero h1{
    font-size:72px;
    line-height:1.05;
    font-weight:800;
    color:#2f1f13;
}

.hero h1 span{
    color:#f58220;
}

.hero p{
    max-width:550px;
    font-size:20px;
    line-height:1.8;
}

.badge{
    display:inline-block;

    padding:12px 24px;

    background:linear-gradient(
        90deg,
        #f58220,
        #ffb300
    );

    color:white;

    font-weight:700;

    border-radius:50px;

    margin-bottom:20px;

    font-size:14px;

    letter-spacing:1px;
}

.btn-primary{
    display:inline-block;

    padding:18px 38px;

    background:linear-gradient(
        90deg,
        #f58220,
        #ff9800
    );

    color:white;

    border-radius:50px;

    text-decoration:none;

    font-weight:700;

    transition:.3s;

    box-shadow:
    0 10px 25px rgba(245,130,32,.35);
}

.btn-primary:hover{
    transform:translateY(-3px);
}

.counter{
display:flex;
gap:40px;
margin-top:40px;
}

.counter h3{
color:var(--orange);
font-size:32px;
}

.price-box{
position:absolute;
bottom:20px;
left:20px;
background:white;
padding:20px;
border-radius:20px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.price-box h2{
color:var(--orange);
font-size:36px;
}

.benefit,
.package,
.steps{
padding:80px 0;
}

.benefit h2,
.package h2,
.steps h2{
text-align:center;
font-size:42px;
margin-bottom:50px;
}

.benefit-grid,
.package-grid,
.steps-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:25px;
}

.box,
.card,
.steps-grid div{
background:white;
padding:30px;
border-radius:24px;
text-align:center;
box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.card .price{
font-size:36px;
font-weight:800;
color:var(--orange);
margin:15px 0;
}

.cta{
background:linear-gradient(90deg,#f58220,#ff9800);
padding:80px 0;
text-align:center;
color:white;
}

.cta h2{
font-size:48px;
margin-bottom:20px;
}

.btn-white{
display:inline-block;
margin-top:20px;
padding:16px 40px;
background:white;
color:var(--orange);
font-weight:700;
border-radius:50px;
text-decoration:none;
}

footer{
background:#2d1d10;
color:white;
text-align:center;
padding:50px 0;
}

footer p{
margin-top:10px;
opacity:.8;
}

.floating-wa{
position:fixed;
right:20px;
bottom:20px;
width:65px;
height:65px;
background:#25D366;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
font-size:30px;
text-decoration:none;
color:white;
box-shadow:0 10px 30px rgba(0,0,0,.2);
}



@media(max-width:768px){

.hero{
    min-height:600px;

    background-position:right center;
}

.hero-content{
    max-width:100%;
    padding:30px;
}

.hero h1{
    font-size:42px;
}

.counter{
    gap:20px;
}

.counter h3{
    font-size:24px;
}

}