/* HEADER */
.site-header {
    border-bottom: 1px solid #eee;
    background: #fff;
}

.container {
    max-width: 800px;
    margin: auto;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    
}

/* LOGO */
.logo-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.logo-block img {
    height: 42px;
}

.company-name {
    font-size: 13px;
    font-weight: bold;
    margin-top: 4px;
}

/* NAV */
.main-nav {
    display: flex;
    gap: 24px;
}

.main-nav a {
    text-decoration: none;
    color: #f8f8f8;
    font-weight: 500;
}

.main-nav a:hover {
    text-decoration: underline;
}

/* ACTIONS */
.header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.search-btn {
    background: none;
    border: 1px solid #ddd;
    padding: 6px 8px;
    border-radius: 50%;
    cursor: pointer;
}

.btn {
    padding: 6px 14px;
    border-radius: 20px;
    text-decoration: none;
    font-size: 14px;
}


/* RESET */
body {
     display:flex;
  flex-direction:column;

  opacity:0;
  transform:translateY(15px);
  transition:
    opacity .8s ease,
    transform .8s ease;
}


body.show-page{
  opacity:1;
  transform:translateY(0);
}

/* HEADER */
.main-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 1px 6px rgba(0,0,0,0.12);
  border-bottom: 1px solid rgba(0,0,0,0.05);
  transition: background 0.3s ease;
}

.main-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,0); /* default transparan */
  transition: background 0.3s ease;
  z-index: -1; /* di belakang konten header */
}

.main-header.transparent::before {
  background: rgba(255,255,255,0.6); /* overlay semi-transparan saat scroll */
}

.header-container {
    max-width: 1280px;
    margin: auto;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* LEFT */
.header-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.header-logo {
    height: 64px;
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.brand-name {
    color: #3e3a3a;
    font-weight: 600;
    font-style: bold;
}

.brand-name-footer {
    color: #3e3a3a;
    font-weight: 600;
    font-style: bold;
    font-size: 22px;
}

/* CENTER NAV */
.header-nav {
    display: flex;
    align-items: center;
    gap: 30px;
}

/* NAV ITEM */
.nav-item {
    position: relative;
}



/* DROPDOWN WRAPPER */
.dropdown {
    position: relative;
}

/* DROPDOWN MENU */
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;

    background: #fff;
    min-width: 180px;

    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    border-radius: 8px;

    padding: 10px 0;

    display: none;
    flex-direction: column;

    z-index: 999;
}

/* DROPDOWN ITEM */
.dropdown-menu a {
    padding: 10px 16px;
    display: block;
    color: #333;
    text-decoration: none;
    transition: 0.2s;
}

/* HOVER ITEM */
.dropdown-menu a:hover {
    background: #f5f7fa;
}

/* SHOW DROPDOWN */
.dropdown:hover .dropdown-menu {
    display: block;
}

.dropdown-menu {
    opacity: 0;
    transform: translateY(10px);
    transition: 0.2s ease;
}

.dropdown:hover .dropdown-menu {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

.header-nav a {
    display: flex;          /* bikin sejajar */
    align-items: center;    /* center vertikal */
    gap: 4px;
    color: #2e2b2b;
    text-decoration: none;
    font-size: 15px;
    opacity: 0.9;
}

.header-nav a span {
    margin-left: 4px;
}

.header-nav a:hover {
    opacity: 1;
}

.dropdown-icon {
  font-size: 20px;
  line-height: 1;
}


/* CTA BUTTON */
.btn-primary {
    background: #1cb2e1;
    color: #fff;
    padding: 8px 18px;
    border-radius: 4px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    display: inline-flex;
    max-width: 160px;
    align-self: flex-start;
    margin-top: auto;
}

.btn-primary:hover {
    background: #1b83a3;
    color: #fff;
}

.lang-switcher {
  display: flex;
  align-items: center;
  gap: 12px;
}

.lang-switcher {
  display: flex;
  align-items: center;
  gap: 10px;
}

.label {
  font-weight: 600;
  font-size: 14px;
  color: #9ca3af;
}

.toggle {
  width: 68px;
  height: 34px;
  background: #dfe5ed;
  border-radius: 999px;
  position: relative;
  cursor: pointer;
}

.knob {
  width: 30px;
  height: 30px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: 2px;
  left: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}

.knob img {
  width: 23px;
  height: 23px;
}

/* ACTIVE ID */
.lang-switcher.id .knob {
  left: 36px;
}

.lang-switcher:not(.id) .left {
  color: #2e2b2b;
}

.lang-switcher.id .right {
  color: #2e2b2b;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.search-icon {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #2e2b2b;
  transition: background 0.2s ease;
}

.search-icon:hover {
  color: #111827;
  background: #f3f4f6;
}


.footer {
 background: #f8fafc;
  margin-top: 60px;
  padding: 25px 0;
  color: #333;
  border-radius: 10px 10px 0 0; /* border-radius atas */
  border-top: 1px solid #e5e7eb; /* garis tipis */
  box-shadow: 0 -4px 10px rgba(0, 0, 0, 0.05); /* shadow ke atas */
}

.footer-container {
  max-width: 1200px;
  margin: auto;
  padding: 0 20px;
}

/* TOP */
.footer-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-logo {
    height: 84px;
}

.footer hr {
  border: none;
  height: 2px;
  background: linear-gradient(
    to right,
    rgba(219, 234, 254, 0.3),
    #dbeafe,
    rgba(219, 234, 254, 0.3)
  );
}

.logo {
  font-weight: bold;
  font-size: 22px;
}

.tagline {
  font-size: 15px;
  color: #555;
}

/* MAIN */
.footer-main {
  display: grid;
   grid-template-columns: 1.1fr 1fr;
  column-gap: 50px;
  align-items: start;
}

.footer-col {
  text-align: right;

}

.footer-col:nth-child(3) {
  margin-right: 0;
}

.footer-col h4 {
  font-size: 18px;
  font-weight: 550;
  margin-bottom: 12px;
}

.footer-col ul {
  list-style: none;
  padding: 0;
  margin-bottom: 5px;
}

.footer-col li {
  font-size: 15px; /* minimal segini bro */
  line-height: 1.6;
  color: #555;
  margin-bottom: 15px; /* ganti dari padding */
}

.footer-col li:hover {
  color: #000;
}

/* Left SIDE */
.footer-col.left {
  text-align: left;
  font-size: 15px;
  
}

.footer-col.left h4 {
  font-size: 18px;
  font-weight: 550;
  margin-bottom: 22px;
}

.socials-media {
  margin-top: 35px;
}

.socials {
  margin-top: 15px;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.socials span {

  padding: 8px;
  border-radius: 8px;
  cursor: pointer;
}

/* BOTTOM */
.footer-bottom {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: #777;
}

.footer-bottom .links span {
  margin-left: 20px;
  cursor: pointer;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .footer-main {
    grid-template-columns: 1fr 1fr;
  }

  .footer-col.left {
    text-align: left;
  }

  .socials {
    justify-content: flex-start;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 10px;
  }
}

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

html {
    scroll-behavior: smooth;
}

.services2-section .card{
    scroll-margin-top:120px;
}

@keyframes serviceHighlight{
    0%{
        transform:translateY(10px);
        box-shadow:0 0 0 rgba(0,0,0,0);
    }

    50%{
        transform:translateY(-5px);
        box-shadow:0 20px 50px rgba(0,0,0,.15);
    }

    100%{
        transform:translateY(0);
        box-shadow:0 0 0 rgba(0,0,0,0);
    }
}

.card.target-highlight{
    animation:serviceHighlight .8s ease;
}


.main-content {
  text-align: center;
  position: relative;
  max-width: 800px;
}

.main-content h1 {
  font-size: 2rem;
  color: #222;
  margin-top: 50px;
  margin: 50px 0 10px;
}

.services-section{
  margin-top: 0;
}

.services2-section{
  margin-top: 40px;
}

.btn-pill {
  display: inline-flex;
  align-items: center;
  gap: 15px;

  background: #1cb2e1;
  color: #fff;
  text-decoration: none;

  padding: 10px 18px 10px 22px;
  border-radius: 50px;
  margin-top: auto;
  font-weight: 500;
  font-size: 14px;
  width: fit-content;

  transition: all 0.3s ease;
}

/* icon bulat */
.btn-pill .icon {
  width: 28px;
  height: 28px;
  background: #fff;
  color: #0d2c6c;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  font-size: 14px;

  transition: 0.3s;
}

/* hover effect */
.btn-pill:hover {
  background: #0964ae;
}

.btn-pill:hover .icon {
  transform: translateX(4px);
}

main {
  flex:1;
  padding: 0px;
}

.icon-location {
  width: 16px;
  height: 16px;
}

.icon-email {
  width: 16px;
  height: 16px;
}

.icon-telephone {
  width: 16px;
  height: 16px;
}

.contact-item {
  display: flex;
  align-items: center; /* ganti dari flex-start */
  gap: 15px;
  margin-bottom: 20px;
  color: #555;
  font-size: 15px;
}

.icon-instagram {
  width: 16px;
  height: 16px;
  padding-top: 5px;
}

.hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 90vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  display: flex;
  align-items: center;

  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease;
}

/* active slide */
.hero-slide.active {
  opacity: 1;
  pointer-events: auto;
}

/* wrapper */
.hero-slider {
  position: relative;
  min-height: 90vh;
}

/* overlay tetap aman */
.hero-slide .overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.06);
}

.hero-content {
  position: absolute;
  z-index: 2;   /* penting */
  top: 40%;
  left: 80px; /* jarak dari kiri */
  transform: translateY(-50%);
  text-align: left; /* penting biar gak center */
  color: #fff;
  max-width: 600px;
  padding: 20px;
}

h1 span.welcome {
  display: block;       /* biar pindah baris */
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 400;
}

h1 span.company {
  display: block;       /* pindah baris */
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 700;
}

.hero-content h1 {
  font-size: 2.5rem;
  margin: 0;
  line-height: 1.2;
}

.hero-content p {
  font-size: 1.1rem;
  margin-bottom: 24px;
  line-height: 1;
}

.hero-subtitle{
    color:#fff;
    font-size:1.4rem;
    font-weight:600;
    line-height:1.3;
    margin:8px 0 15px;
    text-shadow:0 2px 8px rgba(0,0,0,.35);
}

.stats-section {
  padding: 0px 20px;
  background: #ffff;
  margin-top: 60px;
}

.stats-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start; /* 🔥 biar sejajar atas */
  gap: 70px;
}

.stats-left {
  flex: 0.8;
}

.section-label {
  display: inline-block;
  font-size: 1rem;
  letter-spacing: 2px;
  font-weight: 600;
  color: #1cb2e1; /* brand accent */
  margin-bottom: 18px;
  z-index: 999;
}

.stats-left h2 {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.25;
  color: #222;
  margin: 0;
  max-width: 520px;
}

.highlight {
  color: #1cb2e1 /* kasih aksen di bagian penting */
}

.stats-right {
  flex: 0.8;
  display: flex;
  flex-direction: column; /* 🔥 ini penting */
  gap: 0px;
}

.map-card{
  width: 100%;
  height: 350px;
  background:none;
  display: inline-block;
}

.map-card img{
  width:100%;
  height: 450px;
  opacity:0.9;
  display:block;
  margin-bottom: 40px;
}

.about-label {
  color: #1cb2e1;
  font-size: 1rem;
  font-weight: 600;
}

.about-label2 {
  color: #1cb2e1;
  font-size: 1rem;
  font-weight: 600;
}

.about-label-hero {
  color: #1cb2e1;
  font-size: 1.5rem;
  font-weight: 600;
}


.stats-description p {
  font-size: 1rem;
  line-height: 1.6;
  color: #666;
  margin: 10px 0;
}

.stats-description-left p {
  font-size: 1rem;
  line-height: 1.6;
  color: #666;
  margin: 30px 0;
}

.stats-description-left {
  margin-top: 70px;
}

.more-text {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.more-text.show {
  max-height: 200px;
}

.see-more {
  margin-top: 10px;
  cursor: pointer;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  color: #1d9cc7;
  font-weight: 500;
  transition: 0.3s;
}

.see-more:hover {
  opacity: 0.8;
}

.arrow-wrapper {
  animation: bounce 1.5s infinite;
}

.arrow-icon {
  width: 22px;
  transition: transform 0.3s ease;
}

.arrow-icon.rotate {
  transform: rotate(180deg);
}


/* animasi turun naik */
@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(6px);
  }
}


.stats-numbers {
  display: flex;
  align-items: flex-start; /* samain atasnya */
  flex-direction: row;   /* pastiin horizontal */
  justify-content: space-between;
  gap: 30px;
}

.stat-box h3 {
  font-size: 1.8rem;
  margin: 0;
  color: #1cb2e1;
}

