*{
margin:0;
padding:0;
box-sizing:border-box;
font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

body{
background:#f3f4f7;
color:#1f2a44;
}

/* GOV BAR */

.gov-bar{
background:#ffffff;
border-bottom:1px solid #e5e7eb;
font-size:11px;
}

.gov-inner{
max-width:960px;
margin:auto;
display:flex;
align-items:center;
gap:2px;
padding:6px 16px;
}

.sg-logo{
width:18px;
}

.gov-text{
color:#444;
}

.identify{
color:#2c38dd;
text-decoration:none;
font-size:11px;
}


/* HEADER */

.header{
background:#2f367c;
padding:36px 16px;
}

.header-inner{
max-width:960px;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
}

.logo img{
height:26px;
}

.lang{
display:flex;
align-items:center;
gap:8px;
background:#2f367c;
padding:10px 18px;
border-radius:8px;
color:white;
font-size:16px;
}

.globe{
width:15px;
}


/* HERO */
.hero{
background:#2f367c;
color:white;
overflow:hidden;
}

.hero-text{
margin-right: auto;
}

.hero-inner{
max-width:960px;
margin:auto;
padding:32px 16px 46px;
position:relative;
display: flex;
flex-direction: column;
}

.hero-text h1{
font-size:52px;
font-weight:700;
margin-bottom:12px;
letter-spacing: -1px;
}

.hero-text p{
font-size:22px;
opacity:0.9;
}

.hero-illustration{
position:absolute;
right: 0;
bottom:0;
width:240px;
pointer-events:none;
} 

/* VOUCHERS */
.voucher-section{
margin-top:24px;
padding:0 16px 40px;
}

.voucher-list{
max-width:960px;
margin:auto;
display:flex;
flex-direction:column;
gap:20px;
}


/* CARD */

.voucher-card{
background:#ffffff;
border-radius:10px;
padding:24px;
display:flex;
align-items:flex-start;
justify-content:space-between;
text-decoration:none;
color:#111;
box-shadow:0 8px 20px rgba(0,0,0,0.06);
transition:0.2s;
}

.voucher-card:active{
transform:scale(0.98);
}

.card-left{
display:flex;
gap: 8px;
flex-direction: column;
}

.voucher-label{
width:40px;
margin-top:6px;
}

.card-text h3{
font-size:20px;
color:#2e3579;
margin-bottom:8px;
}

.card-text p{
font-size:16px;
color:#555;
margin-bottom:10px;
line-height:1.4;
}

.date{
background:#eef1f8;
padding:8px 14px;
border-radius:5px;
font-size:14px;
color:#2e3579;
display:inline-block;
}


/* ARROW BUTTON */
.card-arrow{
width:35px;
height:35px;
border-radius:50%;
background:#4b4fa3;
display:flex;
align-items:center;
justify-content:center;
flex-shrink:0;
margin-top: 90px;
}

.card-arrow img{
width:14px;
filter:brightness(0) invert(1);
}

/* FAQ */

.faq{
background:white;
margin-top:20px;
border-top:1px solid #e5e7eb;
border-bottom:1px solid #e5e7eb;
}

.faq-inner{
max-width:960px;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
padding:18px 16px;
}

.faq-link{
text-decoration:none;
color:#2e3579;
font-weight:600;
font-size:16px;
}

.faq-inner img{
width:14px;
}


/* WARNING */

.warning{
background:#fff3cd;
margin-top:20px;
}

.warning-inner{
max-width:960px;
margin:auto;
display:flex;
gap:10px;
align-items:center;
padding:14px 16px;
font-size:14px;
color:#6b5600;
}

.warning-inner img{
width:20px;
}

@media (max-width:600px){

.hero-inner{
padding:28px 16px 25px;
}

.hero-illustration{
width:150px;
position:absolute;
right: 0;
bottom:0;
}

.hero-text h1{
font-size:36px;
margin-right: 40px;
}

.hero-text p{
font-size:16px;
margin-top: -5px;
}

.card-text h3{
font-size:18px;
}

.card-text p{
font-size:15px;
}

}

.footer-official{
background:#f3f4f7;
padding:30px 16px;
font-family:sans-serif;
}

.footer-container{
max-width:900px;
margin:auto;
}

.footer-logo img{
width:150px;
margin-bottom:20px;
}

.footer-links{
display:flex;
flex-direction:column;
gap:18px;
margin-bottom:20px;
}

.footer-links a{
text-decoration:none;
color:#4a4f7a;
font-size:15px;
}

.footer-divider{
border:none;
border-top:1px solid #ddd;
margin:40px 0;
}

.footer-built{
margin-bottom:24px;
}

.footer-built p{
font-size:14px;
margin-bottom:16px;
}

.footer-ogp{
width:180px;
}

.footer-social{
display:flex;
gap:20px;
margin-top:10px;
}

.footer-social img{
width:26px;
}

.footer-copy{
margin-top:16px;
font-size:10px;
color:#666;
}