
:root{
  --navy:#082b5c; --blue:#0d6efd; --gold:#d9a441; --light:#f5f8fc;
  --dark:#14213d; --muted:#667085; --white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;color:var(--dark);background:#fff;line-height:1.6}
a{text-decoration:none;color:inherit}
.container{width:min(1120px,92%);margin:auto}
.topbar{background:var(--navy);color:#fff;font-size:13px;padding:8px 0}
.topbar .container{display:flex;justify-content:space-between;gap:15px}
.navbar{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 3px 18px #00000012}
.nav-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:58px;
  height:58px;
  object-fit: contain;
  border-radius: 10px;
  background: #fff;
  padding: 3px;
  border: 2px solid var(--gold);
}
.brand h1{font-size:17px;color:var(--navy);line-height:1.2}
.brand small{font-size:11px;color:var(--muted)}
.nav-links{display:flex;gap:4px;align-items:center;list-style:none}
.nav-links a{display:block;padding:10px 11px;font-size:14px;font-weight:600;border-radius:9px}
.nav-links a:hover,.nav-links a.active{background:#eaf2ff;color:var(--blue)}
.menu-btn{display:none;border:0;background:var(--navy);color:#fff;border-radius:8px;padding:9px 12px;font-size:20px}
/* HERO BERANDA */
.hero {
    background:
        linear-gradient(
            90deg,
            rgba(6, 38, 87, 0.90) 0%,
            rgba(6, 38, 87, 0.70) 40%,
            rgba(6, 38, 87, 0.30) 75%,
            rgba(6, 38, 87, 0.10) 100%
        ),
        url("../image/JZ7_5922.JPG.jpeg") center/cover no-repeat;

    min-height: 600px;

    color: #fff;

    display: flex;
    align-items: center;
}

.hero-content {
    max-width: 720px;
    padding: 80px 0;
}

.badge {
    display: inline-block;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.35);
    padding: 8px 15px;
    border-radius: 999px;
    font-size: 13px;
    margin-bottom: 20px;
}

.hero h2 {
    font-size: clamp(38px, 6vw, 68px);
    line-height: 1.05;
    margin-bottom: 18px;
}

.hero h2 span {
    color: #ffd66b;
}

.hero p {
    font-size: 18px;
    max-width: 650px;
    color: #eef5ff;
    margin-bottom: 28px;
    line-height: 1.7;
}

/* =====================================================
   SELAMAT DATANG - TANPA FOTO
===================================================== */

.welcome-section {
    background: #ffffff;
}


/* GRID */

.welcome-grid {
    display: grid;

    grid-template-columns: 1.05fr 0.95fr;

    gap: 60px;

    align-items: center;
}


/* LABEL */

.section-label {
    display: inline-block;

    margin-bottom: 8px;

    color: var(--blue);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1.5px;
}


/* JUDUL */

.welcome-content h2 {
    color: var(--navy);

    font-size: 38px;

    line-height: 1.2;

    margin-bottom: 18px;
}

.welcome-content h2 span {
    color: var(--blue);
}


/* PARAGRAF */

.welcome-content p {
    color: var(--muted);

    line-height: 1.8;

    margin-bottom: 15px;
}


/* BUTTON */

.about-button {
    display: inline-flex;

    align-items: center;

    margin-top: 8px;

    padding: 12px 20px;

    border-radius: 10px;

    background: var(--navy);

    color: #ffffff !important;

    font-weight: 700;

    transition: .25s ease;
}

.about-button:hover {
    background: var(--blue);

    transform: translateY(-2px);
}


/* =====================================================
   HIGHLIGHTS
===================================================== */

.welcome-highlights {
    display: flex;

    flex-direction: column;

    gap: 14px;
}


.highlight-item {
    display: flex;

    align-items: flex-start;

    gap: 16px;

    padding: 20px;

    border: 1px solid #e7edf5;

    border-radius: 16px;

    background: #ffffff;

    box-shadow:
        0 7px 25px rgba(16,42,67,.06);

    transition: .25s ease;
}

.highlight-item:hover {
    transform: translateY(-3px);

    border-color: #d7e5f8;

    box-shadow:
        0 12px 30px rgba(16,42,67,.09);
}


/* ICON */

.highlight-icon {
    width: 50px;
    height: 50px;

    flex-shrink: 0;

    display: grid;

    place-items: center;

    border-radius: 14px;

    background: #eaf2ff;

    font-size: 24px;
}


/* TEXT */

.highlight-item h3 {
    margin: 0 0 5px;

    color: var(--navy);

    font-size: 17px;
}

.highlight-item p {
    margin: 0;

    color: var(--muted);

    font-size: 13px;

    line-height: 1.6;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 800px) {

    .welcome-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .welcome-content h2 {
        font-size: 30px;
    }

    .highlight-item {
        padding: 17px;
    }
}
.btn{display:inline-block;padding:12px 20px;border-radius:10px;font-weight:700;border:2px solid transparent;transition:.2s}
.btn-primary{background:var(--gold);color:#1b1b1b}.btn-primary:hover{transform:translateY(-2px)}
.btn-outline{border-color:#fff;color:#fff;margin-left:8px}.btn-outline:hover{background:#fff;color:var(--navy)}
.section{padding:72px 0}.section.alt{background:var(--light)}
.section-head{text-align:center;margin-bottom:38px}.section-head h2{font-size:32px;color:var(--navy)}.section-head p{color:var(--muted)}
.grid{display:grid;gap:22px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid #e7edf5;border-radius:16px;padding:24px;box-shadow:0 8px 28px #102a430b}
.card h3{color:var(--navy);margin:10px 0 8px}.card p{color:var(--muted);font-size:14px}
.icon{width:52px;height:52px;border-radius:14px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;font-size:24px}
.about{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.about-img{height:360px;border-radius:22px;background:linear-gradient(145deg,#0b3a78,#58a6ff);display:grid;place-items:center;color:#fff;font-size:70px;font-weight:800;box-shadow:0 18px 45px #0b3a7830}
.about h2{font-size:34px;color:var(--navy);margin-bottom:14px}.about p{color:var(--muted);margin-bottom:16px}
.list{padding-left:20px;color:var(--muted)}.list li{margin:7px 0}
.news-card{overflow:hidden;padding:0}.thumb{height:180px;background:linear-gradient(135deg,#0b3a78,#4da3ff);display:grid;place-items:center;color:#fff;font-size:40px}.news-body{padding:20px}.meta{font-size:12px;color:var(--blue);font-weight:700}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:var(--navy);color:#fff;padding:28px;border-radius:16px;text-align:center}.stat strong{display:block;font-size:34px;color:#ffd66b}.stat span{font-size:13px;color:#dce9fb}
.gallery .thumb{height:210px}.achievement{text-align:center}.achievement .icon{margin:auto}
.cta{background:linear-gradient(120deg,var(--navy),#0e5cc7);color:#fff;border-radius:22px;padding:42px;text-align:center}.cta h2{font-size:30px;margin-bottom:8px}.cta p{color:#dbeafe;margin-bottom:20px}
.page-hero{background:linear-gradient(120deg,var(--navy),#0d6efd);color:#fff;padding:70px 0}.page-hero h2{font-size:42px}.page-hero p{color:#dbeafe}
.content{max-width:850px;margin:auto}.content h2{color:var(--navy);margin:25px 0 10px}.content p{color:var(--muted);margin-bottom:14px}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.info-box{padding:20px;border:1px solid #e7edf5;border-radius:14px}.info-box strong{display:block;color:var(--navy);margin-bottom:5px}
.form-box{max-width:700px;margin:auto;background:#fff;padding:28px;border-radius:18px;box-shadow:0 10px 35px #0000000d}.field{margin-bottom:15px}.field label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}.field input,.field textarea{width:100%;padding:12px;border:1px solid #d7dee9;border-radius:9px;font:inherit}.field textarea{min-height:130px}
footer{background:#061b38;color:#dbe7f6;padding:48px 0 18px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:35px}.footer-grid h3{color:#fff;margin-bottom:12px}.footer-grid p,.footer-grid li{font-size:14px;color:#b9c8dc}.footer-grid ul{list-style:none}.footer-grid li{margin:7px 0}.copyright{border-top:1px solid #ffffff18;margin-top:30px;padding-top:16px;text-align:center;font-size:12px;color:#91a4bd}
/* =========================================================
   PELAYANAN PUBLIK
   ========================================================= */

.pelayanan-section {
    padding: 45px 0;
}

/* Jarak antar section dibuat lebih rapat */
.pelayanan-section + .pelayanan-section {
    padding-top: 5px;
}


/* =========================================================
   JUDUL SECTION
   ========================================================= */

.pelayanan-section .section-title {
    position: relative;

    text-align: left;

    padding-left: 18px;
    margin-bottom: 28px;
}

/* Garis aksen di kiri judul */
.pelayanan-section .section-title::before {
    content: "";

    position: absolute;
    left: 0;
    top: 4px;

    width: 4px;
    height: 68px;

    border-radius: 10px;

    background: linear-gradient(
        to bottom,
        var(--blue),
        var(--gold)
    );
}

/* Label kecil */
.pelayanan-section .section-title span {
    display: inline-block;

    margin-bottom: 6px;

    color: var(--blue);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1.8px;
    text-transform: uppercase;
}

/* Judul utama */
.pelayanan-section .section-title h2 {
    margin: 0 0 8px;

    color: var(--navy);

    font-size: 34px;
    line-height: 1.2;

    font-weight: 800;
    letter-spacing: -0.5px;
}

/* Deskripsi */
.pelayanan-section .section-title p {
    max-width: 720px;

    margin: 0;

    color: var(--muted);

    font-size: 15px;
    line-height: 1.7;
}


/* =========================================================
   SKM FEATURE
   ========================================================= */

.skm-feature {
    max-width: 1050px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.15fr 0.85fr;

    background: #ffffff;

    border-radius: 26px;

    overflow: hidden;

    box-shadow:
        0 18px 50px rgba(15, 42, 78, 0.12);

    border: 1px solid #e8edf5;
}


/* =========================================================
   GAMBAR SKM
   ========================================================= */

.skm-poster {
    padding: 28px;

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

    background: linear-gradient(
        145deg,
        #0b2d55,
        #164f8a
    );
}

.skm-poster img {
    width: 100%;
    max-width: 570px;

    height: auto !important;

    display: block;

    border-radius: 17px;

    object-fit: contain !important;

    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.25);
}


/* =========================================================
   INFORMASI SKM
   ========================================================= */

.skm-content {
    padding: 45px 40px;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.skm-badge {
    display: inline-block;
    width: fit-content;

    padding: 7px 14px;

    margin-bottom: 16px;

    border-radius: 30px;

    background: #fff4cf;
    color: #9a6b00;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1px;
}

.skm-content h3 {
    margin: 0 0 13px;

    color: var(--navy);

    font-size: 30px;
    line-height: 1.2;
}

.skm-content p {
    margin: 0 0 20px;

    color: var(--muted);

    line-height: 1.75;
}


/* =========================================================
   NILAI SKM
   ========================================================= */

.skm-score {
    display: flex;
    align-items: center;

    gap: 14px;

    margin: 5px 0 15px;
}

.skm-score strong {
    color: var(--blue);

    font-size: 50px;
    line-height: 1;

    font-weight: 900;
}

.skm-score span {
    color: var(--muted);

    font-size: 14px;
}


/* =========================================================
   STATUS SKM
   ========================================================= */

.skm-status {
    display: inline-block;
    width: fit-content;

    padding: 9px 16px;

    margin-bottom: 22px;

    border-radius: 50px;

    background: #e9f8ef;
    color: #168447;

    font-size: 13px;
    font-weight: 800;
}


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

.skm-button,
.maklumat-button,
.standar-button {
    display: inline-flex;

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

    gap: 8px;

    width: fit-content;

    padding: 12px 20px;

    border-radius: 10px;

    background: var(--navy);
    color: #ffffff !important;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;

    transition: 0.25s ease;
}

.skm-button:hover,
.maklumat-button:hover,
.standar-button:hover {
    background: var(--blue);

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(30, 91, 150, 0.2);
}


/* =========================================================
   MAKLUMAT PELAYANAN
   ========================================================= */

.maklumat-feature {
    max-width: 1050px;

    margin: 0 auto;

    display: grid;
    grid-template-columns: 1.15fr 0.85fr;

    align-items: center;

    gap: 35px;

    padding: 28px;

    background: #ffffff;

    border-radius: 26px;

    border: 1px solid #e8edf5;

    box-shadow:
        0 18px 50px rgba(15, 42, 78, 0.10);
}


/* Gambar Maklumat */

.maklumat-poster {
    width: 100%;

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

    overflow: hidden;

    border-radius: 18px;

    background: #f5f7fa;
}

.maklumat-poster img {
    width: 100%;
    max-width: 570px;

    height: auto !important;

    display: block;

    object-fit: contain !important;

    border-radius: 18px;
}


/* Konten Maklumat */

.maklumat-content {
    padding: 10px 15px;
}

.maklumat-badge {
    display: inline-block;

    padding: 7px 14px;

    margin-bottom: 15px;

    border-radius: 50px;

    background: #fff4cf;
    color: #9a6b00;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 1px;
}

.maklumat-content h3 {
    margin: 0 0 13px;

    color: var(--navy);

    font-size: 29px;
}

.maklumat-content p {
    margin: 0 0 22px;

    color: var(--muted);

    line-height: 1.75;
}


/* =========================================================
   STANDAR PELAYANAN
   ========================================================= */

.standar-card {
    max-width: 1050px;

    margin: 0 auto;

    padding: 25px 28px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 25px;

    background: #ffffff;

    border-radius: 20px;

    border: 1px solid #e8edf5;

    box-shadow:
        0 12px 35px rgba(15, 42, 78, 0.08);

    transition: 0.25s ease;
}

.standar-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 18px 40px rgba(15, 42, 78, 0.12);
}


/* Informasi */

.standar-info {
    display: flex;

    align-items: center;

    gap: 17px;
}

.standar-icon {
    width: 52px;
    height: 52px;

    flex-shrink: 0;

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

    border-radius: 14px;

    background: #eaf2ff;
    color: var(--blue);

    font-size: 23px;
}

.standar-info h3 {
    margin: 0 0 6px;

    color: var(--navy);

    font-size: 20px;
}

.standar-info p {
    margin: 0;

    color: var(--muted);

    font-size: 14px;

    line-height: 1.6;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 800px) {

    .pelayanan-section {
        padding: 35px 0;
    }

    .pelayanan-section + .pelayanan-section {
        padding-top: 0;
    }


    /* Judul */

    .pelayanan-section .section-title {
        padding-left: 15px;

        margin-bottom: 22px;
    }

    .pelayanan-section .section-title::before {
        height: 58px;
    }

    .pelayanan-section .section-title h2 {
        font-size: 27px;
    }

    .pelayanan-section .section-title p {
        font-size: 14px;
    }


    /* SKM */

    .skm-feature {
        grid-template-columns: 1fr;

        margin-left: 10px;
        margin-right: 10px;

        border-radius: 20px;
    }

    .skm-poster {
        padding: 15px;
    }

    .skm-poster img {
        width: 100%;

        border-radius: 13px;
    }

    .skm-content {
        padding: 28px 25px;
    }

    .skm-content h3 {
        font-size: 25px;
    }

    .skm-score strong {
        font-size: 43px;
    }


    /* Maklumat */

    .maklumat-feature {
        grid-template-columns: 1fr;

        gap: 20px;

        margin-left: 10px;
        margin-right: 10px;

        padding: 15px;

        border-radius: 20px;
    }

    .maklumat-content {
        padding: 8px 10px 15px;
    }

    .maklumat-content h3 {
        font-size: 25px;
    }


    /* Standar */

    .standar-card {
        flex-direction: column;

        align-items: flex-start;

        margin-left: 10px;
        margin-right: 10px;

        padding: 22px;

        border-radius: 18px;
    }

    .standar-button {
        width: 100%;
    }
}

/* =====================================================
   MAKNA LAMBANG SEKOLAH
===================================================== */

.emblem-intro {
    max-width: 1000px;
    margin: 0 auto 55px;

    display: grid;
    grid-template-columns: 280px 1fr;

    gap: 50px;

    align-items: center;

    background: #ffffff;

    padding: 35px;

    border-radius: 22px;

    border: 1px solid #e7edf5;

    box-shadow: 0 10px 30px rgba(16,42,67,.06);
}

.emblem-logo {
    display: flex;
    align-items: center;
    justify-content: center;
}

.emblem-logo img {
    width: 220px;
    height: 220px;

    object-fit: contain;

    border-radius: 20px;
}

.emblem-label {
    display: inline-block;

    color: var(--blue);

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1.4px;

    margin-bottom: 8px;
}

.emblem-description h3 {
    color: var(--navy);

    font-size: 28px;

    margin: 0 0 12px;
}

.emblem-description p {
    color: var(--muted);

    line-height: 1.8;

    margin: 0;
}


/* BAGIAN SIMBOL */

.emblem-section {
    max-width: 1050px;

    margin: 0 auto 55px;
}

.emblem-heading {
    display: flex;

    align-items: center;

    gap: 18px;

    margin-bottom: 25px;
}

.emblem-heading > span {
    width: 48px;
    height: 48px;

    flex-shrink: 0;

    display: grid;

    place-items: center;

    border-radius: 14px;

    background: var(--navy);

    color: #ffffff;

    font-weight: 800;
}

.emblem-heading h3 {
    color: var(--navy);

    font-size: 25px;

    margin: 0 0 4px;
}

.emblem-heading p {
    color: var(--muted);

    margin: 0;

    font-size: 14px;
}


/* KARTU MAKNA */

.meaning-grid {
    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 15px;
}

.meaning-card {
    display: flex;

    gap: 15px;

    padding: 20px;

    background: #ffffff;

    border: 1px solid #e7edf5;

    border-radius: 16px;

    transition: .25s ease;
}

.meaning-card:hover {
    transform: translateY(-3px);

    box-shadow: 0 10px 25px rgba(16,42,67,.08);
}

.meaning-letter {
    width: 38px;
    height: 38px;

    flex-shrink: 0;

    display: grid;

    place-items: center;

    border-radius: 10px;

    background: #eaf2ff;

    color: var(--blue);

    font-weight: 800;
}

.meaning-card h4 {
    color: var(--navy);

    margin: 0 0 6px;

    font-size: 17px;
}

.meaning-card p {
    color: var(--muted);

    line-height: 1.65;

    font-size: 13px;

    margin: 0;
}


/* MAKNA WARNA */

.color-meaning-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 18px;
}

.color-card {
    display: flex;

    align-items: flex-start;

    gap: 15px;

    padding: 22px;

    background: #ffffff;

    border-radius: 16px;

    border: 1px solid #e7edf5;
}

.color-dot {
    width: 38px;
    height: 38px;

    flex-shrink: 0;

    border-radius: 50%;

    border: 3px solid #ffffff;

    box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

.white-color .color-dot {
    background: #ffffff;

    border-color: #dce3ec;
}

.gold-color .color-dot {
    background: #ffd66b;
}

.blue-color .color-dot {
    background: #1769c2;
}

.color-card h4 {
    color: var(--navy);

    margin: 0 0 6px;

    font-size: 17px;
}

.color-card p {
    color: var(--muted);

    font-size: 13px;

    line-height: 1.65;

    margin: 0;
}


/* MAKNA KESELURUHAN */

.emblem-final {
    max-width: 1050px;

    margin: 0 auto;

    padding: 35px;

    border-radius: 22px;

    background:
        linear-gradient(
            135deg,
            var(--navy),
            #0e5cc7
        );

    color: #ffffff;

    box-shadow: 0 15px 35px rgba(6,38,87,.15);
}

.emblem-final .emblem-label {
    color: #ffd66b;
}

.emblem-final h3 {
    font-size: 27px;

    margin: 0 0 15px;
}

.emblem-final p {
    color: #e5efff;

    line-height: 1.8;

    font-size: 14px;

    margin: 0;
}


/* MOBILE */

@media (max-width: 800px) {

    .emblem-intro {
        grid-template-columns: 1fr;

        gap: 25px;

        padding: 25px;

        text-align: center;
    }

    .emblem-logo img {
        width: 170px;
        height: 170px;
    }

    .meaning-grid {
        grid-template-columns: 1fr;
    }

    .color-meaning-grid {
        grid-template-columns: 1fr;
    }

    .emblem-heading {
        align-items: flex-start;
    }

    .emblem-final {
        padding: 28px 22px;
    }
}

/* =====================================================
   PROFIL SEKOLAH - NEW DESIGN
===================================================== */

.profile-section {
    padding: 48px 0;
}

.profile-label {
    display: inline-block;
    margin-bottom: 6px;

    color: var(--blue);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 1.5px;
}

.profile-section .section-head {
    margin-bottom: 28px;
}


/* =====================================================
   IDENTITAS
===================================================== */

.profile-info-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 14px;
}

.profile-info-card {
    padding: 19px 20px;

    border-radius: 15px;

    background: #fff;

    border: 1px solid #e5ebf3;

    box-shadow: 0 6px 20px rgba(16,42,67,.045);

    transition: .2s ease;
}

.profile-info-card:hover {
    transform: translateY(-2px);
}

.profile-info-card span {
    display: block;

    margin-bottom: 5px;

    color: var(--muted);

    font-size: 12px;
}

.profile-info-card strong {
    display: block;

    color: var(--navy);

    font-size: 15px;

    line-height: 1.5;
}


/* =====================================================
   SEJARAH
===================================================== */

.history-list {
    max-width: 900px;

    margin: auto;

    display: flex;

    flex-direction: column;

    gap: 14px;
}

.history-card {
    display: grid;

    grid-template-columns: 130px 1fr;

    gap: 22px;

    align-items: start;

    padding: 20px;

    background: #fff;

    border: 1px solid #e3eaf3;

    border-radius: 17px;

    box-shadow: 0 6px 22px rgba(16,42,67,.05);
}

.history-date {
    min-height: 52px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: 9px;

    border-radius: 11px;

    background: #eaf2ff;

    color: var(--blue);

    font-size: 12px;

    font-weight: 800;

    line-height: 1.25;

    text-align: center;
}

.history-text h3 {
    color: var(--navy);

    font-size: 19px;

    margin: 1px 0 7px;
}

.history-text p {
    color: var(--muted);

    font-size: 14px;

    line-height: 1.75;

    margin: 0 0 8px;
}

.history-text p:last-child {
    margin-bottom: 0;
}


/* =====================================================
   VISI
===================================================== */

.vision-card-new {
    max-width: 900px;

    margin: auto;

    display: flex;

    align-items: center;

    gap: 20px;

    padding: 25px;

    border-radius: 19px;

    background: linear-gradient(
        135deg,
        var(--navy),
        #0e5cc7
    );

    color: #fff;

    box-shadow: 0 12px 30px rgba(6,38,87,.14);
}

.vision-symbol {
    width: 55px;
    height: 55px;

    flex-shrink: 0;

    display: grid;

    place-items: center;

    border-radius: 14px;

    background: rgba(255,255,255,.13);

    font-size: 25px;
}

.vision-card-new span {
    display: block;

    color: #ffd66b;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.4px;

    margin-bottom: 6px;
}

.vision-card-new h3 {
    margin: 0;

    font-size: 20px;

    line-height: 1.5;
}


/* =====================================================
   MISI
===================================================== */

.mission-header {
    text-align: center;

    margin: 30px 0 18px;
}

.mission-header span {
    color: var(--blue);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.4px;
}

.mission-header h3 {
    color: var(--navy);

    margin: 4px 0 0;

    font-size: 21px;
}

.mission-grid-new {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 14px;
}

.mission-card-new {
    padding: 21px;

    border-radius: 16px;

    background: #fff;

    border: 1px solid #e4ebf4;

    box-shadow: 0 6px 20px rgba(16,42,67,.045);
}

.mission-card-new b {
    display: inline-grid;

    place-items: center;

    width: 34px;
    height: 34px;

    margin-bottom: 13px;

    border-radius: 9px;

    background: #eaf2ff;

    color: var(--blue);

    font-size: 11px;
}

.mission-card-new h3 {
    color: var(--navy);

    font-size: 16px;

    margin: 0 0 7px;
}

.mission-card-new p {
    color: var(--muted);

    font-size: 13px;

    line-height: 1.65;

    margin: 0;
}


/* =====================================================
   LAMBANG - LOGO FEATURE
===================================================== */

.emblem-feature {
    max-width: 900px;

    margin: 0 auto 30px;

    display: grid;

    grid-template-columns: 260px 1fr;

    align-items: center;

    gap: 40px;

    padding: 28px;

    background: #fff;

    border: 1px solid #e3eaf3;

    border-radius: 20px;

    box-shadow: 0 8px 28px rgba(16,42,67,.06);
}

.emblem-image {
    display: flex;

    justify-content: center;

    align-items: center;
}

.emblem-image img {
    width: 210px;
    height: 210px;

    object-fit: contain;

    filter: drop-shadow(0 10px 18px rgba(0,0,0,.12));
}

.emblem-intro-text > span {
    color: var(--blue);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.4px;
}

.emblem-intro-text h3 {
    color: var(--navy);

    font-size: 28px;

    margin: 7px 0 12px;
}

.emblem-intro-text p {
    color: var(--muted);

    font-size: 14px;

    line-height: 1.75;

    margin: 0 0 9px;
}


/* =====================================================
   SUBTITLE
===================================================== */

.symbol-title {
    max-width: 900px;

    margin: 25px auto 13px;

    display: flex;

    align-items: center;

    gap: 13px;
}

.symbol-title > span {
    width: 38px;
    height: 38px;

    flex-shrink: 0;

    display: grid;

    place-items: center;

    border-radius: 10px;

    background: var(--navy);

    color: #fff;

    font-size: 11px;

    font-weight: 800;
}

.symbol-title h3 {
    color: var(--navy);

    font-size: 20px;

    margin: 0 0 2px;
}

.symbol-title p {
    color: var(--muted);

    font-size: 12px;

    margin: 0;
}


/* =====================================================
   BENTUK LAMBANG
===================================================== */

.symbol-main-card {
    max-width: 900px;

    margin: auto;

    padding: 21px 23px;

    background: #fff;

    border: 1px solid #e3eaf3;

    border-radius: 16px;
}

.symbol-main-card h3 {
    color: var(--navy);

    font-size: 17px;

    margin: 0 0 7px;
}

.symbol-main-card p {
    color: var(--muted);

    font-size: 14px;

    line-height: 1.75;

    margin: 0;
}


/* =====================================================
   SIMBOL
===================================================== */

.symbol-grid-new {
    max-width: 900px;

    margin: auto;

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 13px;
}

.symbol-card-new {
    padding: 19px;

    background: #fff;

    border: 1px solid #e3eaf3;

    border-radius: 15px;

    transition: .2s ease;
}

.symbol-card-new:hover {
    transform: translateY(-2px);

    box-shadow: 0 9px 24px rgba(16,42,67,.07);
}

.symbol-card-new > div {
    font-size: 25px;

    margin-bottom: 8px;
}

.symbol-card-new h4 {
    color: var(--navy);

    font-size: 16px;

    margin: 0 0 6px;
}

.symbol-card-new p {
    color: var(--muted);

    font-size: 13px;

    line-height: 1.65;

    margin: 0;
}


/* =====================================================
   WARNA
===================================================== */

.color-grid-new {
    max-width: 900px;

    margin: auto;

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 13px;
}

.color-meaning {
    display: flex;

    align-items: center;

    gap: 13px;

    padding: 18px;

    background: #fff;

    border: 1px solid #e3eaf3;

    border-radius: 15px;
}

.color-circle {
    width: 38px;
    height: 38px;

    flex-shrink: 0;

    border-radius: 50%;

    border: 2px solid #dce3ec;
}

.color-circle.white {
    background: #fff;
}

.color-circle.yellow {
    background: #ffd66b;
}

.color-circle.blue {
    background: #1769c2;
}

.color-meaning h4 {
    color: var(--navy);

    font-size: 15px;

    margin: 0 0 3px;
}

.color-meaning p {
    color: var(--muted);

    font-size: 12px;

    line-height: 1.5;

    margin: 0;
}


/* =====================================================
   MAKNA AKHIR
===================================================== */

.meaning-final {
    max-width: 900px;

    margin: 25px auto 0;

    padding: 27px;

    border-radius: 19px;

    background: linear-gradient(
        135deg,
        var(--navy),
        #0e5cc7
    );

    color: #fff;
}

.meaning-final > span {
    color: #ffd66b;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.4px;
}

.meaning-final h3 {
    font-size: 23px;

    margin: 7px 0 13px;
}

.meaning-final p {
    color: #e5efff;

    font-size: 13px;

    line-height: 1.75;

    margin: 0 0 9px;
}

.meaning-final p:last-child {
    margin-bottom: 0;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 850px) {

    .profile-section {
        padding: 40px 0;
    }

    .profile-info-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mission-grid-new {
        grid-template-columns: repeat(2, 1fr);
    }

    .emblem-feature {
        grid-template-columns: 1fr;

        text-align: center;

        gap: 20px;
    }

    .symbol-grid-new {
        grid-template-columns: 1fr;
    }

    .color-grid-new {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 600px) {

    .profile-section {
        padding: 34px 0;
    }

    .profile-section .section-head {
        margin-bottom: 22px;
    }

    .profile-info-grid {
        grid-template-columns: 1fr;
    }

    .history-card {
        grid-template-columns: 1fr;

        gap: 12px;

        padding: 17px;
    }

    .history-date {
        width: fit-content;

        min-width: 80px;
    }

    .vision-card-new {
        align-items: flex-start;

        padding: 20px;
    }

    .vision-card-new h3 {
        font-size: 18px;
    }

    .mission-grid-new {
        grid-template-columns: 1fr;
    }

    .emblem-feature {
        padding: 22px 18px;
    }

    .emblem-image img {
        width: 175px;
        height: 175px;
    }

    .emblem-intro-text h3 {
        font-size: 24px;
    }

    .symbol-title {
        margin-top: 22px;
    }

    .meaning-final {
        padding: 23px 20px;
    }

}

/* =========================================
   HERO PROFIL SEKOLAH
========================================= */

.profile-hero {
    min-height: 430px;
    padding: 0;
    display: flex;
    align-items: center;

    background:
        linear-gradient(
            90deg,
            rgba(4, 31, 68, 0.92) 0%,
            rgba(5, 48, 98, 0.78) 38%,
            rgba(5, 48, 98, 0.30) 72%,
            rgba(5, 48, 98, 0.12) 100%
        ),
        url("../image/ChatGPT Image 22 Agu 2026, 14.53.40.png")
        center center / cover no-repeat;

    color: #fff;
}

.profile-hero-content {
    max-width: 680px;
    padding: 80px 0;
}

.profile-hero-content > span {
    display: inline-block;
    margin-bottom: 14px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    color: #ffd66b;
}

.profile-hero-content h2 {
    margin: 0 0 16px;
    font-size: clamp(38px, 5vw, 58px);
    line-height: 1.08;
    color: #fff;
}

.profile-hero-content p {
    max-width: 600px;
    margin: 0;
    font-size: 18px;
    line-height: 1.7;
    color: #e8f1ff;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 800px) {

    .profile-hero {
        min-height: 400px;

        background:
            linear-gradient(
                90deg,
                rgba(4, 31, 68, 0.90),
                rgba(5, 48, 98, 0.55)
            ),
            url("../image/ChatGPT Image 22 Agu 2026, 14.53.40.png")
            center center / cover no-repeat;
    }

    .profile-hero-content {
        padding: 65px 20px;
    }

    .profile-hero-content h2 {
        font-size: 38px;
    }

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

/* =========================================
   AKADEMIK
========================================= */

/* =========================================
   HERO AKADEMIK
========================================= */

.akademik-hero {
    min-height: 430px;
    display: flex;
    align-items: center;
    color: #fff;

    background:
        linear-gradient(
            90deg,
            rgba(5, 29, 63, 0.92) 0%,
            rgba(5, 29, 63, 0.72) 45%,
            rgba(5, 29, 63, 0.25) 100%
        ),
        url("../image/ChatGPT Image 22 Agu 2026, 15.28.47.png")
        center center / cover no-repeat;
}


/* ISI HERO */

.akademik-hero .container {
    padding-top: 30px;
    padding-bottom: 30px;
}

.akademik-hero span {
    display: inline-block;

    margin-bottom: 14px;
    padding: 7px 14px;

    border: 1px solid rgba(255,255,255,.35);
    border-radius: 50px;

    background: rgba(255,255,255,.12);

    color: #ffd66b;

    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.akademik-hero h2 {
    margin: 0 0 14px;

    font-size: clamp(42px, 6vw, 64px);
    line-height: 1.05;

    color: #fff;
}

.akademik-hero p {
    max-width: 650px;

    margin: 0;

    color: #edf5ff;

    font-size: 17px;
    line-height: 1.7;
}


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

    .akademik-hero {
        min-height: 380px;

        background:
            linear-gradient(
                90deg,
                rgba(5, 29, 63, 0.9),
                rgba(5, 29, 63, 0.55)
            ),
            url("../image/ChatGPT Image 22 Agu 2026, 15.28.47.png")
            center center / cover no-repeat;
    }

    .akademik-hero h2 {
        font-size: 42px;
    }

    .akademik-hero p {
        font-size: 15px;
    }
}

/* SECTION */

.akademik-section {
    padding: 58px 0;
}

.akademik-section + .akademik-section {
    padding-top: 42px;
}


/* SECTION HEAD */

.akademik-section .section-head {
    margin-bottom: 30px;
}

.akademik-section .section-head > span {
    display: inline-block;
    margin-bottom: 7px;
    color: var(--blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.akademik-section .section-head h2 {
    margin-bottom: 7px;
}

.akademik-section .section-head p {
    margin: 0 auto;
    max-width: 650px;
}


/* =========================================
   STATISTIK
========================================= */

.academic-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.academic-stat {
    background: #fff;
    border: 1px solid #e6edf6;
    border-radius: 18px;
    padding: 24px 18px;
    text-align: center;
    box-shadow: 0 8px 28px rgba(16,42,67,.07);
    transition: .25s ease;
}

.academic-stat:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 35px rgba(16,42,67,.11);
}

.academic-stat-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 12px;
    border-radius: 15px;
    background: #eaf2ff;
    display: grid;
    place-items: center;
    font-size: 24px;
}

.academic-stat strong {
    display: block;
    font-size: 32px;
    color: var(--navy);
    line-height: 1.1;
}

.academic-stat span {
    display: block;
    margin-top: 5px;
    font-weight: 700;
    color: var(--navy);
}

.academic-stat small {
    display: block;
    margin-top: 7px;
    color: var(--muted);
    font-size: 12px;
}


/* =========================================
   CARD AKADEMIK
========================================= */

.academic-card {
    min-height: 205px;
    transition: .25s ease;
}

.academic-card:hover {
    transform: translateY(-4px);
}


/* =========================================
   DATA SISWA
========================================= */

.student-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.student-card {
    padding: 25px 20px;
    background: #fff;
    border: 1px solid #e5ebf4;
    border-radius: 18px;
    text-align: center;
    box-shadow: 0 8px 28px rgba(16,42,67,.06);
}

.student-card span {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1px;
    color: var(--blue);
}

.student-card strong {
    display: block;
    margin: 8px 0 4px;
    color: var(--navy);
    font-size: 38px;
}

.student-card small {
    color: var(--muted);
}

.student-card.total {
    background: var(--navy);
}

.student-card.total span,
.student-card.total strong {
    color: #fff;
}

.student-card.total small {
    color: #dbeafe;
}


/* =========================================
   DOKUMEN AKADEMIK
========================================= */

.academic-documents {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

.academic-document {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    background: #fff;
    border: 1px solid #e5ebf4;
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 8px 28px rgba(16,42,67,.07);
}

.document-icon {
    width: 58px;
    height: 58px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: #eaf2ff;
    font-size: 26px;
}

.document-content > span {
    display: block;
    margin-bottom: 6px;
    color: var(--blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1px;
}

.document-content h3 {
    margin: 0 0 8px;
    color: var(--navy);
    font-size: 21px;
}

.document-content p {
    margin: 0 0 17px;
    color: var(--muted);
    line-height: 1.65;
    font-size: 14px;
}

.document-button {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 15px;
    border-radius: 9px;
    background: var(--navy);
    color: #fff !important;
    font-size: 13px;
    font-weight: 700;
    transition: .2s ease;
}

.document-button:hover {
    background: var(--blue);
    transform: translateY(-2px);
}


/* =========================================
   DAFTAR GURU
========================================= */

.teacher-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.teacher-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 17px;
    background: #fff;
    border: 1px solid #e6edf5;
    border-radius: 13px;
    transition: .2s ease;
}

.teacher-card:hover {
    border-color: #cddcf0;
    transform: translateY(-2px);
}

.teacher-card > span {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    display: grid;
    place-items: center;
    border-radius: 9px;
    background: #eaf2ff;
    color: var(--blue);
    font-size: 10px;
    font-weight: 800;
}

.teacher-card h3 {
    margin: 0;
    color: var(--navy);
    font-size: 14px;
    line-height: 1.4;
}


/* =========================================
   GURU BK
========================================= */

.bk-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.bk-card {
    background: #fff;
    border: 1px solid #e5ebf4;
    border-radius: 17px;
    padding: 23px;
    text-align: center;
    box-shadow: 0 8px 25px rgba(16,42,67,.06);
}

.bk-card > strong {
    width: 48px;
    height: 48px;
    margin: 0 auto 12px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: #eaf2ff;
    color: var(--blue);
    font-size: 14px;
}

.bk-card h3 {
    margin: 0 0 6px;
    color: var(--navy);
    font-size: 15px;
}

.bk-card span {
    color: var(--muted);
    font-size: 12px;
}


/* =========================================
   MATA PELAJARAN
========================================= */

.subject-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 13px;
}

.subject-grid div {
    padding: 17px;
    background: #fff;
    border: 1px solid #e5ebf4;
    border-radius: 13px;
    color: var(--navy);
    font-size: 14px;
}

.subject-grid strong {
    margin-left: 5px;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 900px) {

    .academic-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .student-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .academic-documents {
        grid-template-columns: 1fr;
    }

    .teacher-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bk-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .subject-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 600px) {

    .akademik-section {
        padding: 42px 0;
    }

    .akademik-section + .akademik-section {
        padding-top: 28px;
    }

    .academic-stats {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .academic-stat {
        padding: 19px 10px;
    }

    .academic-stat strong {
        font-size: 28px;
    }

    .academic-stat small {
        font-size: 10px;
    }

    .student-grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .student-card {
        padding: 20px 12px;
    }

    .student-card strong {
        font-size: 32px;
    }

    .academic-document {
        padding: 19px;
        gap: 14px;
    }

    .document-icon {
        width: 48px;
        height: 48px;
        font-size: 21px;
    }

    .teacher-grid {
        grid-template-columns: 1fr;
    }

    .bk-grid {
        grid-template-columns: 1fr;
    }

    .subject-grid {
        grid-template-columns: 1fr;
    }

    .akademik-hero {
        padding: 45px 0;
    }

    .akademik-hero h2 {
        font-size: 38px;
    }
}

/* =========================================
   AKADEMIK - FINAL REFINEMENT
   ========================================= */

/* HERO */
.akademik-hero {
    padding: 48px 0;
}

.akademik-hero h2 {
    margin: 5px 0 8px;
    font-size: clamp(34px, 5vw, 48px);
}

.akademik-hero p {
    max-width: 680px;
    margin: 0;
    line-height: 1.6;
}


/* =========================================
   JARAK SECTION
   ========================================= */

.akademik-section {
    padding: 42px 0;
}

.akademik-section + .akademik-section {
    padding-top: 20px;
}


/* SECTION DENGAN BACKGROUND ALTERNATING */
.akademik-section.alt {
    background: #f6f8fc;
}


/* =========================================
   JUDUL SECTION
   ========================================= */

.akademik-section .section-head {
    margin-bottom: 24px;
}

.akademik-section .section-head > span {
    display: inline-block;
    margin-bottom: 5px;
    color: var(--blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

.akademik-section .section-head h2 {
    margin: 0 0 6px;
    font-size: 29px;
    line-height: 1.2;
}

.akademik-section .section-head p {
    margin: 0 auto;
    max-width: 650px;
    line-height: 1.6;
}


/* =========================================
   DATA SEKOLAH
   ========================================= */

.academic-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.academic-stat {
    padding: 20px 15px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #e7edf5;
    box-shadow: 0 6px 22px rgba(16,42,67,.055);
    text-align: center;
    transition: .2s ease;
}

.academic-stat:hover {
    transform: translateY(-3px);
}

.academic-stat-icon {
    width: 45px;
    height: 45px;
    margin: 0 auto 9px;
    border-radius: 13px;
    background: #eaf2ff;
    display: grid;
    place-items: center;
    font-size: 21px;
}

.academic-stat strong {
    display: block;
    font-size: 29px;
    line-height: 1;
    color: var(--navy);
}

.academic-stat span {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    font-weight: 700;
    color: var(--navy);
}

.academic-stat small {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: 11px;
}


/* =========================================
   KARTU KURIKULUM
   ========================================= */

.academic-section .grid {
    gap: 16px;
}

.academic-card {
    min-height: 0;
    padding: 21px;
    border-radius: 16px;
}

.academic-card .icon {
    width: 46px;
    height: 46px;
    font-size: 21px;
}

.academic-card h3 {
    font-size: 18px;
    margin: 9px 0 6px;
}

.academic-card p {
    line-height: 1.6;
    margin: 0;
}


/* =========================================
   DATA SISWA
   ========================================= */

.student-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.student-card {
    padding: 20px 15px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid #e7edf5;
    box-shadow: 0 6px 22px rgba(16,42,67,.055);
    text-align: center;
}

.student-card span {
    font-size: 11px;
    letter-spacing: 1px;
    font-weight: 800;
    color: var(--blue);
}

.student-card strong {
    display: block;
    margin: 6px 0 2px;
    font-size: 34px;
    color: var(--navy);
}

.student-card small {
    color: var(--muted);
    font-size: 12px;
}

.student-card.total {
    background: var(--navy);
}

.student-card.total span,
.student-card.total strong {
    color: #fff;
}

.student-card.total small {
    color: #dbeafe;
}


/* =========================================
   DOKUMEN
   ========================================= */

.academic-documents {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.academic-document {
    padding: 21px;
    gap: 15px;
    border-radius: 17px;
    background: #fff;
    border: 1px solid #e7edf5;
    box-shadow: 0 6px 22px rgba(16,42,67,.055);
}

.document-icon {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    font-size: 22px;
}

.document-content > span {
    font-size: 10px;
    letter-spacing: 1px;
}

.document-content h3 {
    margin: 4px 0 6px;
    font-size: 19px;
}

.document-content p {
    margin-bottom: 13px;
    font-size: 13px;
    line-height: 1.55;
}

.document-button {
    padding: 9px 14px;
    font-size: 12px;
}


/* =========================================
   DAFTAR GURU
   ========================================= */

.teacher-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
}

.teacher-card {
    padding: 12px 14px;
    gap: 10px;
    border-radius: 11px;
    box-shadow: none;
}

.teacher-card > span {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    font-size: 9px;
}

.teacher-card h3 {
    font-size: 13px;
}


/* =========================================
   GURU BK
   ========================================= */

.bk-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.bk-card {
    padding: 20px 15px;
    border-radius: 16px;
}

.bk-card > strong {
    width: 44px;
    height: 44px;
    margin-bottom: 9px;
}

.bk-card h3 {
    font-size: 14px;
    margin-bottom: 4px;
}

.bk-card span {
    font-size: 11px;
}


/* =========================================
   MATA PELAJARAN
   ========================================= */

.subject-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

.subject-grid div {
    padding: 14px;
    border-radius: 11px;
    font-size: 13px;
}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 900px) {

    .akademik-section {
        padding: 38px 0;
    }

    .academic-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .student-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .academic-documents {
        grid-template-columns: 1fr;
    }

    .teacher-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bk-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .subject-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 600px) {

    .akademik-hero {
        padding: 40px 0;
    }

    .akademik-section {
        padding: 32px 0;
    }

    .akademik-section + .akademik-section {
        padding-top: 18px;
    }

    .akademik-section .section-head {
        margin-bottom: 20px;
    }

    .akademik-section .section-head h2 {
        font-size: 25px;
    }

    .academic-stats {
        gap: 10px;
    }

    .academic-stat {
        padding: 17px 8px;
    }

    .academic-stat strong {
        font-size: 26px;
    }

    .academic-stat span {
        font-size: 12px;
    }

    .academic-stat small {
        font-size: 9px;
    }

    .student-grid {
        gap: 10px;
    }

    .student-card {
        padding: 17px 10px;
    }

    .student-card strong {
        font-size: 30px;
    }

    .teacher-grid {
        grid-template-columns: 1fr;
    }

    .bk-grid {
        grid-template-columns: 1fr 1fr;
    }

    .subject-grid {
        grid-template-columns: 1fr 1fr;
    }

    .academic-document {
        padding: 17px;
    }

    .document-icon {
        width: 44px;
        height: 44px;
    }
}

/* =========================================================
   KONTAK SEKOLAH
========================================================= */


/* =========================================================
   HERO KONTAK
========================================================= */

.kontak-hero {
    background:
        linear-gradient(
            120deg,
            rgba(6, 38, 87, 0.94),
            rgba(13, 110, 253, 0.78)
        ),
        url("../image/ChatGPT Image 22 Agu 2026, 15.28.47.png")
        center / cover;

    min-height: 320px;

    display: flex;

    align-items: center;

    color: #fff;
}

.kontak-hero span {
    display: inline-block;

    margin-bottom: 10px;

    color: #ffd66b;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1.5px;
}

.kontak-hero h2 {
    margin: 0 0 10px;

    color: #fff;

    font-size: clamp(38px, 5vw, 58px);

    line-height: 1.1;
}

.kontak-hero p {
    max-width: 680px;

    margin: 0;

    color: #e8f1ff;

    font-size: 16px;

    line-height: 1.7;
}


/* =========================================================
   KONTAK SECTION
========================================================= */

.kontak-section {
    padding: 55px 0 35px;
}


/* =========================================================
   JUDUL SECTION
========================================================= */

.kontak-section .section-head {
    margin-bottom: 32px;

    text-align: center;
}

.kontak-section .section-head > span {
    display: inline-block;

    margin-bottom: 7px;

    color: var(--blue);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.5px;
}

.kontak-section .section-head h2 {
    margin: 0 0 8px;

    color: var(--navy);

    font-size: 32px;

    line-height: 1.25;
}

.kontak-section .section-head p {
    max-width: 650px;

    margin: 0 auto;

    color: var(--muted);

    font-size: 14px;

    line-height: 1.7;
}


/* =========================================================
   CONTACT GRID
========================================================= */

.contact-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 18px;
}


/* =========================================================
   CONTACT CARD
========================================================= */

.contact-card {
    display: flex;

    align-items: flex-start;

    gap: 17px;

    padding: 23px;

    background: #fff;

    border: 1px solid #e7edf5;

    border-radius: 17px;

    box-shadow:
        0 8px 25px rgba(16, 42, 67, 0.06);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.contact-card:hover {
    transform: translateY(-4px);

    border-color: #d7e5f7;

    box-shadow:
        0 14px 32px rgba(16, 42, 67, 0.11);
}


/* =========================================================
   CONTACT ICON
========================================================= */

.contact-icon {
    width: 50px;

    height: 50px;

    flex-shrink: 0;

    display: grid;

    place-items: center;

    border-radius: 14px;

    background: #eaf2ff;

    color: var(--blue);

    font-size: 22px;
}


/* =========================================================
   CONTACT TEXT
========================================================= */

.contact-card h3 {
    margin: 2px 0 7px;

    color: var(--navy);

    font-size: 18px;

    line-height: 1.3;
}

.contact-card p {
    margin: 0;

    color: var(--muted);

    font-size: 14px;

    line-height: 1.65;

    word-break: break-word;
}

.contact-card a {
    color: var(--blue);

    font-weight: 600;

    text-decoration: none;

    transition: .2s ease;
}

.contact-card a:hover {
    color: var(--navy);

    text-decoration: underline;
}


/* =========================================================
   MEDIA SOSIAL
========================================================= */

.contact-social {
    margin-top: 25px;

    padding: 30px;

    border-radius: 19px;

    background:
        linear-gradient(
            135deg,
            #f5f8fd,
            #edf4ff
        );

    border: 1px solid #e1eaf6;

    text-align: center;
}

.contact-social > span {
    display: inline-block;

    margin-bottom: 7px;

    color: var(--blue);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.5px;
}

.contact-social h3 {
    margin: 0 0 7px;

    color: var(--navy);

    font-size: 23px;

    line-height: 1.3;
}

.contact-social p {
    max-width: 620px;

    margin: 0 auto 20px;

    color: var(--muted);

    font-size: 14px;

    line-height: 1.65;
}


/* =========================================================
   SOCIAL BUTTONS
========================================================= */

.social-buttons {
    display: flex;

    justify-content: center;

    align-items: center;

    flex-wrap: wrap;

    gap: 10px;
}

.social-btn {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    min-height: 42px;

    padding: 10px 17px;

    border-radius: 10px;

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;

    transition:
        transform .2s ease,
        background .2s ease;
}

.social-btn:hover {
    transform: translateY(-2px);
}


/* INSTAGRAM */

.social-btn.instagram {
    background: #fff;

    color: #9b3b73;

    border: 1px solid #ead9e4;
}

.social-btn.instagram:hover {
    background: #fff7fc;
}


/* FACEBOOK */

.social-btn.facebook {
    background: #fff;

    color: #2563a8;

    border: 1px solid #d8e4f2;
}

.social-btn.facebook:hover {
    background: #f5f9ff;
}


/* YOUTUBE */

.social-btn.youtube {
    background: #fff;

    color: #c62828;

    border: 1px solid #eadada;
}

.social-btn.youtube:hover {
    background: #fff6f6;
}


/* EMAIL */

.social-btn.email {
    background: var(--navy);

    color: #fff;

    border: 1px solid var(--navy);
}

.social-btn.email:hover {
    background: var(--blue);
}


/* =========================================================
   GOOGLE MAPS PREVIEW
========================================================= */

.map-preview {
    margin-top: 25px;

    min-height: 230px;

    padding: 35px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    border-radius: 20px;

    background:
        linear-gradient(
            135deg,
            #edf5ff,
            #f8fbff
        );

    border: 1px solid #dce8f5;

    overflow: hidden;
}


/* MAP CONTENT */

.map-preview-content {
    max-width: 650px;
}

.map-preview-content span {
    display: inline-block;

    margin-bottom: 5px;

    color: var(--blue);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.5px;
}

.map-preview-content h2 {
    margin: 7px 0 8px;

    color: var(--navy);

    font-size: 28px;

    line-height: 1.3;
}

.map-preview-content p {
    margin: 0 0 18px;

    color: var(--muted);

    font-size: 14px;

    line-height: 1.65;
}


/* MAP ICON */

.map-preview-icon {
    width: 130px;

    height: 130px;

    flex-shrink: 0;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #dcecff,
            #ffffff
        );

    color: var(--blue);

    font-size: 58px;

    text-decoration: none;

    box-shadow:
        0 12px 30px rgba(13, 110, 253, 0.12);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.map-preview-icon:hover {
    transform: scale(1.05);

    box-shadow:
        0 15px 35px rgba(13, 110, 253, 0.18);
}


/* =========================================================
   MOBILE / TABLET
========================================================= */

@media (max-width: 800px) {

    .kontak-hero {
        min-height: 290px;
    }

    .kontak-section {
        padding: 45px 0 30px;
    }

    .contact-grid {
        grid-template-columns: 1fr;
    }

    .contact-social {
        padding: 25px 20px;
    }

    .map-preview {
        padding: 28px;

        gap: 22px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .kontak-hero {
        min-height: 270px;
    }

    .kontak-hero h2 {
        font-size: 38px;
    }

    .kontak-hero p {
        font-size: 14px;
    }

    .kontak-section {
        padding: 40px 0 25px;
    }

    .kontak-section .section-head {
        margin-bottom: 25px;
    }

    .kontak-section .section-head h2 {
        font-size: 27px;
    }

    .contact-card {
        padding: 19px;

        gap: 14px;
    }

    .contact-icon {
        width: 46px;

        height: 46px;

        font-size: 20px;
    }

    .contact-card h3 {
        font-size: 17px;
    }

    .contact-card p {
        font-size: 13px;
    }

    .contact-social {
        padding: 24px 17px;
    }

    .contact-social h3 {
        font-size: 21px;
    }

    .social-buttons {
        flex-direction: column;

        width: 100%;
    }

    .social-btn {
        width: 100%;
    }

    .map-preview {
        flex-direction: column;

        align-items: flex-start;

        padding: 25px;

        min-height: auto;
    }

    .map-preview-content h2 {
        font-size: 24px;
    }

    .map-preview-icon {
        width: 80px;

        height: 80px;

        font-size: 38px;
    }

}


/* =========================================================
   SMALL PHONE
========================================================= */

@media (max-width: 380px) {

    .kontak-hero h2 {
        font-size: 34px;
    }

    .contact-card {
        padding: 17px;
    }

    .contact-icon {
        width: 42px;

        height: 42px;

        font-size: 18px;
    }

    .map-preview {
        padding: 22px;
    }

}

/* =========================================================
   FINAL HERO STYLE
   PROFIL • AKADEMIK • PELAYANAN • SPMB • KONTAK
   SEMUA DIBUAT SAMA
========================================================= */


/* =========================================================
   HERO UTAMA
========================================================= */

.profile-hero,
.akademik-hero,
.pelayanan-hero,
.spmb-hero,
.kontak-hero {

    min-height: 320px;

    padding: 0;

    display: flex;

    align-items: center;

    color: #ffffff;

    position: relative;

    overflow: hidden;
}


/* =========================================================
   BACKGROUND PROFIL
========================================================= */

.profile-hero {

    background:
        linear-gradient(
            120deg,
            rgba(6, 38, 87, 0.94),
            rgba(13, 110, 253, 0.78)
        ),
        url("../image/ChatGPT Image 22 Agu 2026, 14.53.40.png")
        center / cover no-repeat;
}


/* =========================================================
   BACKGROUND AKADEMIK
========================================================= */

.akademik-hero {

    background:
        linear-gradient(
            120deg,
            rgba(6, 38, 87, 0.94),
            rgba(13, 110, 253, 0.78)
        ),
        url("../image/ChatGPT Image 22 Agu 2026, 15.28.47.png")
        center / cover no-repeat;
}


/* =========================================================
   BACKGROUND PELAYANAN PUBLIK
========================================================= */

.pelayanan-hero {

    background:
        linear-gradient(
            120deg,
            rgba(6, 38, 87, 0.94),
            rgba(13, 110, 253, 0.78)
        ),
        url("../image/ChatGPT Image 22 Agu 2026, 14.53.40.png")
        center / cover no-repeat;
}


/* =========================================================
   BACKGROUND SPMB
========================================================= */

.spmb-hero {

    background:
        linear-gradient(
            120deg,
            rgba(6, 38, 87, 0.94),
            rgba(13, 110, 253, 0.78)
        ),
        url("../image/ChatGPT Image 22 Agu 2026, 15.28.47.png")
        center / cover no-repeat;
}


/* =========================================================
   BACKGROUND KONTAK
========================================================= */

.kontak-hero {

    background:
        linear-gradient(
            120deg,
            rgba(6, 38, 87, 0.94),
            rgba(13, 110, 253, 0.78)
        ),
        url("../image/ChatGPT Image 22 Agu 2026, 15.28.47.png")
        center / cover no-repeat;
}


/* =========================================================
   CONTAINER HERO
========================================================= */

.profile-hero .container,
.akademik-hero .container,
.pelayanan-hero .container,
.spmb-hero .container,
.kontak-hero .container {

    padding-top: 55px;

    padding-bottom: 55px;
}


/* =========================================================
   PROFILE HERO CONTENT
========================================================= */

.profile-hero-content {

    max-width: 720px;
}


/* =========================================================
   LABEL / SMALL TITLE
========================================================= */

.profile-hero-content span,
.akademik-hero span,
.pelayanan-hero span,
.spmb-hero span,
.kontak-hero span {

    display: inline-block;

    margin-bottom: 10px;

    color: #ffd66b;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 1.5px;

    line-height: 1.3;
}


/* =========================================================
   HERO TITLE
========================================================= */

.profile-hero-content h2,
.akademik-hero h2,
.pelayanan-hero h2,
.spmb-hero h2,
.kontak-hero h2 {

    margin: 0 0 10px;

    color: #ffffff;

    font-size: clamp(38px, 5vw, 58px);

    font-weight: 800;

    line-height: 1.1;
}


/* =========================================================
   HERO DESCRIPTION
========================================================= */

.profile-hero-content p,
.akademik-hero p,
.pelayanan-hero p,
.spmb-hero p,
.kontak-hero p {

    max-width: 680px;

    margin: 0;

    color: #e8f1ff;

    font-size: 16px;

    line-height: 1.7;
}


/* =========================================================
   MOBILE / TABLET
========================================================= */

@media (max-width: 800px) {

    .profile-hero,
    .akademik-hero,
    .pelayanan-hero,
    .spmb-hero,
    .kontak-hero {

        min-height: 290px;
    }


    .profile-hero .container,
    .akademik-hero .container,
    .pelayanan-hero .container,
    .spmb-hero .container,
    .kontak-hero .container {

        padding-top: 45px;

        padding-bottom: 45px;
    }


    .profile-hero-content h2,
    .akademik-hero h2,
    .pelayanan-hero h2,
    .spmb-hero h2,
    .kontak-hero h2 {

        font-size: 42px;
    }


    .profile-hero-content p,
    .akademik-hero p,
    .pelayanan-hero p,
    .spmb-hero p,
    .kontak-hero p {

        font-size: 15px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .profile-hero,
    .akademik-hero,
    .pelayanan-hero,
    .spmb-hero,
    .kontak-hero {

        min-height: 270px;
    }


    .profile-hero .container,
    .akademik-hero .container,
    .pelayanan-hero .container,
    .spmb-hero .container,
    .kontak-hero .container {

        padding-top: 40px;

        padding-bottom: 40px;
    }


    .profile-hero-content h2,
    .akademik-hero h2,
    .pelayanan-hero h2,
    .spmb-hero h2,
    .kontak-hero h2 {

        font-size: 38px;
    }


    .profile-hero-content p,
    .akademik-hero p,
    .pelayanan-hero p,
    .spmb-hero p,
    .kontak-hero p {

        font-size: 14px;

        line-height: 1.6;
    }

}


/* =========================================================
   HP KECIL
========================================================= */

@media (max-width: 380px) {

    .profile-hero-content h2,
    .akademik-hero h2,
    .pelayanan-hero h2,
    .spmb-hero h2,
    .kontak-hero h2 {

        font-size: 34px;
    }

}
@media(max-width:900px){.nav-links{display:none;position:absolute;left:0;right:0;top:76px;background:#fff;padding:12px 4%;box-shadow:0 10px 20px #0001;flex-direction:column;align-items:stretch}.nav-links.show{display:flex}.menu-btn{display:block}.grid-4,.stats{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar .container{flex-direction:column;gap:2px}.grid-3,.grid-4,.stats,.info-grid{grid-template-columns:1fr}.hero{min-height:500px}.hero p{font-size:16px}.btn{display:block;text-align:center;margin:8px 0}.btn-outline{margin-left:0}.section{padding:55px 0}.page-hero h2{font-size:34px}.footer-grid{grid-template-columns:1fr}.brand h1{font-size:14px}}
