/* ===== Profil Sekolah (lengkap) ===== */
.profil-facts { margin-top: 3.5rem; display: grid; gap: 1px; background: var(--rule); border: 1px solid var(--rule); }
@media (min-width: 48rem) { .profil-facts { grid-template-columns: repeat(2, 1fr); } }
.profil-facts__row { background: var(--paper); padding: 1.25rem; }
.profil-facts__row dt { font-family: var(--font-mono); font-size: 0.6875rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--galas); }
.profil-facts__row dd { margin-top: 0.5rem; font-size: 0.9375rem; font-weight: 500; color: var(--ink); }

.profil-grid { margin-top: 3rem; display: grid; gap: 1.5rem; }
@media (min-width: 48rem) { .profil-grid { grid-template-columns: repeat(2, 1fr); } }
.profil-block { border: 1px solid var(--rule); background: var(--paper); padding: 1.75rem; }
.profil-block h3 { font-size: 1.25rem; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); }
.profil-block p { margin-top: 0.75rem; line-height: 1.7; color: var(--navy-700); }
.profil-block--struktur img { margin-top: 0.75rem; width: 100%; }

.profil-photos { margin-top: 2rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
@media (min-width: 48rem) { .profil-photos { grid-template-columns: repeat(4, 1fr); } }
.profil-photo-tile img { width: 100%; }
.profil-photo-tile figcaption { margin-top: 0.5rem; font-family: var(--font-mono); font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--navy-400); }

/* ===== Visi & Misi (manifesto block) ===== */
.visi-block { margin-top: 3rem; background: var(--ink); color: var(--paper); padding: 2.5rem; position: relative; overflow: hidden; }
.visi-block__top { display: grid; gap: 2rem; }
@media (min-width: 48rem) { .visi-block__top { grid-template-columns: 3fr 2fr; align-items: center; } }
.visi-block__quote .eyebrow { color: var(--galas-bright); }
.visi-block__quote blockquote { margin-top: 0.75rem; font-size: 1.375rem; font-style: italic; line-height: 1.45; color: var(--paper); }
.visi-block__image img { width: 100%; border: 4px solid rgba(255, 255, 255, 0.15); }
.visi-block__pills-label { margin-top: 1.5rem; font-family: var(--font-mono); font-size: 0.6875rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--galas-bright); }
.visi-block__pills { margin-top: 0.75rem; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.visi-block__pills li { border: 1px solid rgba(255, 255, 255, 0.3); padding: 0.375rem 0.875rem; font-size: 0.8125rem; color: var(--paper); }
.visi-block__misi { margin-top: 2.5rem; border-top: 1px solid rgba(255, 255, 255, 0.15); padding-top: 2rem; }
.visi-block__misi h3 { font-size: 1.375rem; margin-bottom: 1.25rem; color: var(--paper); }
.visi-block__misi-list { list-style: decimal; padding-left: 1.25rem; }
@media (min-width: 48rem) { .visi-block__misi-list { columns: 2; column-gap: 2.5rem; } }
.visi-block__misi-list li { margin-bottom: 1rem; line-height: 1.6; color: var(--navy-100); break-inside: avoid; }
.visi-block__misi-list li::marker { color: var(--galas-bright); font-weight: 600; }
.visi-block__indikator { margin-top: 2.5rem; border-top: 1px solid rgba(255, 255, 255, 0.15); padding-top: 2rem; }
.visi-block__jargon { margin-top: 2.5rem; border-top: 1px solid rgba(255, 255, 255, 0.15); padding-top: 2rem; text-align: center; }
.visi-block__jargon p { font-size: 1.125rem; font-style: italic; color: var(--galas-bright); margin-bottom: 0.5rem; }
.visi-block__jargon p:last-child { margin-bottom: 0; }

/* ===== Sambutan ===== */
.sambutan__grid { margin-top: 3.5rem; display: grid; gap: 1.5rem; }
@media (min-width: 48rem) { .sambutan__grid { grid-template-columns: repeat(3, 1fr); } }
.sambutan-card__thumb { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink); }
.sambutan-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.sambutan-card__thumb--empty { display: flex; align-items: center; justify-content: center; color: var(--navy-400); border: 1px dashed var(--rule); background: var(--paper); }
.sambutan-card__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(12, 35, 64, 0.35); color: #fff; opacity: 0; transition: opacity 200ms; }
.sambutan-card__thumb:hover .sambutan-card__play { opacity: 1; }
.sambutan-card__label { margin-top: 0.75rem; font-weight: 600; color: var(--ink); }
.sambutan-card__empty-note { margin-top: 0.25rem; font-size: 0.8125rem; color: var(--muted-foreground); }

/* ===== Guru & Tendik ===== */
.guru__grid { margin-top: 3.5rem; display: grid; gap: 1.5rem; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 48rem) { .guru__grid { grid-template-columns: repeat(4, 1fr); } }
.guru-card { border: 1px solid var(--rule); background: var(--paper); }
.guru-card__figure { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--paper-2); }
.guru-card__figure img { width: 100%; height: 100%; object-fit: cover; }
.guru-card__body { padding: 1.25rem; }
.guru-card__name { font-family: var(--font-display); font-size: 1.0625rem; font-weight: 600; color: var(--ink); }
.guru-card__name a:hover { color: var(--galas); }
.guru-card__bidang { margin-top: 0.375rem; font-size: 0.8125rem; color: var(--galas); }
.guru-card__quote { margin-top: 0.625rem; font-size: 0.8125rem; font-style: italic; line-height: 1.5; color: var(--muted-foreground); }

/* ===== Program & Bidang ===== */
.program-intro { margin-top: 3.5rem; display: grid; gap: 1.5rem; }
@media (min-width: 48rem) { .program-intro { grid-template-columns: repeat(2, 1fr); } }
.program-intro__col { border-left: 2px solid var(--galas); padding-left: 1.25rem; }
.program-intro__col p:last-child { margin-top: 0.5rem; line-height: 1.6; color: var(--navy-700); }
.program-items { margin-top: 2.5rem; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--rule); border: 1px solid var(--rule); }
@media (min-width: 48rem) { .program-items { grid-template-columns: repeat(4, 1fr); } }
.program-item { background: var(--paper); padding: 1.25rem; text-align: center; }
.program-item img { width: 100%; margin-bottom: 0.75rem; }
.program-item__placeholder { display: flex; align-items: center; justify-content: center; aspect-ratio: 4/3; margin-bottom: 0.75rem; background: var(--paper-2); color: var(--navy-400); }
.program-item figcaption { font-size: 0.8125rem; font-weight: 500; color: var(--ink); }

/* ===== Prestasi Sekolah ===== */
.prestasi__grid { margin-top: 3.5rem; display: grid; gap: 2.5rem; }
@media (min-width: 48rem) { .prestasi__grid { grid-template-columns: repeat(2, 1fr); } }
.prestasi__heading { font-size: 1.5rem; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); border-bottom: 2px solid var(--ink); padding-bottom: 0.75rem; }
.prestasi__list { margin-top: 1.25rem; }
.prestasi__item { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--rule); }
.prestasi__year { flex-shrink: 0; width: 4rem; font-weight: 600; color: var(--galas); }
.prestasi__name { font-weight: 500; color: var(--ink); }
.prestasi__note { margin-top: 0.25rem; font-size: 0.8125rem; color: var(--muted-foreground); }