.stat-box p {
  font-size: 0.85rem;
  color: #888;
  margin-top: 6px;
}

.grid-container {
    display: flex;
    justify-content: center; /* Biar card mulai dari tengah */
    gap: 40px;
    padding: 5px;
    margin-bottom: 60px;
    
}

.card {
    width: 340px;
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex;
    flex-direction: column; /* penting */
    border: 1.5px solid #eee;
    position: relative;
}

.card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 20%;
    transition: width 0.3s ease;         /* panjang garis */
    height: 4px;         /* tebal garis */
    background: #1cb2e1; /* warna underline */
    border-radius: 10px; /* rounded */
}

.card:hover::after {
    width: 100%;
}

.card:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.3);
}

.card img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.card-content {
    padding: 15px;
    flex: 1; /* biar tinggi card sama */
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
    
}

.card-content h2 {
    font-size: 1.2rem;
    margin-bottom: 5px;
    margin-top: 5px;
    color: #333;
}

.card-content p {
    font-size: 0.9rem;
    margin-top: 10px;
    color: #555;
}


.product-highlight {
  background: linear-gradient(90deg, #f6f5f5, #cdedf8, #f6f5f5);
  margin-left: -50vw;  /* margin negatif untuk balik ke kiri */
  margin-right: -50vw; /* margin negatif untuk balik ke kanan */
}

.product-highlight-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px;
}

.section-header {
  text-align: center;
  margin-bottom: 50px;
}

.section-header h1 {
  font-size: 2rem;
  color: #373c42;
  margin-bottom: 10px;
}

.section-header p {
  color: #6b7280;
  font-size: 1rem;
}


.product-layout {
  max-width: 1000px;
  margin: auto;
  padding: 0;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
}

.product-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
}

.product-title {
    position: absolute;
    bottom: 0px;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);
    padding: 5px 12px;
    background: #1cb2e1;
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
    text-align: center;
    font-weight: 500;
    z-index: 2;
}

.product-title-link{
    color:inherit;
    text-decoration:none;
}

.product-title-link:hover{
    color:#1cb2e1;
}

.product-list .card img {
  height: 150px;
  width: 100%;
  object-fit: cover;
}

.product-list .card-content {
  padding: 14px;
}

.product-list h3 {
  font-size: 1.1rem;
}

.section-cta {
  text-align: center;
  margin-top: 40px;
}

.section-cta a {
  font-weight: 600;
  color: #1f2a44;
  text-decoration: none;
}

.section-cta a:hover {
  text-decoration: underline;
}


.card-list-product {
    width: 180px;
    aspect-ratio: 1 / 1;   /* 🔥 INI KUNCI */
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex;
    flex-direction: column;
    border: 1.5px solid #eee;
    position: relative;
    background-size: 70%;    
    background-position: center;
    background-repeat: no-repeat;
}


.card-list-product::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0%;
    transition: width 0.3s ease;       
    height: 2.3px;        
    background: #1cb2e1; 
    border-radius: 10px; 
    z-index: 3;
}

.card-list-product:hover::after {
    width: 100%;
}

.card-list-product:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.3);
}

.card-list-product img {
    max-width: 110px;
    max-height: 130px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    margin: 10px auto;
}

.product-coryza {
  background-image: url('../images/coryza.png');
}

.product-ndg7 {
  background-image: url('../images/ND G7 AI PLUS.png');
}

.product-ndls {
  background-image: url('../images/ndls.png');
}

.product-h120 {
  background-image: url('../images/H120.png');
} 

.product-hero-wrapper {
 background:
    radial-gradient(
      circle at 70% 30%,
      rgba(28,178,225,0.18),
      transparent 60%
    ),
    linear-gradient(
      to right,
      #ffffff,
      #f7fbff
    );
  background-size: cover;
  background-position: center;
  margin-left: -50vw;
  margin-right: -50vw;

  position: relative; /* WAJIB */
  overflow: hidden;
}

/* overlay */
.product-hero-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* biar isi tetap di atas */
.product-hero {
  position: relative;
  z-index: 2;
}


.product-hero {
  max-width: 1200px;   /* bikin layout LEBAR */
  height: 500px;
  margin: 0 auto;
  padding: 0px; /* gedein area hero */
  display: flex;
  align-items: center;
  gap: 20px;
}

.desc-product-left {
  flex: 1;
  margin-top: -35px;
}

.desc-product-left p {
  margin-bottom: 25px;
  color: #373c42;
}

.desc-product-left a {
  margin-bottom: 20px;
}

.desc-product-left h1 {
  color: #222;
}

.product-hero-right {
  flex: 1;
  display: flex;
}

.product-image-card {
  width: 420px;
  height: 420px; /* 🔥 kontrol tinggi */
  background-size: contain;   /* contain = ga kepotong */
  background-repeat: no-repeat;
  background-position: center;
  background-color: #fff;     /* background card */
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.12);

}

.product-image-card img {
  width: 100%;
  border-radius: 16px;
  height: auto;
  display: block;
}

.info-section {
  padding: 0px 30px;
  margin-top: 60px;
  margin-bottom: 30px;
  background: #fff; /* polos */
}

.info-header {
  max-width:1200px;
  margin: 0 auto 30px;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column; /* ini yang bikin turun ke bawah */
  text-align: center;      /* biar teks rata tengah */
}

.info-header h2 {
  font-size: 2rem;
  margin: 0 auto;
  color: #222;
  max-width: 700px;
}

.info-header p {
    font-size: 0.9rem;
    color: #555;
    margin-bottom: -40px;
}

.info-header a {
  color: #fff
}

.info-header-top {
  text-align: center;
  margin-top: 40px;
}

.info-header-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.info-header-bottom h3 {
  margin: 0;
  color: #373c42;
}

/* CONTAINER */
.info-slider {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 50px;
}

/* WRAPPER (nanti buat overflow hidden pas JS aktif) */
.slider-wrapper {
  overflow: hidden;
  position: relative;
  width: 100%; /* WAJIB */
  margin: 0 auto;
}

.nav-btn {
 position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;   /* ❌ hilangin background */
  border: none;
  color: #1cb2e1;            /* warna panah */
  font-size: 40px;           /* 🔥 gedein panah */
  cursor: pointer;
  z-index: 5;
  transition: all 0.3s ease;
}

.nav-btn:hover {
  color: #1596bf;
  transform: translateY(-50%) scale(1.2);
}

.prev {
  left: -20px;
}

.next {
  right: -20px;
}

/* DOTS */
.slider-dots {
    position: absolute;
    bottom: 120px;
    left: 50%;
    transform: translateX(-50%);

    display: flex;
    gap: 10px;
    z-index: 5;
}

.slider-dots span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255,255,255,0.5);
}

.slider-dots span.active {
  background: #1cb2e1;
}

.slider-wrapper{
    overflow:hidden;
    width:100%;
}

.info-list{
    display:flex;
    gap:30px;
    transition:transform .5s ease;
    width:auto;
    margin-bottom: 60px;
}

.info-card{
    flex:0 0 calc((100% - 60px) / 3);
}

.info-card {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  background-size: cover;
  background-position: center;
  height: 340px; /* tinggi fix kayak blog */
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s;
}

.info-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 40px rgba(0,0,0,0.12);
}

.info-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.6) 0%,      /* overlay atas */
    rgba(0,0,0,0.2) 25%,
    rgba(0,0,0,0) 45%,
    rgba(0,0,0,0) 30%,
    rgba(0,0,0,0.3) 60%,
    rgba(0,0,0,0.90) 100%   /* overlay bawah */
  );
  z-index: 1;
}

/* UNDERLINE */
.info-card::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0%;
  height: 4px;
  background: #1cb2e1;
  transform: translateX(-50%);
  transition: width 0.3s ease;
  z-index: 3; /* di atas overlay */
}

/* HOVER */
.info-card:hover::before {
  width: 100%;
}

.info-card h4 {
  position: absolute;
  top: 15px;
  left: 20px;
  z-index: 2;
  color: #fff;
  margin: 0;
}

/* TITLE */
.info-card h3 {
  position: absolute;
  bottom: 110px;
  left: 20px;
  right: 20px;
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.4;
  color: #fff;
  z-index: 2;
}

/* DESC */
.info-card p {
  position: absolute;
  bottom: 35px;
  left: 20px;
  right: 20px;
  font-size: 0.85rem;
  opacity: 0.85;
  color: #fff;
  z-index: 2;
}

.info-card img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:0;
}

.info-list .info-card{
    opacity:1 !important;
    transform:none !important;
}

/* WRAPPER BAWAH */
.card-bottom {
  position: absolute;
  bottom: 18px;
  left: 20px;
  right: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 2;
}

/* DATE */
.card-bottom .date {
  font-size: 0.85rem;
  opacity: 0.85;
  color: #fff;
}

/* BUTTON */
.btn-read {
  font-size: 0.85rem;
  opacity: 0.85;
  color: #fff;
  
}

/* BUTTON */
.btn-read-product {
  font-size: 0.9rem;
  opacity: 0.9;
  color: #3e3a3a;
  margin-bottom: 20px;
}




/*----------------------------------------------------------------------------------------------------*/
/*PAGE ABOUT US*/


/*HERO CONTENT*/
.about-section {
  padding: 80px 5%;
  position: relative;
  overflow: hidden; /* INI KUNCI */
  background: linear-gradient(
    to right,
    #f8fbff 0%,
    #eef6ff 50%,
    #ffffff 100%
  );
}

.about-section::before {
  content: "";
  position: absolute;
  top: -120px;
  right: 0;
  transform: translate(30%, -30%);
  width: 500px;
  height: 500px;
  background: radial-gradient(
    circle,
    rgba(0, 100, 255, 0.15) 0%,
    transparent 70%
  );
  border-radius: 50%;
  filter: blur(40px);
  z-index: 0;
}

.about-section::after {
  content: "";
  position: absolute;
  bottom: -150px;
  left: 0;
  transform: translate(-30%, 30%);
  width: 400px;
  height: 400px;
  background: radial-gradient(
    circle,
    rgba(0, 100, 255, 0.15) 0%,
    transparent 70%
  );
  border-radius: 50%;
  filter: blur(50px);
  z-index: 0;
}

.about2-container {
  position: relative;
  z-index: 1;

  display: flex;
  align-items: center;
  gap: 50px;
  max-width: 1200px;
  margin: auto;
}

/* APPLY */
.about-section::before {
  animation: float1 8s ease-in-out infinite;
}

.about-section::after {
  animation: float2 10s ease-in-out infinite;
}

/* TEXT */
.about-text {
  flex: 1;
}

.about-text h1 {
  font-size: 42px;
  margin: 10px 0 20px;
  color: #222;
}

.about-text p {
  color: #555;
  line-height: 1.7;
}

/* IMAGE */
.about-image {
  flex: 1;
}

.about-image img {
  width: 100%;
  border-radius: 20px;
  object-fit: cover;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}



.about-hero {
  position: relative;   /* penting */
  width: 100%;
  min-height: 80vh;
     background:
    radial-gradient(
      circle at 70% 30%,
      rgba(28,178,225,0.18),
      transparent 60%
    ),
    linear-gradient(
      to right,
      #ffffff,
      #f7fbff
    );
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: flex-start;
  padding-top: 60px; /* atur sesuai selera */
}

/* overlay */
.about-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 70% 30%,
      rgba(28,178,225,0.18),
      transparent 60%
    ),
    linear-gradient(
      to right,
      #ffffff,
      #f7fbff
    );
}

.about-container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}

/* biar konten di atas overlay */
.about-container {
  position: relative;
  z-index: 2;
}

/* LEFT SIDE */
.about-left {
  flex: 1.3;
  margin-left: 40px;
}

.about-left h1 {
  font-size: 2.7rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -1px;
  max-width: 520px;
  color: #373c42;
}

.about-left p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: #373c42;
  max-width: 480px;
  margin-bottom: 32px;
}

/* RIGHT SIDE */
.about-right {
  flex: 1.7;
  position: relative;
  min-height: 500px;
}

.img-card {
  position: absolute;
  border-radius: 18px;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
}

.img-card img {
  width: 100%;
  height: auto;
  object-fit: contain;
  display: block;
}

/* positioning images */
.img-top {
  width: 130px;
  top: -10px;
  right: 215px;
  z-index: 2;
}

.img-top1 {
  width: 200px;
  top: 60px;
  right: 20px;
  z-index: 2;
}

.img-middle {
  width: 240px;
  top: 60px;
  left: 80px;
  z-index: 3;
}


.img-bottom {
  width: 160px;
  top: 220px;
  right: 200px;
  z-index: 1;
}

.img-top {
  animation: float1 5s ease-in-out infinite;
}

.img-top1 {
  animation: float1 6s ease-in-out infinite;
}

