/* BASE */
:root{
  --bg: #E4D9CC;
  --text: #2c3e50;
  --accent: #2D3B64;
  --font: "Poppins", sans-serif;
  --header-h: 88px; /* used for scroll offset */
}

*{margin:0;padding:0;box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top: var(--header-h); /* ensure anchored sections not hidden under fixed header */
}
body{
  background:var(--bg);
  font-family:var(--font);
  color:var(--text);
}

/* HEADER */
.main-header{
  position:fixed;
  top:0;left:0;right:0;
  height:var(--header-h);
  padding:22px 60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  backdrop-filter:blur(6px);
  background:rgba(255,255,255,.22);
  z-index:2000;
}

.logo{
  font-size:20px;
  font-weight:700;
  padding-left:6px;
}

/* NAV TO THE RIGHT (requirement) */
.main-nav{
  margin-left:auto;
}
.main-nav ul{
  display:flex;
  gap:44px;
  list-style:none;
  align-items:center;
  justify-content:flex-end;
}
.main-nav a, .main-nav button{
  font-weight:600;
  color:var(--text);
  text-decoration:none;
  background:none;
  border:0;
  cursor:pointer;
  font-size:15px;
  letter-spacing:1px;
  padding:6px 2px;
}

/* dropdown */
.dropdown-container{position:relative}
.dropdown-menu{
  display:none;
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  transform:translateX(0);
  background:var(--bg);
  border:2px solid rgba(0,0,0,.22);
  border-radius:4px;
  min-width:200px;
  overflow:hidden;
  box-shadow:0 8px 20px rgba(0,0,0,0.08);
  z-index:2100;
}
.dropdown-menu a{
  display:block;
  padding:12px 16px;
  border-bottom:1px solid rgba(0,0,0,.06);
  color:var(--text);
}
.dropdown-menu a:last-child{border-bottom:none}
.dropdown-container:hover .dropdown-menu,
.dropdown-container:focus-within .dropdown-menu{display:block}

/* small screens */
.menu-icon{display:none;background:none;border:0;font-size:20px}
@media (max-width:900px){
  .main-header{padding:14px 20px}
  .main-nav ul{gap:18px}
  .menu-icon{display:inline-block}
  .dropdown-menu{right:10px;left:auto}
}

/* HERO SECTIONS */
.hero-section{
  height:100vh;
  background-size:cover;
  background-position:center;
}
.slide1{background-image:url('Img/portofolio1.jpg')}
.slide2{background-image:url('Img/portofolio02.jpg')}

/* =========================
   SLIDE 3 — Graphic Design
   ========================= */
.project-gallery-section{
  /* extra top padding so title doesn't overlap background decorations */
  padding:160px 60px 100px;
  background-image:url('Img/portofolio03.jpg');
  background-size:cover;
  background-position:center;
}

.section-title-blue{
  text-align:center;
  font-size:36px;
  font-weight:700;
  color:var(--accent);
  margin:0 0 36px;
  /* center visually above the gallery */
  transform:translateY(0);
}

/* gallery layout: ensure consistent spacing and prevent overlap with background art */
.project-gallery{
  display:flex;
  gap:64px;
  justify-content:center;
  align-items:flex-start;
  flex-wrap:wrap;
  padding:10px 30px 40px;
  max-width:1400px;
  margin:0 auto;
}

