/* ================================================================
   ABOUT US PAGE STYLES
   ================================================================ */
.about-page { background: var(--paper); }

.about-hero {
  position: relative; height: 80vh; min-height: 600px; display: flex; align-items: center; justify-content: center;
  text-align: center; color: var(--paper); overflow: hidden;
}
.about-hero__bg { position: absolute; inset: 0; width: 100vw; height: 100%; object-fit: cover; z-index: -2; transform: scale(1.05); }
.about-hero__overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgba(21,19,15,0.7) 0%, rgba(21,19,15,0.3) 100%); }
.about-hero__content { position: relative; z-index: 10; padding: 0 24px; }
.about-hero__content .kicker-text { margin-bottom: 20px; color: var(--orange); }
.about-hero__content h1 { font-family: var(--f-display); font-size: clamp(40px, 6vw, 72px); font-weight: 800; line-height: 1.1; letter-spacing: -.02em; }

.editorial { max-width: var(--maxw); margin: 0 auto; padding: var(--gap-section) 24px; display: flex; align-items: center; gap: clamp(40px, 8vw, 100px); }
.editorial--reverse { flex-direction: row-reverse; }
.editorial__img-wrap { flex: 0 0 45%; position: relative; overflow: hidden; box-shadow: 0 24px 48px rgba(0,0,0,0.1); transition: transform 0.5s ease; }
.editorial__img-wrap:hover { transform: translateY(-10px); }
.mask-arch { border-radius: 250px 250px 20px 20px; aspect-ratio: 3/4; }
.mask-leaf { border-radius: 250px 20px 250px 20px; aspect-ratio: 3/4; }
.editorial__img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.editorial__content { flex: 1 1 auto; }
.editorial__content .kicker-text { color: var(--orange); margin-bottom: 16px; }
.editorial__content h2 { font-family: var(--f-display); font-size: clamp(32px, 4vw, 48px); font-weight: 800; color: var(--stage); line-height: 1.15; letter-spacing: -.02em; margin-bottom: 24px; }
.editorial__content p { color: var(--ink-soft); font-size: 17px; margin-bottom: 16px; }

.vision { position: relative; padding: 180px 24px; margin: var(--gap-section) 0; text-align: center; color: var(--paper); overflow: hidden; }
.vision__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.vision__overlay { position: absolute; inset: 0; z-index: -1; background: rgba(21, 19, 15, 0.463); }
.vision__content { position: relative; z-index: 10; max-width: 900px; margin: 0 auto; }
.vision__content .kicker-text { margin-bottom: 32px; color: var(--orange); }
.vision__content blockquote { margin: 0; font-family: var(--f-body); font-weight: 300; font-style: italic; font-size: clamp(22px, 2.5vw, 34px); line-height: 1.5; letter-spacing: 0; color: rgba(250, 248, 244, 0.95); }

.mission { max-width: 1100px; margin: 0 auto; padding: 0 24px var(--gap-section); }
.mission__header-wrap { position: relative; display: flex; justify-content: center; align-items: center; margin-bottom: 32px; }
.mission__line { position: absolute; top: 50%; left: 0; width: 100%; height: 1px; background: var(--line); z-index: 1; }
.mission__badge { position: relative; z-index: 2; background: var(--paper); padding: 8px 24px; border: 1px solid var(--line); border-radius: 99px; font-family: var(--f-body); font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-soft); margin: 0; }
.mission .section-head__title { text-align: center; margin-bottom: 72px; }
.mission__tech-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 64px 40px; }
.mission__tech-item { display: flex; flex-direction: column; align-items: flex-start; cursor: default; }
.mission__icon-box { width: 56px; height: 56px; border-radius: 14px; background: #FFFFFF; border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; margin-bottom: 24px; transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.mission__icon-box svg { width: 24px; height: 24px; color: var(--ink); transition: color 0.4s ease; }
.mission__item-title { font-family: var(--f-display); font-size: 20px; font-weight: 700; color: var(--stage); margin: 0 0 12px 0; transition: color 0.3s ease, transform 0.3s ease; }
.mission__item-desc { color: var(--ink-soft); font-size: 15px; line-height: 1.6; margin: 0; max-width: 90%; }
.mission__tech-item:hover .mission__icon-box { background: var(--orange); border-color: var(--orange); transform: translateY(-8px) scale(1.05); box-shadow: 0 16px 32px rgba(255, 77, 0, 0.25); }
.mission__tech-item:hover .mission__icon-box svg { color: #FFFFFF; }
.mission__tech-item:hover .mission__item-title { color: var(--orange); transform: translateX(4px); }

/* ================================================================
   ABOUT RESPONSIVE RULES
   ================================================================ */
@media (max-width: 1024px) {
  /* Mengubah susunan menyamping jadi atas-bawah */
  .editorial, .editorial--reverse {
    flex-direction: column;
    gap: 40px;
  }
  
  /* Membuat teks berada di tengah agar lebih simetris di HP */
  .editorial__content {
    width: 100%;
    text-align: center;
  }
  
  /* Menyesuaikan proporsi gambar agar tidak raksasa */
  .editorial__img-wrap {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
  
  .mission__tech-grid { 
    grid-template-columns: repeat(2, 1fr); 
    gap: 48px 32px; 
  } 
}

@media (max-width: 600px) { 
  .mission__tech-grid { 
    grid-template-columns: 1fr; 
  } 
  .mission__item-desc { 
    max-width: 100%; 
  } 
}