.img-middle {
  animation: float2 7s ease-in-out infinite;
}

.img-bottom {
  animation: float3 4s ease-in-out infinite;
}

@keyframes float1 {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-15px); }
}

@keyframes float2 {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(12px); }
}

@keyframes float3 {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}


/* Decorative lines */
.line {
  position: absolute;
  width: 2px;
  background: #bbb;
  opacity: 0.6;
}

.line-1 {
  height: 120px;
  top: 40px;
  right: 100px;
}

.line-2 {
  height: 120px;
  bottom: 70px;
  left: 250px;
}

/* SECTION */
.vm {
  overflow: visible;
  text-align: center;
  margin-top: 70px;
  position: relative;
  background:
    radial-gradient(
      circle at 70% 30%,
      rgba(28,178,225,0.18),
      transparent 60%
    ),
    linear-gradient(
      to right,
      #ffffff,
      #f7fbff
    );
}

/* ================= TEXT ATAS ================= */
.vm h5 {
  letter-spacing: 4px;
  font-size: 12px;
  color: #3b5bdb;
  margin-bottom: 10px;
}

/* ================= VISION ================= */
.vision {
  padding-top: 60px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  overflow: hidden;
  
}

/* TEXT BESAR BACKGROUND */
.bg-text {
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  font-size: 120px;
  font-weight: 800;
  color: rgba(0, 0, 0, 0.04);
  
  z-index: 1;
  white-space: nowrap;
  pointer-events: none;
}

/* TEXT BESAR BACKGROUND */
.mission .bg-text {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  font-size: 120px;
  font-weight: 800;
  color: rgba(0, 0, 0, 0.04);
  
  z-index: 1;
  white-space: nowrap;
  pointer-events: none;
}


/* TITLE */
.vision h2 {
  position: relative;
  z-index: 2;
  color: #1cb2e1;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 20px;
  letter-spacing: 1px;
}

/* garis bawah biar lebih corporate */
.vision h2::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: #1cb2e1;
  margin: 10px auto 0;
  border-radius: 2px;
}

/* TEXT */
.vision-text {
  
  max-width: 850px;
  font-size: 1.12rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.3px;
  color: #373c42;
  position: relative;
  z-index: 2;
}



/* ================= GARIS ================= */
.line {
  width: 2px;
  height: 120px;
  background: #bbb;
  margin: 30px auto;
  position: relative;
}

/* titik */
.line::after {
  content: "";
  width: 6px;
  height: 6px;
  background: #bbb;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* ================= MISSION ================= */
.mission {
  position: relative;
}

/* TITLE */
.mission h2 {
  position: relative;
  z-index: 2;
  color: #1cb2e1;
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 20px;
  letter-spacing: 1px;
}

/* garis bawah biar lebih corporate */
.mission h2::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: #1cb2e1;
  margin: 10px auto 0;
  border-radius: 2px;
}

.mission-desc {
  margin: 20px auto 40px;
  max-width: 850px;
  font-size: 1.12rem;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 0.3px;
  color: #373c42;
}

.missions2 {
   max-width: 1100px;
  margin: auto;
  margin-top: 20px;
  margin-bottom: 60px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* ZIG-ZAG POSITION */
.mission-card:nth-child(4),
.mission-card:nth-child(5) {
  transform: translateX(50%);
}

.mission-card {
  position: relative;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbfd 100%);
  border-radius: 14px;
  padding: 30px 26px;

  border: 1px solid #e5e7eb;
  transition: all 0.3s ease;
}

/* ICON */
.mission-icon {
  width: 28px;
  height: 28px;
  color: #1ea7c5;
  margin-bottom: 14px;
}



/* biar gak overflow kanan */
.missions2 {
  overflow: hidden;
}

/* NUMBER */
.mission-number {
  font-size: 12px;
  font-weight: 600;
  color: #94a3b8;
  display: block;
  margin-bottom: 10px;
}

/* TITLE */
.mission-card h4 {
  font-size: 16px;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 10px;
}

/* TEXT */
.mission-card p {
  font-size: 14px;
  color: #475569;
  line-height: 1.6;
}

.mission-card b {
  color: #0f172a;
}

/* HOVER */
.mission-card:hover {
  .mission-card:hover {
  transform: translateY(-5px);
}

/* khusus zig-zag */
.mission-card:nth-child(4):hover,
.mission-card:nth-child(5):hover {
  transform: translateX(50%) translateY(-5px);
}
  border-color: #cbd5f5;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

/* ACTIVE (highlight) */
.mission-card.active {
  border-left: 4px solid #1ea7c5;
  background: #f8fbfd;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .missions2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .mission-card:nth-child(4),
  .mission-card:nth-child(5) {
    grid-column: auto;
  }
}

@media (max-width: 600px) {
  .missions2 {
    grid-template-columns: 1fr;
  }
}

/* TIMELINE */

.history-section {
  background: #fff;
  padding: 0px 60px;
  color: #fff;
  position: relative;
  overflow: hidden;
}

/* HEADER */
.history-header h2 {
  font-size: 36px;
  font-weight: 600;
  margin-bottom: 40px;
  color: #062b3a;
}

/* TIMELINE */
.timeline {
  margin-bottom: 35px;
  display: inline-block;
  max-width: 100%;
}

.timeline-years {
  display: flex;
  justify-content: flex-start;
  gap: clamp(32px, 6vw, 96px);
  font-size: 18px;
  color: #555;
  white-space: nowrap;
}

.timeline-years span {
  cursor: pointer;
  position: relative;
}

.timeline-years .active {
  color: #1cb2e1;
  font-weight: 600;
}

.timeline-line {
  height: 2px;
  background: rgba(0, 0, 0, 0.15);
  margin-top: 15px;
  position: relative;
  width: 100%;
}

.timeline-progress {
  width: 0;
  height: 100%;
  transition: 1.5s ease;
  background: #1cb2e1;
}

/* CONTENT */
.history-content {
  display: flex;
  gap: 30px;
  position: relative;
  min-height: 320px;
  margin-bottom: 60px;
}

/* CARD */
.history-card {
  position: relative;

  width: 240px;
  min-height: 240px;
  padding: 25px;

  border-radius: 20px;
  overflow: hidden;

  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;

  color: #fff;

  opacity: 0;
  visibility: hidden;

  transform: translateY(40px);

  transition:
    opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);

  pointer-events: none;

  /* penting */
  flex-shrink: 0;
}

/* ACTIVE */
.history-card.active {
  opacity: 1;
  visibility: visible;

  transform: translateY(0);

  pointer-events: auto;
}

/* OVERLAY */
.history-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
}

.history-card * {
  position: relative;
  z-index: 1;
}

/* HOVER */
.history-card:hover {
  transform: translateY(-10px);
}

.year-item {
  cursor: pointer;
}

.history-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 10%;
    transition: width 0.3s ease;         /* panjang garis */
}

.history-card:hover::after {
    width: 100%;
}

.history-card h3 {
  font-size: 28px;
  margin-bottom: 20px;
}

.history-card p {
  line-height: 1.7;
  font-size: 15px;
}

/* IMAGE CARD */
.history-image-card {
  display: flex;
  padding: 0;
  overflow: hidden;
  
}

.history-image-card .text {
  padding: 40px;
  width: 100%;
}

.history-image-card .image {
  width: 100%;
}

.history-image-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cvalue-section {
  padding: 0px 20px;
  background: #fff;
  margin-top: 100px;
}

.cvalue-list {
  max-width: 1100px;
  margin: 0 auto;
  padding: 20px 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 sama besar */
  gap: 30px;
}

.cvalue-card {
  position: relative; /* ini penting */
  display: flex;
  flex-direction: column;
  justify-content: center;  /* vertical center */
  align-items: center;      /* horizontal center */
  text-align: center;
  min-height: 250px;        /* kasih tinggi biar keliatan */
  border: 1px solid #e0e0e0;
  border-radius: 14px;
  transition: transform 0.3s, box-shadow 0.3s;
  background-size: cover;      /* bikin foto fit */
  background-position: center; /* fokus tengah */
  background-repeat: no-repeat;
}

.cvalue-card h3 {
  align-items: flex-start;
  margin: 0;
  font-size: 1.4rem;
  color: #fff; 
}

.cvalue-card p {
  color: #fff;
}

.cvalue-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4); /* warna overlay */
  border-radius: 14px;
}

.cvalue-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0%;
    transition: width 0.3s ease;         /* panjang garis */
    height: 4px;         /* tebal garis */
    background: #1cb2e1; /* warna underline */
    border-radius: 10px; /* rounded */
}

.cvalue-card:hover::after {
    width: 97%;
}

.cvalue-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.3);
}

.cvalue-card h3,
.cvalue-card p,
.cvalue-icon {
  position: relative;
  z-index: 2;
}


.cvalue-wrapper {
  max-width: 1180px;
  margin: 0 auto;
  background: #ffffff;
  padding: 15px 10px;
  border-radius: 20px;
  box-shadow: 0 10px 2px rgba(0,0,0,0.08);
  border: 2px solid #e0e0e0;
  background: linear-gradient(135deg, #e3f2fd, #ffffff);
}

.cvalue-header {
  max-width:1200px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column; /* ini yang bikin turun ke bawah */
  text-align: center;      /* biar teks rata tengah */
}

.cvalue-header h2 {
  font-size: 2rem;
  margin: 0 auto;
  color: #373c42;
  max-width: 700px;
}

.cvalue-header a {
  color: #fff
}

.cvalue-header-top {
  text-align: center;
}

.cvalue-icon {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px;
}

.cvalue-icon img {
  width: 60px;
  height: 60px;
  object-fit: contain;
}

/* CARD PRODUCT ABOUT US */
.card-product-about {
    width: 500px;
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex;
    flex-direction: column; /* penting */
    position: relative;
}

.card-product-about2 {
    width: 500px;
    margin-top: -60px;
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex;
    flex-direction: column; /* penting */
    position: relative;
    
}

/* CONTACT US */

.hero-contact {
  width: 100%;
  height: 25%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: flex-start;
  padding-top: 60px; /* atur sesuai selera */
}

.contact-section {
  padding: 20px 20px;
}

.container-contact {
  max-width: 1100px;
  margin: auto;
  gap: 30px;
}

.contact-header {
  text-align: center;
  margin-bottom: 20px;
}

.contact-header h1 {
  font-size: 42px;
  font-weight: 700;
  margin-bottom: 15px;
}

.contact-header p {
  max-width: 600px;
  margin: auto;
  color: #64748b;
  line-height: 1.6;
}

.email-link {
  display: flex;
  align-items: center;
  justify-content: center;
}

.phone-link {
  display: flex;
  align-items: center;
  justify-content: center;
}

.social-icons a {
  width: 42px;
  height: 42px;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; /* penting biar gak keluar */
}

.social-icons img {
  width: 36px;
  height: 36px;
}

/* PAGE PRODUCTS */

/* HERO SECTION */
.product-heroes {
  width: 100%;
  min-height: 80vh;
  background: linear-gradient(135deg, #f0f4f8, #ffffff);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  display: flex;
  align-items: flex-start;
  padding-top: 60px; /* atur sesuai selera */
}

.hero-container {
   width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
}

.hero-text h1 {
  font-size: 44px;
  margin-bottom: 20px;
  line-height: 1.2;
}

.hero-text p {
  color: #6b7280;
  margin-bottom: 30px;
  font-size: 16px;
  max-width: 500px;
}

.hero-buttons {
  display: flex;
  gap: 15px;
}

/* BUTTONS */
.btn-primary-products {
  background: #1cb2e1;
  color: #fff;
  padding: 12px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 500;
  transition: 0.3s;
}

.btn-primary-products:hover {
  background: #1e40af;
}

.btn-outline {
  border: 1px solid #2563eb;
  color: #2563eb;
  padding: 12px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 500;
  transition: 0.3s;
}

.btn-outline:hover {
  background: #2563eb;
  color: #fff;
}

/* HERO IMAGE */
.hero-image img {
   width:100%;
  max-width:520px;
  height:auto;
}

/* RESPONSIVE HERO */
@media (max-width: 992px) {
  .hero-container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero-text p {
    margin: auto;
  }

  .hero-buttons {
    justify-content: center;
  }

  .hero-image {
    margin-top: 40px;
  }
}

.products-section {
  padding: 40px 20px;
}

.container-products {
  max-width: 1100px;
  margin: auto;
}

/* HEADER */
.section-header-products {
  text-align: center;
  margin-bottom: 50px;
}

.section-header-products h1 {
  font-size: 40px;
  margin-bottom: 15px;
}

.section-header-products  p {
  color: #6b7280;
  max-width: 700px;
  margin: auto;
}

/* FILTER */
.filter-wrapper {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.filter-btn {
  padding: 10px 22px;
  border: 1px solid #d1d5db;
  background: #fff;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.3s;
}

.filter-btn:hover {
  background: #e5e7eb;
}

.filter-btn.active {
  background: #1cb2e1;
  color: #fff;
  border-color: #1cb2e1;
}

/* GRID */
.product-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

/* CARD */
.product-card {
  position: relative;
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 25px rgba(0,0,0,0.05);
  transition: 0.3s;
  border: 1px solid #e0e0e0;
}

.product-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0%;
    transition: width 0.3s ease;         /* panjang garis */
    height: 4px;         /* tebal garis */
    background: #1cb2e1; /* warna underline */
    border-radius: 10px; /* rounded */
}

.product-card:hover::after {
    width: 100%;
}

.product-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 40px rgba(0,0,0,0.08);
}

.product-card img {
  width: 210px;
  aspect-ratio: 1 / 1;
  object-fit: contain;

  display: block;
  margin: 40px 64px auto;  /* 🔥 INI YANG BIKIN CENTER */
}

.product-content {
  padding: 20px;

  display: flex;
  flex-direction: column;
  height: 80%;
}

.product-content h3 {
  margin-bottom: 5px;
  font-size: 18px;
}

.product-content p {
  font-size: 14px;
  color: #6b7280;
  margin-bottom: 15px;

  min-height: 2.8em;
}

.product-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;

  
}