/* card */
.project-card{
  width:340px;
  background:linear-gradient(#fffaf6, rgba(255,165,0,0.08));
  border-radius:26px;
  padding:26px;
  box-shadow:0 6px 30px rgba(0,0,0,.06);
  transition:transform .35s ease, box-shadow .35s ease;
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* hover */
.project-card:hover{
  transform:translateY(-12px) scale(1.03);
  box-shadow:0 20px 50px rgba(0,0,0,.14);
}

/* image area - keep image centered and limited size so desc won't overlap */
.image-box{
  width:100%;
  height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:20px;
  background:transparent;
}
.image-box img{
  width:70%;
  height:auto;
  object-fit:contain;
  display:block;
  transition:transform .35s ease;
}
.project-card:hover .image-box img{
  transform:scale(1.05);
}

/* description spacing - forced below image with enough room */
.card-description.no-bg{
  margin-top:20px;
  text-align:center;
  padding:0 10px;
}
.card-description h3{
  font-size:18px;
  margin-bottom:8px;
  color:#0f2340;
  font-weight:700;
}
.card-description p{
  line-height:1.5;
  color:#233142;
  font-weight:500;
  font-size:14px;
}

/* responsive adjustments for slide3 */
@media (max-width:1200px){
  .project-gallery{gap:36px}
  .project-card{width:300px}
  .image-box{height:360px}
  .image-box img{width:72%}
}
@media (max-width:900px){
  .project-gallery{gap:28px;padding:20px}
  .project-card{width:92%}
  .image-box{height:420px}
  .image-box img{width:60%}
}

/* =========================
   SLIDE 4 — Illustration
   ========================= */
.slide4{
  padding:150px 0 160px;
  background-image:url('Img/portofolio04.png');
  background-size:cover;
  background-position:center;
  position:relative;
}
.slide4 input[type=radio]{display:none}
.il-viewport{width:92%;max-width:1400px;margin:0 auto;overflow:hidden}
.il-track{display:flex;width:200%;transition:transform .66s cubic-bezier(.2,.9,.2,1)}
.il-panel{width:50%;display:flex;gap:60px;padding:40px 60px;justify-content:center}
.il-left,.il-right{width:48%;min-height:260px;display:flex;align-items:center;justify-content:center}
.il-left img,.il-right img{max-width:100%;height:auto;object-fit:contain}

/* radio → move slider */
#il1:checked ~ .il-viewport .il-track{transform:translateX(0)}
#il2:checked ~ .il-viewport .il-track{transform:translateX(-50%)}

/* dots */
.il-dots{text-align:center;margin-top:30px}
.dot{display:inline-block;width:14px;height:14px;background:#888;border-radius:50%;margin:0 8px}
#il1:checked ~ .il-dots .dot:nth-child(1){background:#111}
#il2:checked ~ .il-dots .dot:nth-child(2){background:#111}

/* responsive slide4 */
@media (max-width:900px){
  .il-panel{flex-direction:column;padding:20px}
  .il-left,.il-right{width:100%;min-height:220px}
  .il-viewport{width:96%}
}

/* =========================
   PAGE 5 — Social Media
   ========================= */

/* PAGE 5 */
.page5{
  background-image:url('Img/portofolio05.jpg');
  background-size:cover;
  background-position:center;
  padding:160px 20px 110px;
  min-height:60vh;
}

/* force remove text title if any exists */
.page5 h1,
.page5 h2,
.page5 .section-title {
  display:none !important;
}

.social-wrapper{
  display:flex;
  justify-content:center;
  gap:60px;
  align-items:flex-start;
  flex-wrap:wrap;
  max-width:1400px;
  margin:0 auto;
  padding:0 24px;
}

.social-card{
  width:330px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}

/* new background box like Page 3 */
.img-frame{
  background:#2a3b82;
  border-radius:36px;
  padding:50px 28px;
  height:480px;              /* bigger box */
  width:340px;               /* bigger frame width */
  display:flex;
  justify-content:center;
  align-items:center;
  transition: transform .3s ease, box-shadow .3s ease;
}

/* hover like Page 3 */
.img-frame:hover{
  transform: translateY(-8px);
  box-shadow:0 18px 40px rgba(0,0,0,0.18);
}

.img-frame img{
  width:78%;                 /* bigger image */
  height:auto;
  transition:transform .3s ease;
}

.img-frame:hover img{
  transform:scale(1.05);
}

.desc{
  margin-top:28px;
  font-size:16px;
  line-height:1.65;
  max-width:320px;
  color:#20324a;
}

/* responsive */
@media (max-width:1200px){
  .social-wrapper{gap:40px}
  .img-frame{height:440px;width:300px;padding:38px}
  .img-frame img{width:75%}
}
@media (max-width:900px){
  .social-wrapper{
    flex-direction:column;
    gap:28px;
    align-items:center;
  }
  .social-card{width:92%}
  .img-frame{
    height:380px;
    width:85%;
  }
  .img-frame img{width:70%}
}


/* =========================
   PAGE 6 — Contact
   ========================= */
.contact-page{
  padding:80px 60px;
  background:#f2e9dd;
}
.contact-title{
  font-size:48px;
  font-weight:800;
  color:#2D3B64;
  margin-bottom:24px;
}
.contact-wrapper{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:flex-start}
.contact-form{width:48%;min-width:280px}
.form-row{display:flex;gap:12px}
.input-field{flex:1;padding:12px;border:2px solid #e38a34;background:#fff}
.message-box{width:100%;height:210px;margin-top:15px;padding:12px;border:2px solid #e38a34;background:#fff}
.send-btn{margin-top:20px;background:#0f1b3d;color:white;padding:10px 25px;border-radius:25px;border:none;display:inline-flex;align-items:center;gap:8px}
.thankyou-text{font-size:120px;font-weight:600;color:#2D3B64;line-height:.9;text-align:right;margin:10px 0}

/* FOOTER */
.contact-footer{margin-top:50px;padding:60px;background:#0f1b3d;color:white;display:flex;justify-content:space-between;flex-wrap:wrap}
.footer-left h3{color:#e38a34;font-size:26px;margin-bottom:8px}
.footer-copy{color:#e38a34}
.footer-right p{margin-bottom:8px}
.footer-right a{color:#e38a34;text-decoration:none}
.footer-right a:hover{text-decoration:underline}

/* small screen tweaks */
@media (max-width:700px){
  .main-nav ul{gap:12px;font-size:14px}
  .section-title-blue{font-size:28px}
  .contact-title{font-size:36px}
  .thankyou-text{font-size:64px}
  .project-gallery{gap:20px}
}
