/* =====================================================
   PROJECT  : WEBSITE INFORMASI CHATGPT
   AUTHOR   : Ari Nugraha
   VERSION  : 1.0
   DESKRIPSI: Website interaktif dengan animasi modern
               menggunakan HTML, CSS, dan JavaScript
   ===================================================== */

/* ===================== GLOBAL RESET & BASE ===================== */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:'Poppins',sans-serif;
  background:linear-gradient(-45deg,#0f111a,#141c2f,#0f2027,#0a0f1c);
  background-size:400% 400%;
  animation:bgMove 15s ease infinite;
  color:white;
  overflow-x:hidden;
}

@keyframes bgMove{
  0%{background-position:0% 50%;}
  50%{background-position:100% 50%;}
  100%{background-position:0% 50%;}
}

/* ===================== NAVIGATION ===================== */
nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:15px 40px;
  backdrop-filter:blur(15px);
  position:sticky;
  top:0;
  z-index:10;
}

.logo-nav{
  font-family:'Orbitron',sans-serif;
  font-size:1.8rem;
  color:#00f6ff;
}

nav ul{
  list-style:none;
  display:flex;
  gap:30px;
}

nav a{
  text-decoration:none;
  color:white;
  font-weight:600;
  transition:0.3s;
}

nav a:hover,
nav a.active{
  color:#00f6ff;
}

.container{
  padding:60px 40px;

}
.container{
  position:relative;
  min-height:80vh;
}

/* ===================== PAGE TRANSITION ===================== */
.page{
  position:absolute;
  width:100%;
  left:0;
  top:0;
  opacity:0;
  transform:scale(1.03) translateY(20px);
  transition:opacity 0.7s cubic-bezier(0.65, 0, 0.35, 1),
             transform 0.7s cubic-bezier(0.65, 0, 0.35, 1);
  pointer-events:none;
}

.page.active-page{
  opacity:1;
  transform:scale(1) translateY(0);
  pointer-events:auto;
}

.page.zoom-out{
  opacity:0;
  transform:scale(0.95) translateY(-20px);
}

/* ===================== HOME ===================== */
.home-center{
  text-align:center;
  margin-top:80px;
}

.logo-home{
  width:180px;
  animation:float 3s ease-in-out infinite;
}

@keyframes float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-20px);}
}

.typing-text{
  font-family:'Orbitron',sans-serif;
  font-size:2.3rem;
  margin-top:25px;
  color:#00f6ff;
  letter-spacing:3px;
}

.home-sub{
  margin-top:15px;
  opacity:0.8;
}

/* ===================== PROFILE ===================== */
.profile-wrapper{
  display:flex;
  justify-content:center;
}

.profile-card{
  display:flex;
  gap:40px;
  backdrop-filter:blur(20px);
  padding:40px;
  border-radius:20px;
  transition:0.5s;
}

.profile-card:hover{
  transform:scale(1.03);
}

.profile-img{
  width:400px;
  border-radius:300px;
}

.profile-info h2{
  color:#00f6ff;
  margin-bottom:15px;
}

/* Profile text alignment */
.profile-data{
  margin-top:10px;
}

.profile-row{
  display:flex;
  gap:10px;
  margin-bottom:8px;
}

.profile-row .label{
  width:120px;
  font-weight:600;
}

.profile-row .separator{
  width:10px;
}

.profile-row .value{
  flex:1;
}

/* ===================== ABOUT ===================== */
.section-title{
  text-align:center;
  margin-bottom:50px;
  font-size:2rem;
  color:#00f6ff;
  position:relative;
}

.section-title::after{
  content:"";
  display:block;
  width:80px;
  height:3px;
  background:#00f6ff;
  margin:15px auto 0;
}

.about-wrapper{
  max-width:1200px;
  margin:auto;
}

.about-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:35px;
}

.about-card{
  position:relative;
  padding:35px 25px;
  border-radius:20px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(0,246,255,0.2);
  backdrop-filter:blur(15px);
  transition:0.4s ease;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.about-card::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg,#00f6ff,#ff00c8,#00f6ff);
  border-top-left-radius:20px;
  border-top-right-radius:20px;
}