/* tag kanan atas */
.tag2 {
  position: absolute;
  top: 12px;
  left: 12px;

  background: #e6f7fc; /* opsional biar keliatan kayak badge */
  padding: 4px 10px;
  border-radius: 20px;

  color: #1cb2e1;
  font-weight: 500;
  font-size: 12px;
}

.learn-more {
  text-decoration: none;
  color: #1cb2e1;
  font-weight: 500;
  font-size: 14px;
}

.learn-more:hover {
  text-decoration: underline;
}

/* PAGINATION */
.pagination {
  margin-top: 60px;
  margin-bottom: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.pagination-wrapper{
    margin-top:60px;
    display:flex;
    justify-content:center;
}

.page-btn,
.page-number {
  padding: 8px 14px;
  border: 1px solid #d1d5db;
  background: #fff;
  border-radius: 6px;
  cursor: pointer;
  transition: 0.3s;
}

.page-number.active {
  background: #1cb2e1;
  color: #fff;
  border-color: #1cb2e1;
}

.page-btn:hover,
.page-number:hover {
  background: #e5e7eb;
}

.dots {
  padding: 0 5px;
  color: #6b7280;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .product-grid {
    grid-template-columns: 1fr;
  }

  .section-header h1 {
    font-size: 28px;
  }
}

.product-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
  flex-wrap: wrap;
  gap: 20px;
}

.search-box input {
  padding: 10px 16px;
  border-radius: 8px;
  border: 1px solid #e5e7eb;
  outline: none;
  width: 240px;
  transition: 0.3s;
}

.search-box input:focus {
  border-color: #1cb2e1;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.1);
}

/* FILTER BUTTONS */
.filter-buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

/* BUTTON */
.filter-btn {
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  background: #fff;
  color: #1a2b6d;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.25s ease;
}

/* HOVER */
.filter-btn:hover {
  border-color: #1cb2e1;
  color: #1cb2e1;
  background: #f0f9ff;
}

/* ACTIVE */
.filter-btn.active {
  background: #1cb2e1;
  color: #fff;
  border-color: #1cb2e1;
  box-shadow: 0 4px 12px rgba(28,178,225,0.25);
}


/* NEWS & ARTICLES ------------------------------------------------------------------------- */

.article-hero {
  padding: 30px 5%;
 background:
  radial-gradient(
    circle at 75% 40%,
    rgba(28,178,225,0.15),
    transparent 60%
  ),
  linear-gradient(
    to right,
    #ffffff,
    #f7fbff
  );
}

/* CONTAINER */
.hero-container-article {
  width: 100%;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 30px;
  max-width: 1200px;
  margin: auto;
}

/* FEATURED */
.featured-article {
  position: relative;
  border-radius: 20px;
  border: 1.5px solid #e0e0e0;
  overflow: hidden;
}

.featured-article img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* overlay */
.featured-overlay {
    position:absolute;
    left:0;
    right:0;
    bottom:0;

    padding:30px;
    box-sizing:border-box;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.85),
        rgba(0,0,0,.55),
        transparent
    );
}

.featured-overlay h2{
    color:#fff !important;
    margin:10px 0;
}

.featured-overlay p{
    color:#fff !important;
    opacity:.9;
    margin:0 0 15px;
}

.featured-overlay .badge{
    color:#fff !important;
}

.featured-slider{
    position: relative;
    height: 420px;
}

.featured-slide{
    position:absolute;
    inset:0;

    opacity:0;
    visibility:hidden;

    transition:.6s ease;
    border-radius:28px;
    overflow:hidden;
}

.featured-slide.active{
    opacity:1;
    visibility:visible;
}

.featured-slide img{
    width:100%;
    height:100%;
    background:#ffff;
    object-fit:contain;
    border-radius:0;
}

.featured-dots{
    position:absolute;
    bottom:24px;
    left:50%;

    transform:translateX(-50%);

    display:flex;
    gap:10px;

    z-index:20;
}

.featured-dots span{
    width:10px;
    height:10px;
    border-radius:50%;
    background:#fff;
    opacity:.4;
    transition:.3s;
}

.featured-dots span.active{
    opacity:1;
    transform:scale(1.3);
}

.about-slider{
    position:relative;
    width:100%;
    height:450px;
    border-radius:24px;
    overflow:hidden;
}

.about-slide{
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity .8s ease;
}

.about-slide.active{
    opacity:1;
}

.about-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:24px;
}


/* badge */
.badge {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 50px;

  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;

  color: #fff;

  background: linear-gradient(
    135deg,
    #1cb2e1,
    #4facfe
  );

  box-shadow: 0 4px 12px rgba(28,178,225,0.3);

  backdrop-filter: blur(4px);
}

/* button */
.btn-read-article {
  display: inline-block;
  margin-top: 10px;
  padding: 8px 16px;
  background: white;
  color: #1cb2e1;
  border-radius: 10px;
  font-size: 13px;
  text-decoration: none;
}

.btn-read-title{
  font-size: 0.85rem;
  color: #1cb2e1;
  text-decoration: none;

  display: inline-block;
  transition: all .3s ease;
}

.btn-read-title:hover{
  transform: translateX(6px);
  color: #0ea5e9;
}

/* RIGHT SIDE */
.trending-wrapper {
  display: flex;
  flex-direction: column;
}

.trending-title {
  margin-top: 0;
  margin-bottom: 15px;
  color: #222;
  font-size: 24px;
}

/* LIST */
.trending-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* ITEM */
.trend-item {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 18px;
    border-radius: 16px;
    border-left: 4px solid #1cb2e1;
    background: white;
    box-shadow: 0 8px 20px rgba(0,0,0,0.05);
    cursor: pointer;

    transition: all .3s ease;
}

.trend-item:hover{
    transform: translateY(-5px);
    box-shadow: 0 12px 25px rgba(0,0,0,.12);
    border-left-color:#0ea5e9;
}

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

.trend-item img{
    transition:.3s ease;
}

.trend-item.article{
    transition: all .3s ease;
}

.trend-item.article:hover{
    transform: translateY(-5px);
    border-left-color: #0ea5e9;
    box-shadow: 0 12px 25px rgba(0,0,0,.12);
}


.trend-item img {
  width: 100px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
}

/* TEXT */
.trend-content h5 {
  margin: 5px 0;
  font-size: 16px;
  font-weight: 600;
}

/* TEXT */
.trend-content p {
  font-size: 0.85rem;
  opacity: 0.85;
  color: #373c42;
  margin: 5px 0;
}

