:root {
  --bg: #0ea5e9;
  --bg-dark: #0b284f;
  --card: #ffffff;
  --ink: #0f172a;
  --muted:#64748b;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; background: var(--bg); color: var(--ink);
  font-family:'Nunito', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  overflow-x:hidden; display:flex; flex-direction:column;
  
}

/* bubbles */
.bubbles{position:fixed; inset:0; overflow:hidden; z-index:-1;}
.bubbles span{
  position:absolute; bottom:-10vmin; width:8vmin; height:8vmin; border-radius:50%;
  background: radial-gradient(circle at 30% 30%, #fff, #fff0 65%);
  opacity:.3; filter:blur(1px); animation: rise 16s linear infinite;
}
.bubbles span:nth-child(1){left:6%;  width:9vmin;height:9vmin;animation-delay:-2s}
.bubbles span:nth-child(2){left:18%; animation-duration:20s}
.bubbles span:nth-child(3){left:32%; animation-delay:-6s}
.bubbles span:nth-child(4){left:46%; animation-duration:14s}
.bubbles span:nth-child(5){left:58%; animation-delay:-10s}
.bubbles span:nth-child(6){left:70%; animation-duration:18s}
.bubbles span:nth-child(7){left:78%; animation-delay:-4s}
.bubbles span:nth-child(8){left:86%; animation-duration:22s}
.bubbles span:nth-child(9){left:12%; animation-delay:-12s}
.bubbles span:nth-child(10){left:94%; animation-duration:26s}
@keyframes rise{to{transform:translateY(-120vh) scale(1.2)}}

/* header */
.site-header {
    padding: 18px clamp(12px, 5vw, 48px) 40px; 
    color: #fff;
    background: linear-gradient(180deg, var(--bg-dark), #143a78 60%, transparent 60%);
    position: relative;
    display: flex; 
    align-items: center; 
    justify-content: space-between;
    flex-wrap: wrap; 
}
.site-header.small{padding-bottom:85px}

.brand {
    display: flex;
    align-items: center;
    gap: 30px;
    padding: 15px 0;
}

/* Menambahkan aturan CSS untuk mengontrol ukuran logo */
.logo img {
    border-radius: 50%;
    max-width: 10%;
    display: flex; 
    justify-content: center; 
    align-items: center; 
    margin: 0 auto 20px auto; 
    overflow: hidden; 
    border: 6px solid khaki; 
}

.logo img:hover {
    transform: scale(1.1);
    border-color: #e4a3a3;
}

#logoYouSmart {
    max-width: 140px;
    max-height: 140px;
    object-fit: contain; 
}
.title-text {
    display: flex;
    flex-direction: column; 
    line-height: 1.2; 
}

.main-title {
    margin: 0;
    font-size: 28px;
}

.subtitle {
    margin: 0;
    font-size: 14px;
    opacity: 0.7;
}

.top-links{
    display:flex; 
    flex-wrap:wrap; 
    gap:8px;
}

.chip{
    background:rgba(255,255,255,.12); 
    color:#fff; 
    border:1px solid rgba(255,255,255,.25);
    border-radius:999px; 
    padding:8px 12px; 
    font-weight:800; 
    cursor:pointer; 
    text-decoration:none;
    backdrop-filter: blur(4px); 
    transition:.2s transform,.2s background
}
.chip:hover{
    transform:translateY(-2px); 
    background:rgba(255,255,255,.2)
}

/* Penyesuaian .hero dan .wave agar berada di bawah logo/nav */
.hero{
    width: 100%; 
    order: 1; 
    margin-top:18px; 
    display:grid; 
    gap:10px
}
.tag{display:inline-block; padding:6px 12px; border-radius:999px; background:#fff; color:#0f172a; font-weight:900}
.welcome{font-weight:900; margin:0}


/* cards */
main{padding:16px clamp(12px,6vw,48px) 48px; flex:1}
.cards{display:grid; gap:14px; grid-template-columns: repeat(12,1fr)}
.card{grid-column:span 12; background:var(--card); border-radius:22px; padding:16px;
  display:flex; align-items:center; gap:12px; cursor:pointer;
  box-shadow:0 10px 24px rgba(2,6,23,.15); transition:.2s transform,.2s box-shadow}
.card:hover{transform:translateY(-4px); box-shadow:0 14px 30px rgba(2,6,23,.2)}
.icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:#e2f2ff;font-size:28px}
.card h3{margin:0; font-family:'Fredoka',sans-serif;}

@media(min-width:560px){.card{grid-column:span 6}}
@media(min-width:920px){.card{grid-column:span 4}}

/* modal */
dialog{border:none; border-radius:22px; width:min(900px,92vw); padding:0; box-shadow:0 24px 80px rgba(2,6,23,.45)}
.modal-head{display:flex; align-items:center; justify-content:space-between; padding:14px 16px; background:linear-gradient(180deg,#fff,#f4f8ff)}
.modal-body{padding:16px}
.close-btn{background:#0ea5e9; color:#fff; border:none; border-radius:12px; padding:8px 12px; font-weight:800; cursor:pointer}
.activity{display:grid; gap:12px}
.flash{display:grid; grid-template-columns: repeat(auto-fit, minmax(120px,1fr)); gap:12px}
.flip{background:#fff; border-radius:16px; padding:14px; text-align:center; border:2px dashed #bae6fd}
.chips{display:flex; flex-wrap:wrap; gap:8px}
.chips button{border:1px solid #e2e8f0; background:#fff; border-radius:12px; padding:8px 10px; cursor:pointer}

/* page bodies */
.page{padding:24px clamp(12px,6vw,48px) 48px}
.contact-form{display:grid; gap:12px; max-width:520px}
.contact-form label{display:grid; gap:6px; font-weight:700}
.contact-form input,.contact-form textarea{padding:10px 12px; border:1px solid #e2e8f0; border-radius:12px}

/* footer */
footer{background:#0b213f; color:#cbd5e1; padding:16px clamp(12px,6vw,48px); display:grid; gap:6px}
footer a{color:#e0f2fe}

/* dark theme body class */
body.dark{--bg:#1e293b; --bg-dark:#020617; --card:#334155; --ink:#f1f5f9}