.about-card i{
  font-size:35px;
  margin-bottom:15px;
  color:#00f6ff;
}

.about-card h3{
  margin-bottom:12px;
  font-size:1.1rem;
  letter-spacing:1px;
  border-bottom:1px solid rgba(255,255,255,0.1);
  padding-bottom:8px;
}

.about-card p{
  font-size:0.95rem;
  line-height:1.8;
  color:#e0e0e0;
  text-align:justify;
}

/* Hover */
.about-card:hover{
  transform:translateY(-10px);
  border:1px solid #00f6ff;
  box-shadow:0 0 25px rgba(0,246,255,0.5);
}

/* Highlight */
.about-highlight{
  text-align:center;
  max-width:900px;
  margin:0 auto 50px auto;
  padding:20px 30px;
  border-left:4px solid #00f6ff;
  background:rgba(0,246,255,0.05);
  font-style:italic;
  line-height:1.7;
  border-radius:10px;
}

/* ===================== CONTACT ===================== */
.contact-wrapper{
  text-align:center;
}

.contact-icons{
  margin-top:40px;
  display:flex;
  justify-content:center;
  gap:50px;
}

.icon{
  font-size:55px;
  padding:20px;
  border-radius:20px;
  backdrop-filter:blur(10px);
  transition:0.4s;
}

.icon:hover{
  transform:scale(1.2) rotate(10deg);
  color:#00f6ff;
  box-shadow:0 0 25px #00f6ff;
}

/* ===================== PARTICLES ===================== */
#particles-js{
  position:fixed;
  width:100%;
  height:100%;
  z-index:-1;
}

/* ===================== HOME EFFECT ===================== */
.logo-wrapper{
  position:relative;
  display:inline-block;
  margin-bottom:30px;
  transform-style:preserve-3d;
  transition:0.3s;
}