/* TYPE COLORS */
.type {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.type.news { color: #1cb2e1; }
.type.article { color: #1cb2e1; }
.type.event { color: #ff7a00; }

.trend-item.news {
  border-left: 4px solid #1cb2e1;
}

.trend-item.article {
  border-left: 4px solid #1cb2e1;
}

.trend-item.event {
  border-left: 4px solid #ff7a00;
}


.container-list-articles {
  max-width: 1100px;
  margin: 20px auto;
  margin-bottom: 60px;
}

.section-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-left: 25px;
  margin-bottom: 40px;
  border-bottom: 1px solid #e5e5e5;
}

.section-top h2 {
  font-size: 24px;
}

/* Dropdown styling */
.filter-dropdown{
    position: relative;
    display: inline-block;
}

.filter-dropdown select{
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;

    min-width: 150px;

    padding: 10px 35px 10px 16px;

    border: 1px solid #ddd;
    border-radius: 12px;

    background: #fff;
    cursor: pointer;
}

.filter-dropdown::after{
    content: "";
    width: 6px;
    height: 6px;

    border-right: 2px solid #666;
    border-bottom: 2px solid #666;

    transform: translateY(-60%) rotate(45deg);

    position: absolute;
    right: 18px;
    top: 50%;
}

.filter-dropdown select:hover {
  border-color: #111;
}

.filter-dropdown select:focus {
  border-color: #111;
}

.info-listarticle {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.info-listarticle-card {
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex;
    flex-direction: column;
    border: 1.5px solid #eee;
    
}

.info-listarticle-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 20%;
    transition: width 0.3s ease;         /* panjang garis */
    height: 4px;         /* tebal garis */
    background: #1cb2e1; /* warna underline */
    border-radius: 10px; /* rounded */
}

.info-listarticle-card:hover::after {
    width: 100%;
}


.info-listarticle-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 12px 25px rgba(0,0,0,0.3);
}

.info-listarticle-card img {
      width: 100%;
    height: 220px;
    object-fit: contain;
}

.info-listarticle-card-content {
    padding: 15px;
    flex: 1; /* biar tinggi card sama */
    display: flex;
    flex-direction: column;
    
}

.info-listarticle-card-content h2 {
    font-size: 1.2rem;
    margin-bottom: 5px;
    margin-top: 5px;
    color: #1cb2e1;
}

.info-listarticle-card-content h3 {
    font-size: 1.1rem;
    color: #3e3a3a;
    margin-bottom: 5px;
}

.info-listarticle-card-content p {
    font-size: 0.9rem;
    margin-top: 5px;
    color: #555;
}

.info-listarticle-card-content a {
    text-decoration: none;
    color: #1cb2e1;
    font-weight: 500;
    font-size: 14px;
}

.info-listarticle-card-content a:hover {
    text-decoration: underline;
}

.info-listarticle-card-content .date {
    font-size: 0.85rem;
    color: #888;
    margin-top: 5px;
}


/* Contact Section---------------------------------------------------------------------------- */

/* SECTION */
.contact-section {
  padding: 80px 5%;
  background:
    radial-gradient(
      circle at 70% 30%,
      rgba(28,178,225,0.18),
      transparent 60%
    ),
    linear-gradient(
      to right,
      #ffffff,
      #f7fbff
    );
}

/* CONTAINER */
.contact-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 1200px;
  margin: auto;
}

/* LEFT */
.contact-left {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contact-image img {
  width: 100%;
  height: 435px; /* atur sesuai selera */
  object-fit: cover;
  border-radius: 16px;
}

/* INFO CARD */
.contact-info {
  border-radius: 16px;
}

.info-item {
  display: flex;
  gap: 15px;
  margin-bottom: 20px;
}

.info-item:last-child {
  margin-bottom: 0;
}


.info-item h4 {
  margin: 0;
  font-size: 14px;
}

.info-item p {
  margin: 2px 0 0;
  font-size: 13px;
  color: #555;
}

/* RIGHT FORM */
.contact-right {
  background: #fff;
  padding: 35px;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.contact-right h2 {
  margin-bottom: 10px;
}

.subtitle {
  color: #666;
  margin-bottom: 25px;
}

/* FORM */
.form-group {
  margin-bottom: 18px;
}

.form-group label {
  font-size: 13px;
  display: block;
  margin-bottom: 6px;
}

.form-group input,
.form-group textarea {
  width: 100%;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid #ddd;
  font-size: 14px;
  outline: none;
  transition: 0.3s;
}

.form-group input:focus,
.form-group textarea:focus {
  border-color: #1cb2e1;
  box-shadow: 0 0 0 2px rgba(28,178,225,0.1);
}

textarea {
  min-height: 100px;
  resize: none;
}

/* CHECKBOX */
.form-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  margin-bottom: 20px;
}

.form-check a {
  color: #1cb2e1;
}

/* BUTTON */
.btn-submit {
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 12px;
  background: #1cb2e1;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
}

.btn-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(123,92,255,0.3);
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .contact-container {
    grid-template-columns: 1fr;
  }
}

.map-section {
  margin-top: 0px;
  margin-bottom: 60px;
}

.map-section iframe {
  width: 100%;
  height: 400px;
  border: 0;
  border-radius: 20px;
}

.container-map {
  max-width: 1150px;
  margin: auto;
}

.contact-success{
    background:#dcfce7;
    color:#1cb2e1;
    padding:12px 16px;
    border-radius:8px;
    margin-bottom:20px;

    transition:
        opacity .5s ease,
        transform .5s ease;
}

/* HERO */

.privacy-hero{
    padding:100px 0px 5%;
    text-align:center;

    background:
    radial-gradient(
        circle at 80% 20%,
        rgba(28,178,225,.12),
        transparent 45%
    ),
    linear-gradient(
        to right,
        #ffffff,
        #f7fbff
    );
}

.privacy-hero-content{
    max-width:800px;
    margin:auto;
}

.privacy-badge{
    display:inline-block;

    padding:8px 16px;

    border-radius:999px;

    background:#e0f2fe;

    color:#0284c7;

    font-size:.85rem;
    font-weight:600;

    margin-bottom:20px;
}

.privacy-hero h1{
    font-size:52px;
    font-weight:700;
    color:#0f172a;

    margin-bottom:20px;
}

.privacy-hero p{
    font-size:18px;
    line-height:1.8;
    color:#64748b;
}

/* CONTENT */

.privacy-content{
    padding:5%;
    background:#f8fafc;
}

.privacy-container{
    max-width:1000px;
    margin:auto;
}

.privacy-card{
    background:#fff;

    padding:50px;

    border-radius:28px;

    box-shadow:
    0 10px 40px rgba(0,0,0,.05);
}

.privacy-date{
    color:#94a3b8;
    margin-bottom:30px;
}

.privacy-card h2{
    margin-top:35px;
    margin-bottom:15px;

    color:#0f172a;

    font-size:24px;
}

.privacy-card p{
    color:#475569;
    line-height:1.9;
}

.privacy-card ul{
    padding-left:20px;
    margin-top:15px;
}

.privacy-card li{
    margin-bottom:10px;
    color:#475569;
    line-height:1.8;
}

.privacy-contact{
    margin-top:20px;

    padding:20px;

    border-radius:16px;

    background:#f8fafc;

    display:flex;
    flex-direction:column;
    gap:8px;
}

/* MOBILE */

@media(max-width:768px){

    .privacy-hero h1{
        font-size:38px;
    }

    .privacy-card{
        padding:30px;
    }

}

/* HERO */

.terms-hero{
    padding:100px 0px 5%;
    text-align:center;

    background:
    radial-gradient(
        circle at 80% 20%,
        rgba(28,178,225,.12),
        transparent 45%
    ),
    linear-gradient(
        to right,
        #ffffff,
        #f7fbff
    );
}

.terms-hero-content{
    max-width:800px;
    margin:auto;
}

.terms-badge{
    display:inline-block;

    padding:8px 16px;

    border-radius:999px;

    background:#e0f2fe;

    color:#0284c7;

    font-size:.85rem;
    font-weight:600;

    margin-bottom:20px;
}

.terms-hero h1{
    font-size:52px;
    font-weight:700;
    color:#0f172a;

    margin-bottom:20px;
}

.terms-hero p{
    font-size:18px;
    line-height:1.8;
    color:#64748b;
}

/* CONTENT */

.terms-content{
    padding:5%;
    background:#f8fafc;
}

.terms-container{
    max-width:1000px;
    margin:auto;
}

.terms-card{
    background:#fff;

    padding:50px;

    border-radius:28px;

    box-shadow:
    0 10px 40px rgba(0,0,0,.05);
}

.terms-date{
    color:#94a3b8;
    margin-bottom:30px;
}

.terms-card h2{
    margin-top:35px;
    margin-bottom:15px;

    color:#0f172a;

    font-size:24px;
}

.terms-card p{
    color:#475569;
    line-height:1.9;
}

.terms-card ul{
    padding-left:20px;
    margin-top:15px;
}

.terms-card li{
    margin-bottom:10px;
    color:#475569;
    line-height:1.8;
}

.terms-contact{
    margin-top:20px;

    padding:20px;

    border-radius:16px;

    background:#f8fafc;

    display:flex;
    flex-direction:column;
    gap:8px;
}

.terms-contact strong{
    color:#0f172a;
}

.terms-contact span{
    color:#64748b;
}

/* MOBILE */

@media(max-width:768px){

    .terms-hero{
        padding:80px 20px;
    }

    .terms-hero h1{
        font-size:38px;
    }

    .terms-hero p{
        font-size:16px;
    }

    .terms-card{
        padding:30px;
    }

    .terms-card h2{
        font-size:20px;
    }

}

/* JENIS FONT------------------------------------------------------------------------------- */

@font-face {
  font-family: 'Aileron';
  src: url('../fonts/Aileron-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Aileron';
  src: url('../fonts/Aileron-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: 'Aileron', sans-serif;
}

/* SERVICES PAGES */

/* HERO */

.divider {
  width: 10%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 60px 0;
}

.divider::before,
.divider::after {
  content: "";
  flex: 1;
  height: 2px;
  background: linear-gradient(to right, transparent, #1cb2e1, transparent);
}

.divider span {
  width: 10px;
  height: 10px;
  background: #1cb2e1;
  border-radius: 50%;
  margin: 0 15px;
  box-shadow: 0 0 10px rgba(28,178,225,0.5);
}

.hero h1,
.hero p,
.hero .btn-primary{
  opacity:0;
  transform:translateY(30px);
}

.hero.show h1{
  animation:up .4s forwards;
}

.hero.show p{
  animation:up .4s .3s forwards;
}

.hero.show .btn-primary{
  animation:up .4s .6s forwards;
}

@keyframes up{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* wrapper kiri kanan */
.reveal-left,
.reveal-right{
  opacity:0;
  transition:1s ease;
}

.reveal-left{
  transform:translateX(-50px);
}

.reveal-right{
  transform:translateX(50px);
}

.reveal-left.active,
.reveal-right.active{
  opacity:1;
  transform:translateX(0);
}

/* isi kiri default sembunyi */
.item-delay1,
.item-delay2,
.item-delay3,
.item-delay4{
  opacity:0;
  transform:translateY(30px);
}

/* saat aktif */
.stats-left.active .item-delay1{
  animation:fadeUp .7s forwards .2s;
}

.stats-left.active .item-delay2{
  animation:fadeUp .7s forwards .4s;
}

.stats-left.active .item-delay3{
  animation:fadeUp .7s forwards .6s;
}

.stats-left.active .item-delay4{
  animation:fadeUp .7s forwards .8s;
}

@keyframes fadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* kanan image */
.stats-right img{
  opacity:1;
}

.stats-right.active img{
  animation:zoomIn 1s ease forwards;
}

@keyframes zoomIn{
  from{
    opacity:0;
    transform:scale(.9);
  }
  to{
    opacity:1;
    transform:scale(1);
  }
}

/* awal */
.reveal-section .fade-up,
.reveal-section .stagger-item,
.reveal-section .reveal-right{
  opacity:0;
}

/* text */
.fade-up{
  transform:translateY(30px);
}

.reveal-section.active .delay1{
  animation:fadeUp .7s forwards .2s;
}
.reveal-section.active .delay2{
  animation:fadeUp .7s forwards .4s;
}
.reveal-section.active .delay3{
  animation:fadeUp .7s forwards .6s;
}

/* card */
.stagger-item{
  transform:translateY(40px);
}

.reveal-section.active .stagger-item:nth-of-type(1){
  animation:fadeUp .6s forwards .8s;
}

.reveal-section.active .stagger-item:nth-of-type(2){
  animation:fadeUp .6s forwards 1s;
}

.reveal-section.active .stagger-item:nth-of-type(3){
  animation:fadeUp .6s forwards 1.2s;
}

.reveal-section.active .stagger-item:nth-of-type(4){
  animation:fadeUp .6s forwards 1.4s;
}

/* kanan */
.reveal-right{
  transform:translateX(60px) scale(.95);
}

.reveal-section.active .reveal-right{
  animation:heroRight .9s forwards .5s;
}

@keyframes fadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes heroRight{
  to{
    opacity:1;
    transform:translateX(0) scale(1);
  }
}

/* awal */
.reveal-services .title-service,
.reveal-services .service-card{
  opacity:0;
}

/* title */
.title-service,
.service-card{
  opacity:0;
  transform:translateY(25px);
}

.reveal-services.active .title-service{
  animation:fadeUp 1s cubic-bezier(0.22,1,0.36,1) forwards .1s;
}

.reveal-services.active .service-card:nth-child(1){
  animation:fadeUp 1s cubic-bezier(0.22,1,0.36,1) forwards .4s;
}

.reveal-services.active .service-card:nth-child(2){
  animation:fadeUp 1s cubic-bezier(0.22,1,0.36,1) forwards 1.1s;
}

@keyframes fadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* awal */
.reveal-info .fade-up,
.reveal-info .fade-left,
.reveal-info .fade-right,
.reveal-info .news-card{
  opacity:0;
}

/* top */
.fade-up{
  transform:translateY(25px);
}

/* left-right */
.fade-left{
  transform:translateX(-30px);
}

.fade-right{
  transform:translateX(30px);
}

/* card */
.news-card{
  transform:translateY(50px);
}

/* aktif */
.reveal-info.active .delay1{
  animation:fadeUp 1s forwards .1s;
}

.reveal-info.active .delay2{
  animation:fadeUp 1s forwards .3s;
}

.reveal-info.active .delay3{
  animation:fadeLeft 1s forwards .5s;
}

.reveal-info.active .delay4{
  animation:fadeRight 1s forwards .5s;
}

.reveal-info.active .news-card:nth-child(1){
  animation:fadeUp 1s forwards .8s;
}

.reveal-info.active .news-card:nth-child(2){
  animation:fadeUp 1s forwards 1s;
}

.reveal-info.active .news-card:nth-child(3){
  animation:fadeUp 1s forwards 1.2s;
}

/* keyframes */
@keyframes fadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes fadeLeft{
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes fadeRight{
  to{
    opacity:1;
    transform:translateX(0);
  }
}

/* awal */
.reveal-about .fade-up,
.reveal-about .reveal-right{
  opacity:0;
}

/* kiri text */
.fade-up{
  transform:translateY(25px);
}

.reveal-about.active .delay1{
  animation:fadeUp 1s cubic-bezier(0.22,1,0.36,1) forwards .1s;
}

.reveal-about.active .delay2{
  animation:fadeUp 1s cubic-bezier(0.22,1,0.36,1) forwards .3s;
}

.reveal-about.active .delay3{
  animation:fadeUp 1s cubic-bezier(0.22,1,0.36,1) forwards .5s;
}

/* kanan image */
.reveal-right{
  transform:translateX(50px) scale(.96);
}

.reveal-about.active .reveal-right{
  animation:imageIn 1.2s cubic-bezier(0.22,1,0.36,1) forwards .4s;
}

.reveal-about.active .title-badge{
  opacity:1;
  transform:translateY(0);
}

@keyframes fadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes imageIn{
  to{
    opacity:1;
    transform:translateX(0) scale(1);
  }
}

.about-image img{
  transition:.5s ease;
}

.about-image:hover img{
  transform:scale(1.03);
}

/* awal */
.reveal-company .fade-up,
.reveal-company .reveal-left{
  opacity:0;
}

/* kiri image */
.reveal-left{
  transform:translateX(-50px) scale(.96);
}

.reveal-company.active .reveal-left{
  animation:leftIn 1.1s forwards;
}

/* kanan */
.fade-up{
  transform:translateY(25px);
}

.reveal-company.active .delay1{
  animation:fadeUp .9s forwards .2s;
}

.reveal-company.active .delay2{
  animation:fadeUp .9s forwards .4s;
}

.reveal-company.active .delay3{
  animation:fadeUp .9s forwards .7s;
}

@keyframes fadeUp{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes leftIn{
  to{
    opacity:1;
    transform:translateX(0) scale(1);
  }
}

/* SECTION */
.reveal-section{
  overflow:hidden;
}

/* DEFAULT */
.fade-left,
.fade-right,
.fade-up,
.zoom-text{
  opacity:0;
  transition:1s ease;
}

/* LEFT */
.fade-left{
  transform:translateX(-80px);
}

/* RIGHT */
.fade-right{
  transform:translateX(80px);
}

/* TEXT */
.fade-up{
  transform:translateY(40px);
}

/* TITLE */
.zoom-text{
  transform:scale(.8);
}

/* ACTIVE */
.reveal-section.active .fade-left,
.reveal-section.active .fade-right,
.reveal-section.active .fade-up,
.reveal-section.active .zoom-text{
  opacity:1;
  transform:translate(0,0) scale(1);
}

/* DELAY */
.delay-1{
  transition-delay:.3s;
}

.delay-2{
  transition-delay:.6s;
}

/* FLOATING IMAGE */
.floating-img{
  animation:floatImg 4s ease-in-out infinite;
}

@keyframes floatImg{
  0%{transform:translateY(0);}
  50%{transform:translateY(-12px);}
  100%{transform:translateY(0);}
}

/* BUTTON HOVER */
.btn-primary{
  transition:.3s;
}

.btn-primary:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 25px rgba(0,0,0,0.15);
}

/* SECTION */
.reveal-vm{
  overflow:hidden;
}

/* DEFAULT */
.fade-left,
.fade-right,
.fade-up,
.zoom-title,
.pop,
.grow-line{
  opacity:0;
  transition:1s ease;
}

/* LEFT RIGHT */
.fade-left{
  transform:translateX(-80px);
}

.fade-right{
  transform:translateX(80px);
}

/* TEXT */
.fade-up{
  transform:translateY(30px);
}

/* TITLE */
.zoom-title{
  transform:scale(.8);
}

/* LINE */
.grow-line{
  transform:scaleY(0);
  transform-origin:top;
}

/* CIRCLE */
.pop{
  transform:translateY(50px) scale(.7);
}

/* ACTIVE */
.reveal-vm.active .fade-left,
.reveal-vm.active .fade-right,
.reveal-vm.active .fade-up,
.reveal-vm.active .zoom-title,
.reveal-vm.active .pop,
.reveal-vm.active .grow-line{
  opacity:1;
  transform:translate(0,0) scale(1);
}

/* DELAY */
.delay-1{transition-delay:.2s;}
.delay-2{transition-delay:.4s;}
.delay-3{transition-delay:.6s;}
.delay-4{transition-delay:.8s;}
.delay-5{transition-delay:1s;}

/* FLOAT CIRCLE */
.circle{
  transition:.4s;
}

.circle:hover{
  transform:translateY(-10px) scale(1.05);
  box-shadow:0 20px 30px rgba(0,0,0,0.12);
}

/* ACTIVE CIRCLE */
.circle.active{
  animation:pulseCircle 2s infinite;
}

@keyframes pulseCircle{
  0%{box-shadow:0 0 0 0 rgba(0,123,255,.4);}
  70%{box-shadow:0 0 0 20px rgba(0,123,255,0);}
  100%{box-shadow:0 0 0 0 rgba(0,123,255,0);}
}

/* SECTION */
.reveal-history{
  overflow:hidden;
}

/* DEFAULT */
.fade-up,
.card-left,
.card-right,
.card-up,
.year-item,
.animate-line{
  opacity:0;
  transition:1s ease;
}

/* HEADER */
.fade-up{
  transform:translateY(40px);
}

/* CARDS */
.card-left{
  transform:translateX(-80px);
}

.card-right{
  transform:translateX(80px);
}

.card-up{
  transform:translateY(80px);
}

/* YEARS */
.year-item{
  transform:translateY(20px);
}

/* LINE */
.animate-line{
  width:0%;
  opacity:1;
  transition:1.8s ease;
}

/* ACTIVE */
.reveal-history.active .fade-up,
.reveal-history.active .card-left,
.reveal-history.active .card-right,
.reveal-history.active .card-up,
.reveal-history.active .year-item{
  opacity:1;
  transform:translate(0,0);
}

.reveal-history.active .animate-line{
  width:100%;
}

/* DELAY */
.delay-1{transition-delay:.2s;}
.delay-2{transition-delay:.4s;}
.delay-3{transition-delay:.6s;}
.delay-4{transition-delay:.8s;}
.delay-5{transition-delay:1s;}
.delay-6{transition-delay:1.2s;}
.delay-7{transition-delay:1.4s;}

/* CARD HOVER */
.history-card{
  transition:.4s ease;
}

.history-card:hover{
  transform:translateY(-12px) scale(1.02);
  box-shadow:0 18px 35px rgba(0,0,0,0.15);
}

/* GLOW TITLE */
.glow-text{
  animation:glowPulse 2s infinite alternate;
}

@keyframes glowPulse{
  from{
    text-shadow:0 0 0px rgba(0,123,255,.2);
  }
  to{
    text-shadow:0 0 18px rgba(0,123,255,.5);
  }
}

/* ACTIVE YEAR */
.timeline-years span.active{
  animation:bounceYear 2s infinite;
}

@keyframes bounceYear{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-8px);}
}

/* DEFAULT */
.hero-title,
.title-badge,
.title-line,
.hero-desc{
  opacity:0;
  transition:1s ease;
}

/* TITLE */
.hero-title{
  transform:translateX(-80px);
}

.title-badge{
  display:inline-block;
  transform:translateY(-25px) scale(.8);
}

.title-line{
  display:inline-block;
  transform:translateY(40px);
}

.hero-desc{
  transform:translateY(35px);
}

/* RIGHT IMAGE */
.img-anim{
  opacity:0;
  transform:translateX(80px) scale(.8);
  transition:1s ease;
}

/* ACTIVE */
.reveal-product-hero.active .hero-title,
.reveal-product-hero.active .title-badge,
.reveal-product-hero.active .title-line,
.reveal-product-hero.active .hero-desc,
.reveal-product-hero.active .img-anim{
  opacity:1;
  transform:translate(0,0) scale(1);
}

/* DELAY */
.delay-1{transition-delay:.2s;}
.delay-2{transition-delay:.45s;}
.delay-3{transition-delay:.7s;}
.delay-4{transition-delay:.95s;}
.delay-5{transition-delay:1.2s;}
.delay-6{transition-delay:1.45s;}


/* TEXT EFFECT */
.title-badge{
  animation:badgeGlow 2s infinite alternate;
}

/* FLOAT AFTER MUNCUL */
.reveal-product-hero.active .img-card{
  animation:floatProduct 4s ease-in-out infinite;
}

.reveal-product-hero.active .img-top1{animation-delay:0s;}
.reveal-product-hero.active .img-top{animation-delay:.5s;}
.reveal-product-hero.active .img-middle{animation-delay:1s;}
.reveal-product-hero.active .img-bottom{animation-delay:1.5s;}

@keyframes floatProduct{
  0%{transform:translateY(0);}
  50%{transform:translateY(-12px);}
  100%{transform:translateY(0);}
}



@keyframes badgeGlow{
  from{
    text-shadow:0 0 0 rgba(0,123,255,.1);
  }
  to{
    text-shadow:0 0 15px rgba(0,123,255,.4);
  }
}

/* ==================================================
   SERVICES HERO ANIMATION
================================================== */

.hero-badge,
.hero-title,
.hero-desc,
.hero-image{
  opacity:0;
  transition:1s ease;
}

/* LEFT CONTENT */
.hero-badge{
  transform:translateY(-20px);
}

.hero-title{
  transform:translateX(-80px);
}

.hero-desc{
  transform:translateY(35px);
}

/* RIGHT IMAGE */
.hero-image{
  transform:translateX(80px);
}

/* ACTIVE HERO */
.reveal-services-hero.active .hero-badge,
.reveal-services-hero.active .hero-title,
.reveal-services-hero.active .hero-desc,
.reveal-services-hero.active .hero-image{
  opacity:1;
  transform:translate(0,0);
}

/* FLOAT IMAGE */
.hero-image img{
  animation:floatHero 4s ease-in-out infinite;
}

@keyframes floatHero{
  0%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-12px);
  }
  100%{
    transform:translateY(0);
  }
}

/* BADGE GLOW */
.hero-badge{
  animation:badgeGlow 2s infinite alternate;
}

@keyframes badgeGlow{
  from{
    text-shadow:0 0 0 rgba(0,123,255,.15);
  }
  to{
    text-shadow:0 0 16px rgba(0,123,255,.4);
  }
}



/* ==================================================
   SERVICES CARD ANIMATION
================================================== */

.card-left,
.card-right,
.grow-divider{
  opacity:0;
  transition:1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* CARD POSITION */
.card-left{
  transform:translateX(-140px);
}

.card-right{
  transform:translateX(140px);
}

/* DIVIDER */
.grow-divider{
  transform:scaleY(0);
  transform-origin:center;
}

/* ACTIVE CARD */
.reveal-services-cards.active .card-left,
.reveal-services-cards.active .card-right,
.reveal-services-cards.active .grow-divider{
  opacity:1;
  transform:translate(0,0) scale(1);
}

.delay-1{transition-delay:.2s;}
.delay-2{transition-delay:.8s;}
.delay-3{transition-delay:1.2s;}



/* ==================================================
   CARD EFFECT
================================================== */

.card{
  will-change: transform, box-shadow;
}

.card:hover{
   transition:.35s ease;
  transform:translateY(-12px);
  box-shadow:0 18px 35px rgba(0,0,0,.12)
}



/* ==================================================
   BUTTON EFFECT
================================================== */

.btn-pill{
  transition:.3s ease;
}

.btn-pill:hover{
  transform:translateY(-4px);
}



/* ==================================================
   RESPONSIVE OPTIONAL
================================================== */

@media(max-width:768px){

  .hero-title{
    transform:translateY(40px);
  }

  .hero-image{
    transform:translateY(40px);
  }

  .card-left,
  .card-right{
    transform:translateY(40px);
  }

}


/* ==================================================
   ARTICLE PAGE ANIMATION
================================================== */

/* DEFAULT */
/* DEFAULT */
.featured-article,
.trending-wrapper,
.section-top,
.info-listarticle-card,
.pagination{
  opacity:0;
  transition:1.2s cubic-bezier(0.22,1,0.36,1);
}

/* HERO */
.featured-article{
  transform:translateX(-120px);
}

.trending-wrapper{
  transform:translateX(120px);
}

/* LIST SECTION */
.section-top{
  transform:translateY(40px);
}

.info-listarticle-card{
  transform:translateY(70px);
}

.pagination{
  transform:translateY(30px);
}

/* ACTIVE */
.article-hero.active .featured-article,
.article-hero.active .trending-wrapper,
.latest-news.active .section-top,
.latest-news.active .info-listarticle-card,
.latest-news.active .pagination{
  opacity:1;
  transform:translate(0,0);
}

/* STAGGER CARD */
.info-listarticle-card:nth-child(1){transition-delay:.1s;}
.info-listarticle-card:nth-child(2){transition-delay:.25s;}
.info-listarticle-card:nth-child(3){transition-delay:.4s;}
.info-listarticle-card:nth-child(4){transition-delay:.55s;}
.info-listarticle-card:nth-child(5){transition-delay:.7s;}
.info-listarticle-card:nth-child(6){transition-delay:.85s;}

/* HERO IMAGE ZOOM */
.featured-article img{
  transition:1.5s ease;
}

.article-hero.active .featured-article img{
  transform:scale(1.05);
}

/* CARD HOVER */
.info-listarticle-card{
  transition:
    transform .4s ease,
    box-shadow .4s ease,
    opacity 1.2s cubic-bezier(0.22,1,0.36,1);
}

.info-listarticle-card:hover{
  transform:translateY(-10px);
  box-shadow:0 18px 35px rgba(0,0,0,.12);
}


.article-hero.active .trend-item{
  opacity:1;
  transform:translateX(0);
}

.trend-item:nth-child(1){transition-delay:.4s;}
.trend-item:nth-child(2){transition-delay:.65s;}
.trend-item:nth-child(3){transition-delay:.9s;}

/* BUTTON */
.btn-read,
.btn-read-article{
  transition:.3s ease;
}

.btn-read:hover,
.btn-read-article:hover{
  transform:translateY(-4px);
}

/* RESPONSIVE */
@media(max-width:768px){

  .featured-article,
  .trending-wrapper{
    transform:translateY(50px);
  }

}


/* =====================================
DEFAULT
===================================== */

.fade-left,
.fade-right,
.zoom-img,
.item-up,
.form-up,
.title-pop,
.subtitle,
.map-up{
  opacity:0;
  transition:1.2s cubic-bezier(0.22,1,0.36,1);
}

/* LEFT */
.fade-left{transform:translateX(-100px);}
.zoom-img{transform:scale(.85);}
.item-up{transform:translateY(35px);}

/* RIGHT */
.fade-right{transform:translateX(100px);}
.title-pop{transform:translateY(30px) scale(.9);}
.subtitle{transform:translateY(25px);}
.form-up{transform:translateY(35px);}

/* MAP */
.map-up{transform:translateY(70px);}

/* ACTIVE */
.reveal-contact.active .fade-left,
.reveal-contact.active .fade-right,
.reveal-contact.active .zoom-img,
.reveal-contact.active .item-up,
.reveal-contact.active .form-up,
.reveal-contact.active .title-pop,
.reveal-contact.active .subtitle,
.reveal-map.active .map-up{
  opacity:1;
  transform:translate(0,0) scale(1);
}

/* DELAY */
.delay-1{transition-delay:.15s;}
.delay-2{transition-delay:.3s;}
.delay-3{transition-delay:.45s;}
.delay-4{transition-delay:.6s;}
.delay-5{transition-delay:.75s;}
.delay-6{transition-delay:.9s;}
.delay-7{transition-delay:1.05s;}

/* IMAGE FLOAT */
.reveal-contact.active .contact-image img{
  animation:floatContact 4s ease-in-out infinite;
}

@keyframes floatContact{
  0%{transform:translateY(0);}
  50%{transform:translateY(-10px);}
  100%{transform:translateY(0);}
}

/* CARD INFO */
.info-item{
  transition:.35s ease;
}

.info-item:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 25px rgba(0,0,0,.08);
}

/* INPUT */
.form-group input,
.form-group textarea{
  transition:.3s ease;
}

.form-group input:focus,
.form-group textarea:focus{
  transform:translateY(-2px);
}

/* BUTTON */
.btn-submit{
  transition:.35s ease;
}

.btn-submit:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 30px rgba(0,0,0,.12);
}

/* MAP */
.container-map iframe{
  width:100%;
  border-radius:20px;
}

/* =====================================
PRODUCT PAGE ANIMATION
===================================== */

.fade-up,
.fade-left,
.fade-right,
.card-pop{
  opacity:0;
  transition:1.1s cubic-bezier(0.22,1,0.36,1);
}

.fade-up{transform:translateY(35px);}
.fade-left{transform:translateX(-80px);}
.fade-right{transform:translateX(80px);}
.card-pop{transform:translateY(60px) scale(.94);}

/* ACTIVE */
.reveal-products.active .fade-up,
.reveal-products.active .fade-left,
.reveal-products.active .fade-right,
.reveal-products.active .card-pop{
  opacity:1;
  transform:translate(0,0) scale(1);
}

/* DELAY */
.delay-1{transition-delay:.1s;}
.delay-2{transition-delay:.25s;}
.delay-3{transition-delay:.4s;}
.delay-4{transition-delay:.55s;}
.delay-5{transition-delay:.7s;}
.delay-6{transition-delay:.85s;}

/* PRODUCT CARD HOVER */
.product-card{
  transition:
    transform .35s ease,
    box-shadow .35s ease,
    opacity 1.1s cubic-bezier(0.22,1,0.36,1);
}

.product-card:hover{
  transform:translateY(-10px);
  box-shadow:0 18px 35px rgba(0,0,0,.12);
}

/* IMAGE FLOAT */
.product-card img{
  transition:.5s ease;
}

.product-card:hover img{
  transform:scale(1.06);
}

/* BUTTON */
.learn-more,
.filter-btn,
.page-btn,
.page-number{
  transition:.3s ease;
}

.learn-more:hover,
.filter-btn:hover,
.page-btn:hover,
.page-number:hover{
  transform:translateY(-3px);
}

/* SEARCH */
.search-box input{
  transition:.3s ease;
}

.search-box input:focus{
  transform:translateY(-2px);
}

/* MOBILE */
@media(max-width:768px){

  .fade-left,
  .fade-right{
    transform:translateY(35px);
  }

}

        a {
            text-decoration: none;
            color: inherit;
        }

        ul {
            list-style: none;
        }

        .container-footer {
            max-width: 1280px;
            margin: 0 auto;
            padding: 0 1.5rem;
        }

        /* Footer Main Styles */
        .main-footer {
            background-color: #ffffff;
            border-top: 4px solid #0284c7;
            
        }

        .footer-top {
            padding: 2rem 0;
            display: grid;
            grid-template-columns: 1fr;
            gap: 4rem;
        }

        @media (min-width: 1024px) {
            .footer-top {
                grid-template-columns: repeat(12, 1fr);
            }
            .brand-section {
                grid-column: span 5;
            }
            .nav-section {
                grid-column: span 7;
            }
        }

        /* Brand Column */
        .brand-header {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1.5rem;
        }

       .brand-logo {
    width: 5rem;
    height: 4rem;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden; /* penting */
}

  .brand-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

        .brand-title h2 {
            font-size: 1.25rem;
            font-weight: 800;
            color: #1e293b;
            line-height: 1;
        }

        /* Contact Section */
        .contact-list {
    margin-bottom: 1rem;
}

.contact-item {
    display: flex;
    align-items: center;
    width: 360px;
    gap: 0.65rem;
    padding: 0.45rem 0.65rem;
    border-radius: 0.45rem;
    background: #f8fafc;
    margin-bottom: 0.4rem;
    border-left: 3px solid transparent;
    transition: all .25s ease;
}

.contact-item:hover {
    border-left-color: #0284c7;
    background-color: #f1f5f9;
}

.contact-item2 {
    display: flex;
    align-items: center;
    width: 360px;
    gap: 0.65rem;
    padding: 0.45rem 0.65rem;
    border-radius: 0.45rem;
    background: #fff;
    margin-bottom: 0.4rem;
    
    border: 1px solid #e2e8f0;
    border-left: 1px solid #e2e8f0;

    transition: all .25s ease;
    box-sizing: border-box;
}

.contact-item2:hover {
    border-left: 3px solid #0284c7;
    background-color: #f1f5f9;
}

.icon-box {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 0.45rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.icon-box i {
    width: 0.85rem !important;
    height: 0.85rem !important;
}

.icon-blue { background-color: #e0f2fe; color: #1cb2e1; }
.icon-green { background-color: #e0f2fe; color: #1cb2e1; }
.icon-amber { background-color: #e0f2fe; color: #1cb2e1; }

.contact-info p:first-child {
    font-size: 0.80rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 4px;
}

.contact-info p:not(:first-child) {
    font-size: 0.85rem;
    font-weight: 600;
    color: #334155;
    line-height: 1.5;
    margin: 0;
}
        /* Social Icons */
  .social-links {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-top:12px;
  
}



.partner-wrap{
    display:flex;
    align-items:center;
    width: 380px;
    gap:14px;
    flex-wrap:wrap;
    margin-top:14px;
}

.partner-label{
    font-size:14px;
    font-weight:600;
    color:#334155;
    min-width:150px;
}

.partner-card{
    display:flex;
    align-items:center;
    width:100%;
    gap:12px;
    padding:12px 18px;
    background:#ffffff;
    border:1px solid #dbeafe;
    border-radius:16px;
    text-decoration:none;
    min-width:290px;
    transition:.3s ease;
    box-shadow:0 8px 20px rgba(0,0,0,.04);
}

.partner-card:hover{
    transform:translateY(-3px);
    border-color:#1cb2e1;
    box-shadow:0 12px 24px rgba(28, 178, 225, 0.12);
}

.partner-icon{
    width:42px;
    height:42px;
    border-radius:12px;
    background:#eff6ff;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#1cb2e1;
    flex-shrink:0;
}

.partner-icon i{
    width:20px;
    height:20px;
}

.partner-info small{
    display:block;
    font-size:11px;
    color:#94a3b8;
    margin-bottom:2px;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.partner-info span{
    font-size:15px;
    font-weight:700;
    color:#1cb2e1;
}

.follow-text {
    font-size: 14px;
    font-weight: 600;
    color: #334155;
}

        .social-icon {
            width: 2.25rem;
            height: 2.25rem;
            border-radius: 0.5rem;
            border: 1px solid #e2e8f0;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #94a3b8;
            transition: all 0.3s ease;
        }

        .social-icon:hover {
            background-color: #1cb2e1;
            color: white;
            border-color: #1cb2e1;
            transform: translateY(-2px);
        }

        /* RIGHT SECTION */
.nav-section{
    margin-top: -110px;
    width:100%;
    max-width:700px;
}

/* Navigation Grid */
.nav-grid{
      display:grid;
    grid-template-columns: repeat(3, minmax(170px,1fr));
    gap: 28px;
    width: 100%;
}

/* TITLE */
.nav-column h3{
    font-size:1rem;
    font-weight:700;
    color:#0f172a;
    margin-bottom:1rem;   /* tadinya terlalu jauh */
    display:flex;
    align-items:center;
    gap:0.55rem;
    line-height:1.2;
}

.nav-column h3::before{
    content:'';
    width:8px;
    height:8px;
    background:#1cb2e1;
    border-radius:50%;
    flex-shrink:0;
}

/* LIST */
.nav-column ul{
    margin:0;
    padding:0;
    list-style:none;
}

.nav-column ul li{
    margin-bottom:0.8rem;
}

/* LINK */
.nav-link{
    font-size:0.92rem;
    color:#64748b;
    transition:.25s ease;
    display:inline-block;
    line-height:1.35;
}

.nav-link:hover{
    color:#1cb2e1;
    transform:translateX(4px);
}

        /* Partner Card */
        .partner-card {
            background-color: white;
            padding: 1.25rem;
            border-radius: 1rem;
            border: 1px solid #e2e8f0;
            box-shadow: 0 1px 2px rgba(0,0,0,0.05);
        }

        .partner-card p {
            font-size: 0.625rem;
            font-weight: 700;
            color: #94a3b8;
            text-transform: uppercase;
            margin-bottom: 0.75rem;
            letter-spacing: 0.1em;
        }

        .partner-brand {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            color: #1cb2e1;
            font-weight: 700;
            font-size: 0.875rem;
        }

        .partner-btn {
            display: block;
            margin-top: 1rem;
            text-align: center;
            padding: 0.5rem;
            background-color: #f8fafc;
            color: #1cb2e1;
            font-size: 0.68rem;
            font-weight: 700;
            border-radius: 0.5rem;
            border: 1px solid #f1f5f9;
            transition: background 0.2s;
        }

        .partner-btn:hover {
            background-color: #f0f9ff;
        }

        /* Bottom Footer */
        .footer-bottom {
            background-color: #f8fafc;
            border-top: 1px solid #e2e8f0;
        }

        .bottom-content {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: space-between;
            gap: 1.5rem;
        }

        @media (min-width: 768px) {
            .bottom-content {
                flex-direction: row;
            }
        }

        .copyright {
            font-size: 0.75rem;
            color: #94a3b8;
            font-weight: 500;
        }

        .copyright span {
            color: #334155;
            font-weight: 600;
        }

        .legal-links {
            display: flex;
            gap: 2rem;
        }

        .legal-link {
            font-size: 0.68rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: #94a3b8;
            transition: color 0.2s;
        }

        .legal-link:hover {
            color: #0284c7;
        }


        \* CMS Hide Button add content */
.hide-add-button .fi-repeater-add-item-btn {
    display: none !important;
}

/* Detail Product Page */

.product-detail-page {
  min-height: 100vh;
  padding: 34px 0 58px;
  background:
    radial-gradient(
      circle at 75% 20%,
      rgba(28,178,225,.12),
      transparent 40%
    ),
    linear-gradient(
      to right,
      #ffffff,
      #f8fbff
    );
}

.product-detail-container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.product-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 30px;
  color: #68746b;
  font-size: 13px;
  font-weight: 500;
}

.product-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.product-breadcrumb strong {
  color: #1cb2e1;
  font-weight: 700;
}

.detail-hero {
  display: grid;
  grid-template-columns: minmax(320px, 480px) 1fr;
  gap: 54px;
  align-items: start;
  margin-bottom: 44px;
}

.detail-product-image {
  min-height: 470px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #e6ede2;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(241, 246, 232, 0.86), rgba(255, 255, 255, 0.98)),
    linear-gradient(90deg, #f6f2e7, #ffffff);
  box-shadow: 0 18px 48px rgba(24, 64, 28, 0.08);
  overflow: hidden;
}

.product-image-stage {
  position: relative;
  width: min(82%, 360px);
  aspect-ratio: 1 / 1.04;
  display: grid;
  place-items: center;
  animation:fadeImage .8s ease forwards;
}

.product-image-stage::after {
  position: absolute;
  right: 10%;
  bottom: 5%;
  width: 76%;
  height: 42px;
  content: "";
  border-radius: 999px;
  background: rgba(35, 65, 29, 0.13);
  filter: blur(10px);
}

.product-image-stage img {
  position: relative;
  z-index: 1;
  max-width: 100%;
  max-height: 80%;
  object-fit: contain;
  filter: drop-shadow(16px 22px 22px rgba(22, 58, 23, 0.16));
}

.product-image-stage img{
  animation: productFloat 4s ease-in-out infinite;
}

@keyframes productFloat{
  0%,100%{
    transform:translateY(0);
  }
  50%{
    transform:translateY(-12px);
  }
}

.detail-category {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  margin-bottom: 16px;
  border-radius: 999px;
  color: #1cb2e1;
  background: #edf8ec;
  font-size: 13px;
  font-weight: 800;
}

.detail-hero-content h1 {
  margin: 0 0 8px;
  color: #1cb2e1;
  font-size: clamp(38px, 5vw, 58px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0;
}

.detail-hero-content h2 {
  margin: 0 0 28px;
  color: #17251a;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 800;
}

.detail-hero-content p {
  max-width: 650px;
  margin: 0;
  color: #455247;
  font-size: 16px;
  line-height: 1.85;
}

.detail-hero-content{
  opacity:0;
  transform:translateY(30px);
  animation:fadeUpHero .8s ease forwards;
}

@keyframes fadeUpHero{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

.product-usage-grid {
  --divider-gap: 120px;

  position: relative;
  display: grid;
  grid-template-columns: minmax(340px, 1fr) minmax(420px, 1fr);
  gap: var(--divider-gap);
  align-items: start;
  padding-top: 42px;
  margin-top: 56px;
  margin-bottom: 44px;
}

.product-usage-grid::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(25, 115, 56, 0.18),
    transparent
  );
}

.product-usage-grid::after {
  content: "";
  position: absolute;
  top: 42px;
  bottom: 0;
  left: calc(50% - 1px);
  width: 1px;
  background: rgba(25, 115, 56, 0.12);
}

.product-spec-card,
.dosage-card {
  padding: 24px 26px 14px;
}

.dosage-card {
  padding-left: 10px;
}

.product-spec-card h2,
.dosage-card h2 {
  margin: 0 0 18px;
  color: #1cb2e1;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 800;
}

.product-spec-card,
.dosage-card{
  transition:.35s ease;
}

.product-spec-card:hover,
.dosage-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.spec-row {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 18px;
  padding: 15px 0;
  border-bottom: 1px solid #edf0eb;
}

.spec-row:last-child {
  border-bottom: 0;
}

.spec-row span {
  color: #58625a;
  font-size: 13px;
  font-weight: 600;
}

.spec-row strong {
  color: #26312a;
  font-size: 13px;
  font-weight: 700;
}

.dosage-steps {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  padding: 6px 0 0;
}

.dosage-steps::before {
  position: absolute;
  top: 24px;
  bottom: 22px;
  left: 17px;
  width: 2px;
  content: "";
  background: linear-gradient(180deg, #1cb2e1, #bfe4c5);
}

.dosage-step {
  position: relative;
  min-height: 58px;
  padding: 2px 0 2px 56px;
}

.dosage-step span {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #ffffff;
  background: #1cb2e1;
  font-size: 13px;
  font-weight: 900;
}

.dosage-step p {
  margin: 0;
  color: #3e3a3a;
  font-size: 13px;
  line-height: 1.7;
  font-weight: 700;
}

.dosage-step{
  opacity:0;
  transform:translateX(-20px);
  animation:stepReveal .5s ease forwards;
}

.dosage-step:nth-child(1){ animation-delay:.1s; }
.dosage-step:nth-child(2){ animation-delay:.2s; }
.dosage-step:nth-child(3){ animation-delay:.3s; }
.dosage-step:nth-child(4){ animation-delay:.4s; }
.dosage-step:nth-child(5){ animation-delay:.5s; }

@keyframes stepReveal{
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@media (max-width: 992px) {
  .detail-hero,
  .product-usage-grid {
    grid-template-columns: 1fr;
  }

  .detail-product-image {
    min-height: 420px;
  }
}

@media (max-width: 992px) {
  .detail-hero,
  .product-usage-grid {
    grid-template-columns: 1fr;
  }

  .product-usage-grid::after {
    display: none;
  }
}

@media (max-width: 680px) {
  .product-detail-page {
    padding-top: 24px;
  }

  .product-detail-container {
    width: min(100% - 24px, 1180px);
  }

  .product-breadcrumb {
    gap: 8px;
    margin-bottom: 22px;
    font-size: 12px;
  }

  .detail-hero {
    gap: 24px;
  }

  .detail-product-image {
    min-height: 330px;
  }

  .product-image-stage {
    width: min(78%, 280px);
  }

  .detail-hero-content h1 {
    font-size: 36px;
  }

  .detail-hero-content h2 {
    margin-bottom: 18px;
    font-size: 17px;
  }

  .detail-hero-content p {
    font-size: 14px;
  }

  .spec-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .dosage-step {
    min-height: 70px;
    padding: 8px 0 8px 52px;
  }

  .dosage-step span {
    top: 8px;
  }
}

.product-action-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 88px;
}

.product-pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 15px;
  padding: 10px 18px 10px 22px;
  border: 0;
  outline: 0;
  border-radius: 50px;
  background: #1cb2e1;
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  width: fit-content;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background 0.3s ease, transform 0.3s ease;
}

.product-pill-btn:hover {
  background: #1cb2e1;
  transform: translateY(-2px);
}

.product-pill-btn .icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #fff;
  color: #1cb2e1;
  transition: transform 0.3s ease;
}

.product-pill-btn:hover .icon {
  transform: translateX(4px);
}

.product-pill-btn .icon svg {
  display: block;
}


/* Detail Article */

.article-page {
  padding: 60px 0;
  background: #f5f7fb;
}

.article-container {
  width: min(1280px, 92%);
  margin: auto;

  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 320px;
  gap: 40px;

  align-items: start;
}

/* SHARE */

.article-share {
  position: sticky;
  top: 120px;

  display: flex;
  flex-direction: column;
  gap: 14px;
}

.article-share a{
    width:30px;
    height:30px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:18px;
}

.article-share a i{
    font-size:18px;
    line-height:1;
}

.article-share span {
  font-size: 12px;
  color: #111827;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.article-share a {
  width: 42px;
  height: 42px;

  border-radius: 14px;
  background: #fff;

  display: flex;
  align-items: center;
  justify-content: center;

  text-decoration: none;
  color: #111827;

  border: 1px solid #e5e7eb;

  transition: .25s ease;
}

#copied-msg{
    font-size:12px;
    color:#1cb2e1;
    margin-top:10px;
    text-align:center;
}

.article-share a:hover {
  transform: translateY(-2px);
  background: #1cb2e1;
  color: #fff;
}

/* MAIN */

.article-main {
  background: #fff;
  border-radius: 32px;
  padding: 30px;
  border: 1px solid #e5e7eb;
}

/* BREADCRUMB */

.article-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;

  font-size: 14px;
  margin-bottom: 24px;
  color: #6b7280;
}

.article-breadcrumb strong {
  color: #1cb2e1;
  font-weight: 700;
}

.article-breadcrumb a {
  text-decoration: none;
  color: inherit;
}

.article-breadcrumb a:hover {
  color: #111827;
}

/* BADGE */

.article-badge {
  display: inline-flex;
  align-items: center;

  padding: 8px 16px;
  border-radius: 999px;

  background: #eef2ff;
  color: #1cb2e1;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: .6px;

  margin-bottom: 24px;
}

/* TITLE */

.article-main h1 {
  font-size: 34px;
  line-height: 1.1;
  margin-bottom: 24px;

  color: #111827;
  font-weight: 800;

  max-width: 780px;
}

/* DESC */

.article-description {
  font-size: 16px;
  line-height: 1.5;
  color: #111827;

  max-width: 760px;
  margin-bottom: 32px;
}

/* META */

.article-meta {
  margin-bottom: 36px;
}

.article-author {
  display: flex;
  align-items: center;
  gap: 14px;
}

.article-author img {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #e5e7eb;
}

.article-author strong {
  display: block;
  font-size: 15px;
  margin-bottom: 4px;
}

.article-author span {
  color: #6b7280;
  font-size: 14px;
}

.article-author-position{
    margin: 4px 0;
    font-size: 14px;
    color: #64748b;
    font-weight: 500;
}


/* HERO */

.article-hero-image {
    width: 100%;
    max-height: 450px;
    object-fit: contain;
    border-radius: 28px;
    margin-bottom: 42px;
}

/* CONTENT */

.article-content {
  color: #111827;
}

.article-content p {
  text-indent: 40px;
  font-size: 14.5px;
  line-height: 1.5;
  
}

.article-content h2 {
  font-size: 32px;
  line-height: 1.3;
  margin-top: 54px;
  margin-bottom: 18px;

  color: #111827;
}

.article-content h3{
    scroll-margin-top: 120px;
}

.article-content img {
  width: 100%;
  border-radius: 24px;

  margin: 40px 0;
}

.article-content blockquote {
  padding: 28px 32px;
  border-radius: 24px;

  background: #f9fafb;
  border-left: 5px solid #1cb2e1;

  font-size: 18px;
  line-height: 1.8;

  margin: 40px 0;
  color: #374151;
}

.article-content h2,
.article-content h3,
.article-content p,
.article-content img,
.article-content blockquote{
    opacity: 0;
    transform: translateY(40px);
    transition: all .8s ease;
}

.article-content .show{
    opacity: 1;
    transform: translateY(0);
}

/* SIDEBAR */

.article-sidebar {
  position: sticky;
  top: 120px;

  display: flex;
  flex-direction: column;
  gap: 24px;
}

.article-sidebar-card {
  background: #fff;
  border-radius: 28px;
  padding: 20px 30px;

  border: 1px solid #e5e7eb;
}

.article-sidebar-card h3 {
  font-size: 20px;
  margin-bottom: 24px;
  color: #111827;
}

/* TOC */

.article-sidebar-card ul {
  list-style: none;
}

.article-sidebar-card ul li {
  margin-bottom: 16px;
}

.article-sidebar-card ul li:last-child {
  margin-bottom: 0;
}

.article-sidebar-card ul li a {
  position: relative;

  display: inline-flex;
  align-items: center;
  gap: 10px;

  text-decoration: none;
  color: #6b7280;

  font-size: 15px;
  line-height: 1.6;

  transition: .2s ease;
}

.article-sidebar-card ul li a::before {
  content: "";

  width: 7px;
  height: 7px;

  border-radius: 50%;
  background: #1cb2e1;

  flex-shrink: 0;

  transition: .2s ease;
}

.article-sidebar-card ul li a:hover {
  color: #111827;
  transform: translateX(4px);
}

.article-sidebar-card ul li a:hover::before {
  background: #111827;
}

.reveal-sidebar{
    opacity: 0;
    transform: translateX(40px);
    transition: all .8s ease;
}

.reveal-sidebar.show{
    opacity: 1;
    transform: translateX(0);
}
/* RELATED */

.related-article {
  display: flex;
  align-items: center;
  gap: 14px;

  margin-bottom: 20px;
}

.related-article:last-child {
  margin-bottom: 0;
}

.related-article img {
  width: 88px;
  height: 88px;

  object-fit: cover;
  border-radius: 18px;

  flex-shrink: 0;
}

.related-article > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.related-article h4 {
  font-size: 15px;
  line-height: 1.4;

  margin: 0 0 4px 0;

  color: #111827;
}

.related-article span {
  font-size: 13px;
  color: #9ca3af;
}

.related-category{
    display:block;
    margin:4px 0;

    font-size:12px;
    font-weight:600;

    color:#1cb2e1;
    text-transform:uppercase;
    letter-spacing:.5px;
}

.empty-related{
    padding:16px;
    border:1px dashed #d9d9d9;
    border-radius:12px;
    text-align:center;
}

.empty-related p{
    margin:0;
    color:#777;
    font-size:14px;
}

.related-view-all{
    display:block;
    margin-top:16px;

    font-size:14px;
    font-weight:600;

    color:#1cb2e1;
    text-decoration:none;
}

.related-view-all:hover{
    text-decoration:underline;
}

.reveal-item{
    opacity:0;
    transform:translateY(30px);
    transition:all .8s ease;
}

.reveal-item.show{
    opacity:1;
    transform:translateY(0);
}

.reveal-image{
    opacity:0;
    transform:scale(.95);
    transition:all 1s ease;
}

.reveal-image.show{
    opacity:1;
    transform:scale(1);
}

.article-main h1{
    animation:titleReveal 1s ease;
}

@keyframes titleReveal{

    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/* RESPONSIVE */

@media (max-width: 1100px) {

  .article-container {
    grid-template-columns: 1fr;
  }

  .article-share {
    display: none;
  }

  .article-sidebar {
    position: relative;
    top: 0;
  }

}

@media (max-width: 768px) {

  .article-page {
    padding: 30px 0;
  }

  .article-main {
    padding: 28px;
    border-radius: 24px;
  }

  .article-main h1 {
    font-size: 36px;
  }

  .article-description {
    font-size: 16px;
  }

  .article-hero-image {
    height: 320px;
    border-radius: 20px;
  }

  .article-content h2 {
    font-size: 26px;
  }

  .article-content p {
    font-size: 16px;
  }

  .article-sidebar-card {
    border-radius: 22px;
    padding: 24px;
  }

}