
    *{
      margin:0;
      padding:0;
      box-sizing:border-box;
      font-family:'Poppins', sans-serif;
    }

    body{
      background:#f8f8fb;
      color:#1c1c1c;
    }

    .container{
      width:90%;
      max-width:1200px;
      margin:auto;
    }

 
    header{
      width:100%;
      background:white;
      padding:20px 0;
      box-shadow:0 2px 10px rgba(0,0,0,0.03);
      position:sticky;
      top:0;
      z-index:100;
    }

    nav{
      display:flex;
      justify-content:space-between;
      align-items:center;
    }


    .logo{
      display:flex;
      align-items:center;
      gap:15px;
    }

    .logo-img{
      width:120px;
      height:auto;
      object-fit:contain;
    }

    .logo-text h2{
      font-size:28px;
      color:#243b9f;
      line-height:1;
    }

    .logo-text span{
      font-size:14px;
      color:#777;
      letter-spacing:4px;
    }


    .menu{
      display:flex;
      gap:40px;
      list-style:none;
    }

    .menu a{
      text-decoration:none;
      color:#111;
      font-weight:500;
      transition:0.3s;
    }

    .menu a:hover,
    .menu .active{
      color:#5b43f3;
    }

    .hero{
      margin-top:40px;
      background:linear-gradient(135deg,#5b43f3,#7b68ff);
      border-radius:30px;
      padding:70px 40px;
      text-align:center;
      color:white;
    }

    .hero h1{
      font-size:55px;
      margin-bottom:20px;
    }

    .hero p{
      max-width:700px;
      margin:auto;
      line-height:1.9;
      font-size:16px;
    }

    /* ================= CONTACT ================= */

    .contact-section{
      padding:100px 0;
    }

    .contact-wrapper{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:40px;
    }

    /* CONTACT INFO */

    .contact-info{
      background:white;
      padding:40px;
      border-radius:30px;
      box-shadow:0 10px 30px rgba(0,0,0,0.06);
    }

    .contact-info h2{
      font-size:38px;
      color:#1b237e;
      margin-bottom:20px;
    }

    .contact-info p{
      color:#666;
      line-height:1.9;
      margin-bottom:30px;
    }

    .info-item{
      margin-bottom:25px;
    }

    .info-item h4{
      color:#5b43f3;
      margin-bottom:8px;
      font-size:18px;
    }

    .info-item span{
      color:#555;
      line-height:1.7;
    }

    /* CONTACT FORM */

    .contact-form{
      background:white;
      padding:40px;
      border-radius:30px;
      box-shadow:0 10px 30px rgba(0,0,0,0.06);
    }

    .contact-form h2{
      font-size:38px;
      color:#1b237e;
      margin-bottom:30px;
    }

    form{
      display:grid;
      gap:20px;
    }

    .form-group{
      display:flex;
      flex-direction:column;
    }

    .form-group label{
      margin-bottom:10px;
      font-weight:600;
      color:#333;
    }

    .form-group input,
    .form-group textarea{
      padding:15px 18px;
      border:1px solid #ddd;
      border-radius:12px;
      outline:none;
      font-size:15px;
      transition:0.3s;
    }

    .form-group input:focus,
    .form-group textarea:focus{
      border-color:#5b43f3;
      box-shadow:0 0 0 4px rgba(91,67,243,0.1);
    }

    textarea{
      resize:none;
      height:140px;
    }

    .submit-btn{
      background:#5b43f3;
      color:white;
      border:none;
      padding:16px;
      border-radius:12px;
      font-size:16px;
      font-weight:600;
      cursor:pointer;
      transition:0.3s;
    }

    .submit-btn:hover{
      background:#452af0;
      transform:translateY(-2px);
    }

    /* ================= MAP ================= */

    .map-section{
      margin-top:60px;
    }

    .map-section iframe{
      width:100%;
      height:450px;
      border:none;
      border-radius:30px;
      box-shadow:0 10px 30px rgba(0,0,0,0.06);
    }


    footer{
      margin-top:80px;
      background:#1b237e;
      color:white;
      padding:30px 0;
    }

    .footer-content{
      display:flex;
      justify-content:space-between;
      align-items:center;
      flex-wrap:wrap;
      gap:20px;
    }

    footer a{
      color:white;
      text-decoration:none;
    }

    @media(max-width:992px){

      .contact-wrapper{
        grid-template-columns:1fr;
      }

    }

    @media(max-width:768px){

      nav{
        flex-direction:column;
        gap:20px;
      }

      .menu{
        flex-wrap:wrap;
        justify-content:center;
        gap:20px;
      }

      .hero{
        padding:50px 25px;
      }

      .hero h1{
        font-size:38px;
      }

      .contact-info,
      .contact-form{
        padding:30px 20px;
      }

      .contact-info h2,
      .contact-form h2{
        font-size:30px;
      }

      .logo-img{
        width:90px;
      }

    }


/* Tablet */
@media screen and (max-width: 992px){

  .container{
    width: 94%;
  }

  .hero{
    padding: 60px 30px;
  }

  .hero h1{
    font-size: 42px;
  }

  .form-container{
    padding: 40px 30px;
  }

  .form-title h2{
    font-size: 32px;
  }

  .menu{
    gap: 20px;
  }

  .logo-img{
    width: 90px;
  }

  .logo-text h2{
    font-size: 22px;
  }
}


/* Mobile */
@media screen and (max-width: 768px){

  header{
    padding: 15px 0;
  }

  nav{
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }

  .menu{
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
  }

  .menu a{
    font-size: 14px;
  }

  .logo{
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }

  .logo-img{
    width: 85px;
  }

  .logo-text h2{
    font-size: 22px;
  }

  .logo-text span{
    font-size: 12px;
    letter-spacing: 2px;
  }

  .hero{
    margin-top: 25px;
    border-radius: 20px;
    padding: 50px 20px;
  }

  .hero h1{
    font-size: 34px;
    line-height: 1.3;
  }

  .hero p{
    font-size: 14px;
    line-height: 1.8;
  }

  .form-section{
    padding: 60px 0;
  }

  .form-container{
    padding: 30px 20px;
    border-radius: 20px;
  }

  .form-title h2{
    font-size: 28px;
  }

  .form-group input,
  .form-group select,
  .form-group textarea{
    padding: 14px;
    font-size: 14px;
  }

  .submit-btn{
    width: 100%;
    font-size: 15px;
    padding: 14px;
  }
}


/* HP kecil */
@media screen and (max-width: 480px){

  .hero h1{
    font-size: 28px;
  }

  .hero p{
    font-size: 13px;
  }

  .form-title h2{
    font-size: 24px;
  }

  .menu{
    gap: 12px;
  }

  .menu a{
    font-size: 13px;
  }

  .form-container{
    padding: 25px 15px;
  }
}