.glow-ring{
  position:absolute;
  width:250px;
  height:250px;
  border-radius:50%;
  background:radial-gradient(circle,#00f6ff55,transparent 70%);
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  animation:pulseGlow 3s infinite ease-in-out;
  z-index:-1;
}

@keyframes pulseGlow{
  0%,100%{transform:translate(-50%,-50%) scale(1);}
  50%{transform:translate(-50%,-50%) scale(1.2);}
}

.logo-wrapper:hover .logo-home{
  transform:scale(1.08);
}

.gradient-text{
  background:linear-gradient(90deg,#00f6ff,#ff00c8,#00f6ff);
  background-size:200% auto;
  color:transparent;
  -webkit-background-clip:text;
  background-clip:text;
  animation:textShine 4s linear infinite;
}

@keyframes textShine{
  to{
    background-position:200% center;
  }
}

.fade-in{
  opacity:0;
  animation:fadeAppear 2s ease forwards;
  animation-delay:2s;
}

@keyframes fadeAppear{
  to{opacity:1;}
}

/* ===================== INTEGRASI ===================== */
.integration-section {
  padding: 100px 10%;
  background: linear-gradient(135deg, #141e30, #243b55);
  text-align: center;
}

.integration-container {
  display: flex;
  justify-content: center;
  gap: 50px;
  flex-wrap: wrap;
}

.integration-card {
  width: 350px;
  padding: 40px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(15px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.5);
  transition: 0.4s ease;
  opacity: 0;
  transform: translateY(30px);
}

.integration-card.show {
  opacity: 1;
  transform: translateY(0);
}

.visit-btn {
  text-decoration: none;
  background: #00f5ff;
  color: #000;
  padding: 10px 25px;
  border-radius: 30px;
  font-weight: bold;
  transition: 0.3s ease;
}

/* ===================== MEDIA QUERIES ===================== */
/* Tablet & Mobile adjustments */
@media screen and (max-width:1024px){
  .logo-home{width:150px;}
  .typing-text{font-size:1.9rem;letter-spacing:2px;}
  .home-sub{font-size:1rem;}
  .profile-card{flex-direction:column;gap:25px;padding:30px;}
  .profile-img{width:250px;}
  .about-card,.integration-card{padding:25px;}
  .contact-icons{flex-wrap:wrap;gap:35px;}
  .icon{font-size:50px;padding:18px;}
}

@media screen and (max-width:768px){
  .logo-home{width:130px;}
  .typing-text{font-size:1.6rem;letter-spacing:1.5px;}
  .home-sub{font-size:0.9rem;}
  .profile-card{flex-direction:column;gap:20px;padding:25px;}
  .profile-img{width:200px;}
  .about-card,.integration-card{padding:20px;}
  .contact-icons{flex-wrap:wrap;gap:25px;}
  .icon{font-size:45px;padding:15px;}
}

@media screen and (max-width:480px){
  .logo-home{width:110px;}
  .typing-text{font-size:1.4rem;letter-spacing:1px;}
  .home-sub{font-size:0.85rem;}
  .profile-card{padding:20px;}
  .profile-img{width:180px;}
  .about-card,.integration-card{padding:18px;}
  .icon{font-size:40px;padding:12px;}
}

.integration-section {
  padding: 100px 10%;
  background: linear-gradient(135deg, #141e30, #243b55);
  text-align: center;
}

.integration-title {
  font-size: 2.5rem;
  color: #fff;
  margin-bottom: 60px;
  font-family: 'Orbitron', sans-serif;
}

.integration-container {
  display: flex;
  justify-content: center;
  gap: 50px;
  flex-wrap: wrap;
}

.integration-card {
  width: 350px;
  padding: 40px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(15px);
  box-shadow: 0 20px 40px rgba(0,0,0,0.5);
  transition: 0.4s ease;
  opacity: 0;
  transform: translateY(60px);
  
}

.integration-card:nth-child(1) { animation-delay: 0.3s; }
.integration-card:nth-child(2) { animation-delay: 0.6s; }

.integration-card:hover {
  transform: translateY(-15px) scale(1.05);
  box-shadow: 0 30px 60px rgba(0,0,0,0.7);
}

.integration-card h3 {
  color: #00f5ff;
  margin-bottom: 20px;
  font-size: 1.5rem;
}

.creator {
  color: #ccc;
  margin-bottom: 30px;
}

.creator span {
  color: #fff;
  font-weight: bold;
}

.visit-btn {
  text-decoration: none;
  background: #00f5ff;
  color: #000;
  padding: 10px 25px;
  border-radius: 30px;
  font-weight: bold;
  transition: 0.3s ease;
}

.visit-btn:hover {
  background: #fff;
  color: #000;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Responsive */
@media (max-width: 768px) {
  .integration-container {
    flex-direction: column;
    align-items: center;
  }
}

.integration-photo{
  width:120px;
  height:120px;
  border-radius:50%;
  object-fit:cover;
  object-position:center 30%; /* fokus ke atas */
  margin-bottom:20px;
  border:3px solid #00f6ff;
  transition:0.4s ease;
}

.integration-card:hover .integration-photo{
  transform:scale(2.5);
  box-shadow:0 0 25px #00f6ff;
}

/* ===================== LOADER CINEMATIC ===================== */

#loader{
  position:fixed;
  width:100%;
  height:100%;
  background:#0a0f1c;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  z-index:9999;
  transition:opacity 0.8s ease, visibility 0.8s ease;
}

.loader-content{
  text-align:center;
}

.loader-logo{
  font-family:'Orbitron',sans-serif;
  font-size:2.5rem;
  color:#00f6ff;
  margin-bottom:20px;
  letter-spacing:4px;
  animation:logoFade 1.5s ease forwards;
  opacity:0;
}

.loader-text{
  font-size:0.9rem;
  letter-spacing:2px;
  margin-bottom:25px;
  opacity:0.7;
}

.progress-bar{
  width:250px;
  height:6px;
  background:rgba(255,255,255,0.1);
  border-radius:10px;
  overflow:hidden;
}

.progress{
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#00f6ff,#ff00c8);
  animation:loadProgress 2.5s ease forwards;
}

@keyframes loadProgress{
  to{width:100%;}
}

@keyframes logoFade{
  to{opacity:1; transform:scale(1.1);}
}

#loader.fade-out{
  opacity:0;
  visibility:hidden;
}