/* ===========================================================
   Perkumpulan AISA — additions to style.css
   (company-profile sections; loads AFTER css/style.css and only adds rules)
   =========================================================== */

/* ----- Brand logo (AISA logo embedded as data URI) ----- */
.brand__mark--logo {
  background: url("data:image/png;base64,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") center / cover no-repeat;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(13, 27, 62, .25);
}
.footer .brand__mark--logo { box-shadow: 0 0 0 2px rgba(255, 255, 255, .25); }

/* Hidden attribute must win over component display rules */
[hidden] { display: none !important; }

/* Small helper for sub-headings inside sections */
.subhead {
  font-family: var(--font-serif); font-size: 1.5rem; font-weight: 600; color: var(--navy);
  text-align: center; margin: 56px 0 24px;
}

/* ----- About ----- */
.about__grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 48px; align-items: start; }
.about__text p { color: var(--ink); font-size: 1.04rem; margin-bottom: 16px; }
.about__goals-intro { margin-bottom: 8px !important; font-weight: 600; color: var(--navy) !important; }
.about__goals { list-style: none; counter-reset: goal; margin: 0 0 18px; display: grid; gap: 10px; }
.about__goals li {
  counter-increment: goal; position: relative; padding: 12px 16px 12px 56px; background: var(--bg-soft);
  border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--ink); font-size: .98rem;
}
.about__goals li::before {
  content: counter(goal); position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
  width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
  background: var(--navy); color: var(--gold); font-weight: 800; font-size: .85rem;
}
.facts {
  background: linear-gradient(160deg, var(--navy), var(--navy-2)); color: #fff; border-radius: var(--radius);
  padding: 30px; box-shadow: var(--shadow-md);
}
.facts h3 { font-family: var(--font-serif); font-size: 1.35rem; font-weight: 600; margin-bottom: 14px; }
.facts dl { display: grid; gap: 0; }
.facts dl > div { display: grid; grid-template-columns: 1fr; padding: 12px 0; border-top: 1px solid rgba(255, 255, 255, .14); }
.facts dt { font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--gold); }
.facts dd { margin-top: 2px; color: #e3e9fb; font-weight: 500; }

/* ----- Vision, mission, values ----- */
.vision { background: var(--bg-soft); }
.vision__top { display: grid; grid-template-columns: 1fr 1.15fr; gap: 24px; align-items: stretch; }
.vision-card {
  background: linear-gradient(150deg, var(--navy), var(--navy-2) 70%, #1c356e); color: #fff;
  border-radius: var(--radius); padding: 38px; display: flex; flex-direction: column; justify-content: center;
  box-shadow: var(--shadow-md);
}
.vision-card p { font-family: var(--font-serif); font-size: clamp(1.25rem, 2.2vw, 1.65rem); line-height: 1.4; font-weight: 500; }
.mission-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 34px; box-shadow: var(--shadow-sm); }
.mission-card h3 { font-family: var(--font-serif); font-size: 1.4rem; color: var(--navy); margin-bottom: 16px; font-weight: 600; }
.mission { list-style: none; counter-reset: mis; display: grid; gap: 14px; }
.mission li { counter-increment: mis; position: relative; padding-left: 44px; color: var(--ink); }
.mission li::before {
  content: counter(mis); position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 50%;
  display: grid; place-items: center; background: var(--gold); color: var(--navy); font-weight: 800; font-size: .88rem;
}
.values { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.value { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--blue); border-radius: var(--radius-sm); padding: 20px; box-shadow: var(--shadow-sm); }
.value h4 { color: var(--navy); font-size: 1.02rem; margin-bottom: 6px; }
.value p { color: var(--muted); font-size: .88rem; line-height: 1.5; }

/* ----- Programs ----- */
.programs__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
.program {
  flex: 0 1 calc((100% - 48px) / 3);
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; box-shadow: var(--shadow-sm);
  display: flex; flex-direction: column; gap: 10px; transition: transform .2s ease, box-shadow .2s ease;
}
.program:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.program h3 { font-size: 1.14rem; color: var(--navy); line-height: 1.3; }
.program p { color: var(--muted); font-size: .94rem; }
.status {
  align-self: flex-start; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  padding: 4px 12px; border-radius: 999px; border: 1px solid transparent;
}
.status--ok { background: #e3f6ee; color: #0b7a55; border-color: #a8dcc6; }
.status--dev { background: #fff4d9; color: #8a5a00; border-color: #f1c766; }
.status--need { background: #eef1f7; color: var(--muted); border-color: #d3daea; }

/* ----- Journal card extras ----- */
.journal__meta { font-size: .86rem; color: var(--muted); line-height: 1.5; }
.journals .journal-grid { grid-template-columns: repeat(auto-fit, minmax(280px, 360px)); justify-content: center; }
/* Journal card with a cover image (the stacked-books mockup, 6:5): image on the left, details on the right */
.journal--cover {
  grid-column: 1 / -1; width: 100%; max-width: 940px; margin-inline: auto;
  flex-direction: row; align-items: center; gap: 36px; padding: 22px;
  background: linear-gradient(135deg, #fff 55%, var(--bg-soft));
}
.journal--cover:hover { transform: none; }
.journal--cover .journal__cover {
  flex: 0 1 470px; min-width: 0; width: auto; height: auto; aspect-ratio: 6 / 5; border-radius: 12px;
  box-shadow: 0 10px 28px rgba(13, 27, 62, .16); background-color: #eef1f8;
}
.journal--cover .journal__cover::after { display: none; }
.journal--cover .journal__body { flex: 1 1 0; min-width: 0; padding: 0 12px 0 0; gap: 10px; }
.journal--cover .journal__title { font-family: var(--font-serif); font-size: 1.6rem; font-weight: 600; }
.journal--cover .journal__btn { margin-top: 10px; }

/* ----- Services ----- */
.services { background: var(--bg-soft); }
.svc-head { text-align: center; max-width: 640px; margin: 0 auto 26px; }
.svc-head h3 { font-family: var(--font-serif); font-size: 1.6rem; color: var(--navy); font-weight: 600; }
.svc-head p { color: var(--muted); margin-top: 6px; }
.price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 26px; }
.price-grid--2 { grid-template-columns: 1.1fr 1fr; margin-top: 44px; }
.price-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px;
  box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: 6px;
}
.price-card h4 { color: var(--navy); font-size: 1.12rem; line-height: 1.3; }
.price { font-family: var(--font-serif); font-size: 2.1rem; font-weight: 600; color: var(--blue); line-height: 1.15; margin-top: 4px; }
.price__unit { font-size: .82rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.price-card p { color: var(--muted); font-size: .94rem; margin-top: 8px; }
.price-card--wide { border-top: 4px solid var(--gold); }
.price-card--soon { background: var(--navy); border-color: var(--navy); color: #fff; justify-content: flex-start; }
.price-card--soon h4 { color: #fff; font-family: var(--font-serif); font-size: 1.3rem; font-weight: 600; }
.price-card--soon p { color: #c8d2ee; }
.price-card--soon .svc-order { color: #fff; font-weight: 600; }
.price-card--soon .btn { margin-top: 10px; align-self: flex-start; }
.principles {
  margin-top: 8px; background: #fff; border: 1px dashed #c3cde6; border-radius: var(--radius); padding: 28px 32px;
}
.principles h3 { font-family: var(--font-serif); font-size: 1.3rem; color: var(--navy); margin-bottom: 14px; font-weight: 600; }
.principles ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 36px; }
.principles li { position: relative; padding-left: 28px; color: var(--ink); font-size: .96rem; }
.principles li::before {
  content: "✓"; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%;
  background: #0b7a55; color: #fff; font-size: .72rem; font-weight: 800; display: grid; place-items: center;
}

/* ----- Legal ----- */
.legal__list { max-width: 880px; margin: 0 auto; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); overflow: hidden; }
.legal__row { display: grid; grid-template-columns: 240px 1fr; gap: 24px; padding: 20px 28px; border-top: 1px solid var(--line); }
.legal__row:first-child { border-top: 0; }
.legal__row dt { font-weight: 800; color: var(--navy); }
.legal__row dd { color: var(--ink); }

/* ----- Organization ----- */
.org { background: var(--bg-soft); }
.org-group {
  text-align: center; font-size: .8rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase;
  color: var(--blue); margin: 34px 0 16px;
}
.org-group:first-of-type { margin-top: 0; }
.org-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; }
.org-card {
  flex: 1 1 320px; max-width: 370px; display: flex; gap: 16px; align-items: center; background: #fff;
  border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; box-shadow: var(--shadow-sm);
}
.org-card__avatar {
  flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center;
  font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--blue), var(--navy));
}
.org-card__name { font-size: .98rem; color: var(--navy); line-height: 1.3; }
.org-card__role { display: block; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #a56f00; margin-top: 3px; }
.org-card__aff { display: block; font-size: .85rem; color: var(--muted); margin-top: 2px; }

/* ----- Contact links ----- */
.contact__list a { color: var(--blue); font-weight: 600; }
.contact__list a:hover { text-decoration: underline; }

/* ----- Responsive additions ----- */
@media (max-width: 1080px) {
  .values { grid-template-columns: repeat(3, 1fr); }
  .nav { gap: 18px; }
}
@media (max-width: 980px) {
  .about__grid, .vision__top, .price-grid--2 { grid-template-columns: 1fr; }
  .price-grid { grid-template-columns: repeat(2, 1fr); }
  .program { flex-basis: calc((100% - 24px) / 2); }
  .values { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .principles ul { grid-template-columns: 1fr; }
  .legal__row { grid-template-columns: 1fr; gap: 4px; padding: 16px 20px; }
}
@media (max-width: 680px) {
  .journal--cover { flex-direction: column; gap: 22px; padding: 14px 14px 26px; max-width: 520px; }
  .journal--cover .journal__cover { flex: none; width: 100%; }
  .journal--cover .journal__body { align-items: center; text-align: center; padding: 0 8px; }
  .journal--cover .journal__btn { align-self: center; }
}
@media (max-width: 560px) {
  .stat__num { white-space: nowrap; font-size: 1.9rem; }
  .price-grid, .values { grid-template-columns: 1fr; }
  .program { flex-basis: 100%; }
  .vision-card, .mission-card, .facts { padding: 26px; }
}
