/* =========================================================
   BASIC
========================================================= */

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    color: #222222;
    background: #ffffff;
}

a {
    color: inherit;
    text-decoration: none;
}

.profil-container {
    width: 100%;
    max-width: 1180px;

    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}


/* =========================================================
   HEADER SEMENTARA
========================================================= */

.demo-header {
    position: relative;
    z-index: 10;

    background: #ffffff;

    border-bottom: 1px solid #eeeeee;
}

.demo-navbar {
    width: 100%;
    max-width: 1180px;

    min-height: 82px;

    margin: 0 auto;
    padding: 0 24px;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.demo-brand {
    font-size: 21px;
    font-weight: 700;

    color: #202020;
}

.demo-menu {
    display: flex;
    align-items: center;

    gap: 28px;
}

.demo-menu a {
    position: relative;

    padding: 31px 0;

    font-size: 14px;
    font-weight: 600;

    color: #333333;
}

.demo-menu a:hover,
.demo-menu a.active {
    color: #e5a000;
}

.demo-menu a.active::after {
    content: "";

    position: absolute;

    bottom: 20px;
    left: 0;

    width: 100%;
    height: 2px;

    background: #e5a000;
}


/* =========================================================
   HERO
========================================================= */

.profil-hero {
    position: relative;

    padding: 72px 0 85px;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #fffaf0 100%
        );
}

.profil-hero::before {
    content: "";

    position: absolute;

    width: 430px;
    height: 430px;

    right: -180px;
    top: -180px;

    border-radius: 50%;

    background: rgba(229, 160, 0, 0.08);
}

.breadcrumb {
    margin-bottom: 42px;

    font-size: 13px;
    font-weight: 600;

    color: #7b7b7b;
}

.breadcrumb span {
    margin: 0 10px;

    color: #bbbbbb;
}

.hero-content {
    position: relative;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 0.95fr);

    gap: 65px;

    align-items: center;
}

.hero-label,
.section-label {
    display: inline-block;

    margin-bottom: 18px;

    font-size: 12px;
    line-height: 1;

    font-weight: 700;
    letter-spacing: 2px;

    color: #d69300;
}

.hero-text h1 {
    max-width: 620px;

    margin: 0 0 22px;

    font-size: 48px;
    line-height: 1.12;

    letter-spacing: -1.5px;

    color: #202020;
}

.hero-text h1 span {
    display: block;

    color: #d99600;
}

.hero-text p {
    max-width: 610px;

    margin: 0 0 32px;

    font-size: 17px;
    line-height: 1.8;

    color: #656565;
}

.hero-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 48px;

    padding: 0 24px;

    border-radius: 5px;

    background: #e3a000;

    color: #ffffff;

    font-size: 14px;
    font-weight: 700;

    transition:
        transform 0.2s ease,
        background 0.2s ease;
}

.hero-button:hover {
    transform: translateY(-2px);

    background: #c98c00;
}


/* =========================================================
   HERO IMAGE
========================================================= */

.hero-image {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 24px;
}

.hero-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* =========================================================
   IDENTITY
========================================================= */

.identity-section {
    position: relative;

    margin-top: -25px;

    z-index: 3;
}

.identity-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    background: #ffffff;

    border-radius: 9px;

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.08);

    overflow: hidden;
}

.identity-item {
    padding: 27px 22px;

    text-align: center;

    border-right: 1px solid #eeeeee;
}

.identity-item:last-child {
    border-right: 0;
}

.identity-number {
    display: block;

    margin-bottom: 6px;

    font-size: 19px;
    font-weight: 700;

    color: #222222;
}

.identity-label {
    display: block;

    font-size: 13px;

    color: #777777;
}


/* =========================================================
   PROFILE MENU
========================================================= */

.profil-menu-section {
    padding: 100px 0 70px;
}

.section-heading {
    max-width: 650px;

    margin: 0 auto 48px;

    text-align: center;
}

.section-heading h2 {
    margin: 0 0 14px;

    font-size: 36px;
    line-height: 1.2;

    color: #222222;
}

.section-heading p {
    margin: 0;

    font-size: 15px;
    line-height: 1.7;

    color: #727272;
}


/* =========================================================
   PROFILE CARDS
========================================================= */

.profil-card-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;
}

.profil-card {
    position: relative;

    min-height: 230px;

    padding: 27px;

    display: flex;
    flex-direction: column;

    border: 1px solid #e7e7e7;
    border-radius: 8px;

    background: #ffffff;

    overflow: hidden;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.profil-card:hover {
    transform: translateY(-5px);

    border-color: #e3a000;

    box-shadow:
        0 16px 38px rgba(0, 0, 0, 0.08);
}

.card-number {
    margin-bottom: 25px;

    font-size: 12px;
    font-weight: 700;

    color: #d89a00;
}

.card-content h3 {
    margin: 0 0 11px;

    font-size: 19px;
    line-height: 1.35;

    color: #222222;
}

.card-content p {
    margin: 0 0 19px;

    font-size: 14px;
    line-height: 1.7;

    color: #757575;
}

.card-link {
    display: inline-block;

    margin-top: auto;

    font-size: 13px;
    font-weight: 700;

    color: #d69300;
}


/* =========================================================
   ABOUT
========================================================= */

.about-section {
    padding: 85px 0;

    background: #f7f7f7;
}

.about-wrapper {
    display: grid;

    grid-template-columns:
        0.35fr
        1fr;

    gap: 70px;
}

.about-label {
    padding-top: 8px;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 2px;

    color: #d69300;
}

.about-content {
    max-width: 720px;
}

.about-content h2 {
    margin: 0 0 24px;

    font-size: 34px;
    line-height: 1.3;

    color: #222222;
}

.about-content p {
    margin: 0 0 17px;

    font-size: 15px;
    line-height: 1.85;

    color: #666666;
}


/* =========================================================
   FOOTER SEMENTARA
========================================================= */

.demo-footer {
    background: #050505;

    color: #ffffff;
}

.demo-footer-main {
    width: 100%;
    max-width: 1180px;

    margin: 0 auto;

    padding: 60px 24px;
}

.demo-footer-main h3 {
    margin: 0 0 7px;

    font-size: 22px;

    color: #e0a000;
}

.demo-footer-main p {
    max-width: 520px;

    margin: 7px 0;

    font-size: 14px;
    line-height: 1.6;

    color: #eeeeee;
}

.demo-footer-bottom {
    padding: 14px 20px;

    background: #d92d4f;

    text-align: center;

    font-size: 12px;
}


/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 991px) {

    .demo-menu {
        display: none;
    }

    .profil-hero {
        padding-top: 55px;
    }

    .hero-content {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .hero-text h1 {
        font-size: 42px;
    }

    .hero-image-placeholder {
        min-height: 320px;
    }

    .identity-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .identity-item:nth-child(2) {
        border-right: 0;
    }

    .identity-item:nth-child(1),
    .identity-item:nth-child(2) {
        border-bottom: 1px solid #eeeeee;
    }

    .profil-card-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .about-wrapper {
        grid-template-columns: 1fr;

        gap: 25px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media screen and (max-width: 600px) {

    .profil-container {
        padding-left: 20px;
        padding-right: 20px;
    }

    .demo-navbar {
        min-height: 70px;

        padding-left: 20px;
        padding-right: 20px;
    }

    .demo-brand {
        font-size: 18px;
    }

    .profil-hero {
        padding: 38px 0 70px;
    }

    .breadcrumb {
        margin-bottom: 30px;
    }

    .hero-text h1 {
        font-size: 36px;

        letter-spacing: -1px;
    }

    .hero-text p {
        font-size: 15px;
    }

    .hero-image-placeholder {
        min-height: 250px;
    }

    .identity-grid {
        grid-template-columns: 1fr;
    }

    .identity-item {
        border-right: 0;
        border-bottom: 1px solid #eeeeee;
    }

    .identity-item:last-child {
        border-bottom: 0;
    }

    .profil-menu-section {
        padding: 75px 0;
    }

    .section-heading {
        margin-bottom: 35px;
    }

    .section-heading h2 {
        font-size: 30px;
    }

    .profil-card-grid {
        grid-template-columns: 1fr;
    }

    .profil-card {
        min-height: 210px;
    }

    .about-section {
        padding: 65px 0;
    }

    .about-content h2 {
        font-size: 28px;
    }
}

/* =========================================================
   RAPIAKAN CARD TERAKHIR PADA DESKTOP
========================================================= */

@media screen and (min-width: 992px) {

    .profil-card-grid .profil-card:last-child {
        grid-column: 2;
    }
}

/* =========================================================
   PROFILE SUB PAGE
========================================================= */

.profile-page-header {
    padding: 58px 0 55px;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #fffaf0 100%
        );

    border-bottom: 1px solid #eeeeee;
}

.profile-page-title {
    max-width: 780px;
}

.profile-page-title h1 {
    margin: 0 0 18px;

    font-size: 44px;
    line-height: 1.15;

    letter-spacing: -1px;

    color: #202020;
}

.profile-page-title p {
    max-width: 700px;

    margin: 0;

    font-size: 16px;
    line-height: 1.75;

    color: #686868;
}


/* =========================================================
   SAMBUTAN
========================================================= */

.sambutan-section {
    padding: 85px 0 100px;

    background: #ffffff;
}

.sambutan-layout {
    display: grid;

    grid-template-columns:
        330px
        minmax(0, 1fr);

    gap: 75px;

    align-items: start;
}

.sambutan-layout {
    position: relative;
    overflow: hidden;
}

.sambutan-layout::before {

    content: "";

    position: absolute;

    right: 180px;
    top: 120px;

    width: 550px;
    height: 550px;

    background-image: url("../images/logo-manzapo.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;

    opacity: 0.15;

    z-index: 0;
}

.sambutan-layout > * {
    position: relative;
    z-index: 1;
}

/* FOTO KEPALA MADRASAH */

.kepala-profile {
    position: sticky;

    top: 30px;
}

.kepala-photo {
    width: 100%;
    min-height: 420px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 30px;

    border-radius: 10px;

    border: 1px solid #e7dcc2;

    background:
        linear-gradient(
            145deg,
            #f4ecd8,
            #fffaf0
        );

    text-align: center;
}

.kepala-photo span {
    margin-bottom: 7px;

    font-size: 14px;
    font-weight: 700;

    color: #63583f;
}

.kepala-photo small {
    font-size: 12px;

    color: #8d826b;
}

.kepala-photo img {
    width: 100%;
    max-width: 280px;
    height: auto;
    object-fit: contain;
}

.kepala-info {
    padding: 15px 5px 0;
}

.kepala-role {
    display: block;

    margin-bottom: 9px;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.7px;

    color: #d69300;
}

.kepala-info h2 {
    margin: 0 0 7px;

    font-size: 22px;
    line-height: 1.3;

    color: #222222;
}

.kepala-info p {
    margin: 0;

    font-size: 14px;

    color: #777777;
}


/* ISI SAMBUTAN */

.sambutan-content {
    max-width: 760px;
}

.sambutan-opening {
    position: relative;

    margin-bottom: 38px;

    padding-bottom: 30px;

    border-bottom: 1px solid #e9e9e9;
}

.opening-mark {
    display: block;

    height: 48px;

    font-family: Georgia, serif;

    font-size: 76px;
    line-height: 1;

    color: #e1a000;
}

.sambutan-opening h2 {
    max-width: 650px;

    margin: 12px 0 0;

    font-size: 29px;
    line-height: 1.4;

    color: #222222;
}

.sambutan-text p {
    margin: 0 0 22px;

    font-size: 16px;
    line-height: 1.9;

    color: #555555;

    text-align: justify;
    text-justify: inter-word;
}

.sambutan-closing {
    margin-top: 35px !important;

    font-weight: 600;

    color: #333333 !important;
}


/* TANDA TANGAN */

.signature {
    margin-top: 35px;
    text-align: right;
    width: 100%;
}

.signature span {
    display: block;

    margin-bottom: 6px;

    font-size: 13px;

    color: #888888;
}

.signature p {
    margin: 0 0 35px;
    margin-bottom: 60px;
    font-size: 14px;

    color: #666666;
}

.signature strong {
    display: block;

    font-size: 17px;

    color: #222222;
}


/* =========================================================
   NEXT PROFILE SECTION
========================================================= */

.profile-next-section {
    padding: 70px 0;

    background: #f7f7f7;
}

.profile-next-wrapper {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 60px;
}

.profile-next-wrapper > div {
    max-width: 650px;
}

.profile-next-wrapper h2 {
    margin: 0 0 13px;

    font-size: 30px;
    line-height: 1.3;

    color: #222222;
}

.profile-next-wrapper p {
    margin: 0;

    font-size: 15px;
    line-height: 1.75;

    color: #696969;
}

/* Watermark Logo MAN 1 Ponorogo */
.profil-list {
    position: relative;
    overflow: hidden;
}

.profil-watermark {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.05;
    z-index: 0;
    pointer-events: none;
}

.profil-watermark img {
    width: 700px;
    height: auto;
}

.profil-grid {
    position: relative;
    z-index: 1;
}

/* =========================================================
   SAMBUTAN TABLET
========================================================= */

@media screen and (max-width: 991px) {

    .profile-page-title h1 {
        font-size: 38px;
    }

    .sambutan-layout {
        grid-template-columns:
            360px
            minmax(0,1fr);

        gap:85px;
    }

    .kepala-photo {
        border-radius: 16px;
        background: transparent;
        border: none;
        overflow: hidden;
    }

    .kepala-photo img {
        filter: drop-shadow(0 15px 20px rgba(0,0,0,0.12));
    }

}


/* =========================================================
   SAMBUTAN MOBILE
========================================================= */

@media screen and (max-width: 700px) {

    .profile-page-header {
        padding: 40px 0 42px;
    }

    .profile-page-title h1 {
        font-size: 32px;
    }

    .profile-page-title p {
        font-size: 15px;
    }

    .sambutan-section {
        padding: 55px 0 70px;
    }

    .sambutan-layout {
        position: relative;
        overflow: hidden;
    }

    .sambutan-layout {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .sambutan-layout::before {
        content: "";
        position: absolute;

        right: 40px;
        bottom: 20px;

        width: 350px;
        height: 350px;

        background-image: url("assets/logo-manzapo.png");
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center;

        opacity: 0.05;

        z-index: 0;
        pointer-events: none;
    }

    .kepala-profile {
        position: static;
    }

    .kepala-photo {
        min-height: 360px;
    }

    .sambutan-opening h2 {
        font-size:26px;
        line-height:1.5;
    }

    .sambutan-text p {
        margin: 0 0 22px;

        font-size: 16px;
        line-height: 1.9;

        color: #555555;

        text-align: left;
    }

    .profile-next-wrapper {
        flex-direction: column;

        align-items: flex-start;

        gap: 28px;
    }
}

    /* Paksa paragraf sambutan rata kiri */
    .sambutan-text p {
        text-align: left !important;
        text-justify: auto !important;
        word-spacing: normal !important;
    }

/* =========================================================
VISI
========================================================= */

.visi-section {
    padding: 90px 0;

    background: #ffffff;
}

.visi-wrapper {
    display: grid;

    grid-template-columns:
        220px
        minmax(0, 1fr);

    gap: 70px;

    align-items: start;
}

.visi-label-column {
    padding-top: 12px;
}

.visi-number {
    display: block;

    margin-bottom: 18px;

    font-size: 13px;
    font-weight: 700;

    color: #d69300;
}

.visi-small-label {
    font-size: 12px;
    font-weight: 700;

    letter-spacing: 2px;

    color: #555555;
}

.visi-main {
    max-width: 780px;
}

.visi-quote {
    display: block;

    height: 55px;

    font-family: Georgia, serif;

    font-size: 86px;
    line-height: 1;

    color: #e0a000;
}

.visi-main h2 {
    margin: 15px 0 25px;

    font-size: 38px;
    line-height: 1.4;

    color: #222222;
}

.visi-main p {
    max-width: 680px;

    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #777777;
}


/* =========================================================
   MISI
========================================================= */

.misi-section {
    padding: 90px 0 100px;

    background: #f7f7f7;
}

.misi-heading {
    display: grid;

    grid-template-columns:
        minmax(0, 0.8fr)
        minmax(0, 1fr);

    gap: 70px;

    align-items: end;

    margin-bottom: 50px;
}

.misi-heading h2 {
    margin: 0;

    font-size: 34px;
    line-height: 1.3;

    color: #222222;
}

.misi-heading > p {
    margin: 0;

    max-width: 560px;

    font-size: 15px;
    line-height: 1.8;

    color: #707070;
}

.misi-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;
}

.misi-card {
    min-height: 230px;

    padding: 30px;

    border: 1px solid #e4e4e4;
    border-radius: 8px;

    background: #ffffff;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.misi-card:hover {
    transform: translateY(-4px);

    border-color: #e0a000;

    box-shadow:
        0 14px 35px rgba(0, 0, 0, 0.07);
}

.misi-number {
    display: block;

    margin-bottom: 28px;

    font-size: 12px;
    font-weight: 700;

    color: #d69300;
}

.misi-card h3 {
    margin: 0 0 12px;

    font-size: 20px;
    line-height: 1.4;

    color: #222222;
}

.misi-card p {
    margin: 0;

    font-size: 14px;
    line-height: 1.75;

    color: #6f6f6f;
}


/* =========================================================
   NILAI / KOMITMEN
========================================================= */

.nilai-section {
    padding: 80px 0;

    background:
        linear-gradient(
            135deg,
            #fffaf0,
            #ffffff
        );
}

.nilai-wrapper {
    display: grid;

    grid-template-columns:
        0.9fr
        1fr;

    gap: 80px;

    align-items: center;
}

.nilai-wrapper h2 {
    margin: 0;

    max-width: 570px;

    font-size: 32px;
    line-height: 1.35;

    color: #222222;
}

.nilai-wrapper > p {
    max-width: 590px;

    margin: 0;

    font-size: 15px;
    line-height: 1.85;

    color: #666666;
}


/* =========================================================
   VISI MISI TABLET
========================================================= */

@media screen and (max-width: 991px) {

    .visi-wrapper {
        grid-template-columns: 160px 1fr;

        gap: 40px;
    }

    .visi-main h2 {
        font-size: 33px;
    }

    .misi-heading {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .nilai-wrapper {
        grid-template-columns: 1fr;

        gap: 25px;
    }

}


/* =========================================================
   VISI MISI MOBILE
========================================================= */

@media screen and (max-width: 700px) {

    .visi-section {
        padding: 60px 0 70px;
    }

    .visi-wrapper {
        grid-template-columns: 1fr;

        gap: 25px;
    }

    .visi-label-column {
        display: flex;

        align-items: center;

        gap: 15px;
    }

    .visi-number {
        margin: 0;
    }

    .visi-main h2 {
        font-size: 28px;
    }

    .misi-section {
        padding: 65px 0 75px;
    }

    .misi-grid {
        grid-template-columns: 1fr;
    }

    .misi-card {
        min-height: 0;
    }

    .nilai-section {
        padding: 60px 0;
    }

    .nilai-wrapper h2 {
        font-size: 28px;
    }
}

/* =========================================================
   SEJARAH - INTRO
========================================================= */

.sejarah-intro-section {
    padding: 90px 0;

    background: #ffffff;
}

.sejarah-intro-grid {
    display: grid;

    grid-template-columns:
        0.75fr
        1.2fr;

    gap: 90px;

    align-items: start;
}

.sejarah-intro-label h2 {
    max-width: 480px;

    margin: 0;

    font-size: 36px;
    line-height: 1.3;

    color: #222222;
}

.sejarah-intro-text {
    max-width: 700px;
}

.sejarah-intro-text p {
    margin: 0 0 20px;

    font-size: 16px;
    line-height: 1.85;

    color: #606060;
}

.sejarah-intro-text .dummy-note {
    margin-top: 28px;

    padding: 17px 20px;

    border-left: 3px solid #e0a000;

    background: #fffaf0;

    font-size: 13px;
    line-height: 1.7;

    color: #80745c;
}


/* =========================================================
   TIMELINE
========================================================= */

.timeline-section {
    padding: 90px 0 105px;

    background: #f7f7f7;
}

.timeline-heading {
    max-width: 680px;

    margin-bottom: 60px;
}

.timeline-heading h2 {
    margin: 0 0 14px;

    font-size: 36px;
    line-height: 1.3;

    color: #222222;
}

.timeline-heading p {
    margin: 0;

    font-size: 15px;
    line-height: 1.75;

    color: #707070;
}

.timeline-list {
    position: relative;

    max-width: 950px;

    margin-left: auto;
    margin-right: auto;
}

.timeline-list::before {
    content: "";

    position: absolute;

    left: 120px;
    top: 12px;
    bottom: 12px;

    width: 1px;

    background: #dddddd;
}

.timeline-item {
    position: relative;

    display: grid;

    grid-template-columns:
        90px
        60px
        minmax(0, 1fr);

    gap: 0;

    padding-bottom: 55px;
}

.timeline-item:last-child {
    padding-bottom: 0;
}

.timeline-year {
    padding-top: 4px;

    font-size: 14px;
    font-weight: 700;

    color: #d69300;
}

.timeline-marker {
    position: relative;
}

.timeline-marker::before {
    content: "";

    position: absolute;

    left: 24px;
    top: 5px;

    width: 13px;
    height: 13px;

    border: 3px solid #e0a000;
    border-radius: 50%;

    background: #f7f7f7;
}

.timeline-content {
    padding: 0 0 10px 20px;

    max-width: 690px;
}

.timeline-period {
    display: block;

    margin-bottom: 11px;

    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;

    color: #888888;
}

.timeline-content h3 {
    margin: 0 0 12px;

    font-size: 23px;
    line-height: 1.4;

    color: #222222;
}

.timeline-content p {
    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #676767;
}


/* =========================================================
   SEJARAH - GALERI
========================================================= */

.sejarah-gallery-section {
    padding: 90px 0;

    background: #ffffff;
}

.sejarah-gallery-heading {
    display: grid;

    grid-template-columns:
        0.9fr
        1fr;

    gap: 70px;

    align-items: end;

    margin-bottom: 45px;
}

.sejarah-gallery-heading h2 {
    margin: 0;

    font-size: 34px;
    line-height: 1.3;

    color: #222222;
}

.sejarah-gallery-heading > p {
    max-width: 520px;

    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #707070;
}

.sejarah-gallery-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;
}

.sejarah-photo-placeholder {
    min-height: 270px;

    padding: 25px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    border: 1px solid #e7dcc2;
    border-radius: 9px;

    background:
        linear-gradient(
            145deg,
            #f4ecd8,
            #fffaf0
        );

    text-align: center;
}

.sejarah-photo-placeholder span {
    margin-bottom: 8px;

    font-size: 13px;
    font-weight: 700;

    color: #655a42;
}

.sejarah-photo-placeholder small {
    font-size: 12px;
    line-height: 1.5;

    color: #8c816b;
}


/* =========================================================
   SEJARAH TABLET
========================================================= */

@media screen and (max-width: 991px) {

    .sejarah-intro-grid {
        grid-template-columns: 1fr;

        gap: 35px;
    }

    .timeline-list {
        margin-left: 0;
    }

    .sejarah-gallery-heading {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .sejarah-gallery-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   SEJARAH MOBILE
========================================================= */

@media screen and (max-width: 700px) {

    .sejarah-intro-section {
        padding: 60px 0 65px;
    }

    .sejarah-intro-label h2 {
        font-size: 29px;
    }

    .timeline-section {
        padding: 65px 0 75px;
    }

    .timeline-heading {
        margin-bottom: 45px;
    }

    .timeline-heading h2 {
        font-size: 29px;
    }

    .timeline-list::before {
        left: 17px;
    }

    .timeline-item {
        grid-template-columns:
            35px
            minmax(0, 1fr);

        padding-bottom: 45px;
    }

    .timeline-year {
        display: none;
    }

    .timeline-marker {
        grid-column: 1;
    }

    .timeline-marker::before {
        left: 10px;
        top: 5px;
    }

    .timeline-content {
        grid-column: 2;

        padding-left: 15px;
    }

    .timeline-content h3 {
        font-size: 21px;
    }

    .sejarah-gallery-section {
        padding: 65px 0;
    }

    .sejarah-gallery-heading h2 {
        font-size: 29px;
    }

    .sejarah-gallery-grid {
        grid-template-columns: 1fr;
    }

    .sejarah-photo-placeholder {
        min-height: 240px;
    }
}

/* =========================================================
   STRUKTUR ORGANISASI - INTRO
========================================================= */

.org-intro-section {
    padding: 85px 0;

    background: #ffffff;
}

.org-intro-grid {
    display: grid;

    grid-template-columns:
        0.8fr
        1.1fr;

    gap: 90px;

    align-items: start;
}

.org-intro-grid h2 {
    max-width: 500px;

    margin: 0;

    font-size: 36px;
    line-height: 1.3;

    color: #222222;
}

.org-intro-text {
    max-width: 700px;
}

.org-intro-text p {
    margin: 0 0 20px;

    font-size: 15px;
    line-height: 1.85;

    color: #666666;
}


/* =========================================================
   ORGANIZATION CHART
========================================================= */

.org-chart-section {
    padding: 90px 0 105px;

    background: #f7f7f7;
}

.org-chart-heading {
    max-width: 680px;

    margin-bottom: 65px;
}

.org-chart-heading h2 {
    margin: 0 0 14px;

    font-size: 36px;
    line-height: 1.3;

    color: #222222;
}

.org-chart-heading p {
    margin: 0;

    font-size: 15px;
    line-height: 1.75;

    color: #707070;
}


.org-tree {
    max-width: 1050px;

    margin: 0 auto;
}


/* LEVEL */

.org-level {
    display: grid;

    gap: 20px;
}

.org-level-main {
    grid-template-columns: 360px;

    justify-content: center;
}

.org-level-two {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}

.org-level-four {
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
}


/* PERSON CARD */

.org-person {
    position: relative;

    min-height: 175px;

    padding: 26px;

    border: 1px solid #dedede;
    border-radius: 9px;

    background: #ffffff;

    text-align: center;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.org-person:hover {
    transform: translateY(-4px);

    border-color: #e0a000;

    box-shadow:
        0 14px 35px rgba(0, 0, 0, 0.07);
}

.org-person-main {
    min-height: 245px;

    border-color: #e5d4a2;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #fffaf0
        );
}


/* AVATAR */

.org-avatar {
    width: 68px;
    height: 68px;

    margin: 0 auto 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f5edd8;

    font-size: 11px;
    font-weight: 700;

    color: #75694e;
}


.org-role {
    display: block;

    margin-bottom: 9px;

    font-size: 10px;
    line-height: 1.4;

    font-weight: 700;
    letter-spacing: 1.5px;

    color: #d69300;
}

.org-person h3 {
    margin: 0 0 7px;

    font-size: 18px;
    line-height: 1.35;

    color: #222222;
}

.org-person p {
    margin: 0;

    font-size: 13px;
    line-height: 1.5;

    color: #777777;
}


/* =========================================================
   CONNECTOR LINES - DESKTOP
========================================================= */

@media screen and (min-width: 992px) {

    /* Kepala Madrasah ke level 2 */
    .org-connector-main {
        position: relative;
        height: 35px;
    }

    .org-connector-main::before {
        content: "";

        position: absolute;

        left: 50%;
        top: 0;

        width: 1px;
        height: 35px;

        background: #cccccc;
    }


    /* Cabang menuju dua pejabat level 2 */
    .org-level-two {
        position: relative;

        padding-top: 35px;
    }

    .org-level-two::before {
        content: "";

        position: absolute;

        top: 0;
        left: 25%;
        right: 25%;

        height: 1px;

        background: #cccccc;
    }

    .org-level-two .org-person::before {
        content: "";

        position: absolute;

        left: 50%;
        top: -35px;

        width: 1px;
        height: 35px;

        background: #cccccc;
    }


    /* Garis turun dari dua pejabat level 2 */
    .org-level-two .org-person::after {
        content: "";

        position: absolute;

        left: 50%;
        bottom: -35px;

        width: 1px;
        height: 35px;

        background: #cccccc;
    }


    /* Garis horizontal menuju empat bidang */
    .org-connector-secondary {
        position: relative;

        height: 35px;
    }

    .org-connector-secondary::before {
        content: "";

        position: absolute;

        left: 12.5%;
        right: 12.5%;
        bottom: 0;

        height: 1px;

        background: #cccccc;
    }


    /* Cabang turun ke empat bidang */
    .org-level-four {
        position: relative;

        padding-top: 35px;
    }

    .org-level-four .org-person::before {
        content: "";

        position: absolute;

        left: 50%;
        top: -35px;

        width: 1px;
        height: 35px;

        background: #cccccc;
    }

}


/* =========================================================
   UNIT KERJA
========================================================= */

.unit-section {
    padding: 90px 0 100px;

    background: #ffffff;
}

.unit-heading {
    display: grid;

    grid-template-columns:
        0.9fr
        1fr;

    gap: 70px;

    align-items: end;

    margin-bottom: 50px;
}

.unit-heading h2 {
    margin: 0;

    font-size: 34px;
    line-height: 1.3;

    color: #222222;
}

.unit-heading > p {
    max-width: 550px;

    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #707070;
}


.unit-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;
}


.unit-card {
    min-height: 220px;

    padding: 28px;

    border: 1px solid #e4e4e4;
    border-radius: 8px;

    background: #ffffff;
}

.unit-number {
    display: block;

    margin-bottom: 28px;

    font-size: 12px;
    font-weight: 700;

    color: #d69300;
}

.unit-card h3 {
    margin: 0 0 12px;

    font-size: 19px;
    line-height: 1.4;

    color: #222222;
}

.unit-card p {
    margin: 0;

    font-size: 14px;
    line-height: 1.75;

    color: #707070;
}


/* =========================================================
   NOTE
========================================================= */

.org-note-section {
    padding: 0 0 80px;

    background: #ffffff;
}

.org-note {
    display: grid;

    grid-template-columns:
        140px
        minmax(0, 1fr);

    gap: 30px;

    padding: 25px 28px;

    border-left: 3px solid #e0a000;

    background: #fffaf0;
}

.org-note span {
    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.8px;

    color: #d69300;
}

.org-note p {
    max-width: 760px;

    margin: 0;

    font-size: 13px;
    line-height: 1.75;

    color: #756c59;
}


/* =========================================================
   STRUKTUR TABLET
========================================================= */

@media screen and (max-width: 991px) {

    .org-intro-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .org-level-four {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .org-connector-secondary {
        display: none;
    }

    .unit-heading {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .unit-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   STRUKTUR MOBILE
========================================================= */

@media screen and (max-width: 700px) {

    .org-intro-section {
        padding: 60px 0 65px;
    }

    .org-intro-grid h2 {
        font-size: 29px;
    }

    .org-chart-section {
        padding: 65px 0 75px;
    }

    .org-chart-heading {
        margin-bottom: 45px;
    }

    .org-chart-heading h2 {
        font-size: 29px;
    }

    .org-level-main,
    .org-level-two,
    .org-level-four {
        grid-template-columns: 1fr;
    }

    .org-connector-main,
    .org-connector-secondary {
        display: none;
    }

    .org-level {
        gap: 14px;
    }

    .org-level + .org-level {
        margin-top: 14px;
    }

    .org-person,
    .org-person-main {
        min-height: 0;

        padding: 25px 20px;
    }

    .unit-section {
        padding: 65px 0 70px;
    }

    .unit-heading h2 {
        font-size: 29px;
    }

    .unit-grid {
        grid-template-columns: 1fr;
    }

    .unit-card {
        min-height: 0;
    }

    .org-note-section {
        padding-bottom: 60px;
    }

    .org-note {
        grid-template-columns: 1fr;

        gap: 12px;
    }
}

/* =========================================================
   TENAGA PENDIDIK - INTRO
========================================================= */

.guru-intro-section {
    padding: 85px 0;

    background: #ffffff;
}

.guru-intro-grid {
    display: grid;

    grid-template-columns:
        0.8fr
        1.1fr;

    gap: 90px;

    align-items: start;
}

.guru-intro-grid h2 {
    max-width: 520px;

    margin: 0;

    font-size: 36px;
    line-height: 1.3;

    color: #222222;
}

.guru-intro-text {
    max-width: 700px;
}

.guru-intro-text p {
    margin: 0 0 20px;

    font-size: 15px;
    line-height: 1.85;

    color: #666666;
}


/* =========================================================
   DAFTAR GURU
========================================================= */

.guru-list-section {
    padding: 90px 0 100px;

    background: #f7f7f7;
}

.guru-list-heading {
    display: grid;

    grid-template-columns:
        0.9fr
        1fr;

    gap: 70px;

    align-items: end;

    margin-bottom: 50px;
}

.guru-list-heading h2 {
    margin: 0;

    font-size: 34px;
    line-height: 1.3;

    color: #222222;
}

.guru-list-heading > p {
    max-width: 550px;

    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #707070;
}


/* =========================================================
   GRID GURU
========================================================= */

.guru-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 22px;
}


/* =========================================================
   CARD GURU
========================================================= */

.guru-card {
    overflow: hidden;

    border: 1px solid #e2e2e2;
    border-radius: 9px;

    background: #ffffff;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.guru-card:hover {
    transform: translateY(-5px);

    border-color: #e0a000;

    box-shadow:
        0 16px 38px rgba(0, 0, 0, 0.08);
}


/* FOTO */

.guru-photo {
    width: 100%;
    aspect-ratio: 4 / 5;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            145deg,
            #f3ecd9,
            #fffaf0
        );

    border-bottom: 1px solid #ece3cf;
}

.guru-photo span {
    font-size: 12px;
    font-weight: 700;

    color: #756a50;
}


/* CONTENT */

.guru-card-content {
    padding: 22px 20px 25px;
}

.guru-category {
    display: block;

    margin-bottom: 10px;

    font-size: 10px;
    line-height: 1.4;

    font-weight: 700;
    letter-spacing: 1.5px;

    color: #d69300;
}

.guru-card-content h3 {
    margin: 0 0 7px;

    font-size: 18px;
    line-height: 1.4;

    color: #222222;
}

.guru-card-content p {
    margin: 0;

    font-size: 13px;
    line-height: 1.6;

    color: #777777;
}


/* =========================================================
   FOTO REAL NANTI
========================================================= */

.guru-photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center top;
}


/* =========================================================
   CATATAN TENAGA PENDIDIK
========================================================= */

.guru-note-section {
    padding: 0 0 80px;

    background: #f7f7f7;
}

.guru-note {
    display: grid;

    grid-template-columns:
        140px
        minmax(0, 1fr);

    gap: 30px;

    padding: 25px 28px;

    border-left: 3px solid #e0a000;

    background: #fffaf0;
}

.guru-note span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;

    color: #d69300;
}

.guru-note p {
    max-width: 780px;

    margin: 0;

    font-size: 13px;
    line-height: 1.75;

    color: #756c59;
}


/* =========================================================
   TENAGA PENDIDIK TABLET
========================================================= */

@media screen and (max-width: 991px) {

    .guru-intro-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .guru-list-heading {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .guru-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

}


/* =========================================================
   TENAGA PENDIDIK SMALL TABLET
========================================================= */

@media screen and (max-width: 760px) {

    .guru-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   TENAGA PENDIDIK MOBILE
========================================================= */

@media screen and (max-width: 520px) {

    .guru-intro-section {
        padding: 60px 0 65px;
    }

    .guru-intro-grid h2 {
        font-size: 29px;
    }

    .guru-list-section {
        padding: 65px 0 70px;
    }

    .guru-list-heading h2 {
        font-size: 29px;
    }

    .guru-grid {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .guru-card {
        max-width: 360px;

        width: 100%;

        margin-left: auto;
        margin-right: auto;
    }

    .guru-note-section {
        padding-bottom: 60px;
    }

    .guru-note {
        grid-template-columns: 1fr;

        gap: 12px;
    }
}

/* =========================================================
   TENAGA KEPENDIDIKAN - INTRO
========================================================= */

.staff-intro-section {
    padding: 85px 0;

    background: #ffffff;
}

.staff-intro-grid {
    display: grid;

    grid-template-columns:
        0.8fr
        1.1fr;

    gap: 90px;

    align-items: start;
}

.staff-intro-grid h2 {
    max-width: 520px;

    margin: 0;

    font-size: 36px;
    line-height: 1.3;

    color: #222222;
}

.staff-intro-text {
    max-width: 700px;
}

.staff-intro-text p {
    margin: 0 0 20px;

    font-size: 15px;
    line-height: 1.85;

    color: #666666;
}


/* =========================================================
   TENAGA KEPENDIDIKAN - LIST
========================================================= */

.staff-list-section {
    padding: 90px 0 100px;

    background: #f7f7f7;
}

.staff-list-heading {
    display: grid;

    grid-template-columns:
        0.9fr
        1fr;

    gap: 70px;

    align-items: end;

    margin-bottom: 50px;
}

.staff-list-heading h2 {
    margin: 0;

    font-size: 34px;
    line-height: 1.3;

    color: #222222;
}

.staff-list-heading > p {
    max-width: 550px;

    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #707070;
}


/* =========================================================
   GRID STAFF
========================================================= */

.staff-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 22px;
}


/* =========================================================
   CARD STAFF
========================================================= */

.staff-card {
    overflow: hidden;

    border: 1px solid #e2e2e2;
    border-radius: 9px;

    background: #ffffff;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.staff-card:hover {
    transform: translateY(-5px);

    border-color: #e0a000;

    box-shadow:
        0 16px 38px rgba(0, 0, 0, 0.08);
}


/* FOTO */

.staff-photo {
    width: 100%;
    aspect-ratio: 5 / 4;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            145deg,
            #f3ecd9,
            #fffaf0
        );

    border-bottom: 1px solid #ece3cf;
}

.staff-photo span {
    font-size: 12px;
    font-weight: 700;

    color: #756a50;
}


/* FOTO ASLI NANTI */

.staff-photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center top;
}


/* CONTENT */

.staff-card-content {
    padding: 24px 22px 28px;
}

.staff-unit {
    display: block;

    margin-bottom: 11px;

    font-size: 10px;
    line-height: 1.4;

    font-weight: 700;
    letter-spacing: 1.5px;

    color: #d69300;
}

.staff-card-content h3 {
    margin: 0 0 7px;

    font-size: 19px;
    line-height: 1.4;

    color: #222222;
}

.staff-position {
    margin: 0 0 16px;

    font-size: 14px;
    font-weight: 600;

    color: #555555;
}

.staff-description {
    display: block;

    padding-top: 16px;

    border-top: 1px solid #eeeeee;

    font-size: 13px;
    line-height: 1.65;

    color: #777777;
}


/* =========================================================
   CATATAN
========================================================= */

.staff-note-section {
    padding: 0 0 80px;

    background: #f7f7f7;
}

.staff-note {
    display: grid;

    grid-template-columns:
        140px
        minmax(0, 1fr);

    gap: 30px;

    padding: 25px 28px;

    border-left: 3px solid #e0a000;

    background: #fffaf0;
}

.staff-note span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;

    color: #d69300;
}

.staff-note p {
    max-width: 780px;

    margin: 0;

    font-size: 13px;
    line-height: 1.75;

    color: #756c59;
}


/* =========================================================
   TENAGA KEPENDIDIKAN TABLET
========================================================= */

@media screen and (max-width: 991px) {

    .staff-intro-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .staff-list-heading {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .staff-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* =========================================================
   TENAGA KEPENDIDIKAN MOBILE
========================================================= */

@media screen and (max-width: 600px) {

    .staff-intro-section {
        padding: 60px 0 65px;
    }

    .staff-intro-grid h2 {
        font-size: 29px;
    }

    .staff-list-section {
        padding: 65px 0 70px;
    }

    .staff-list-heading h2 {
        font-size: 29px;
    }

    .staff-grid {
        grid-template-columns: 1fr;
    }

    .staff-card {
        max-width: 420px;

        width: 100%;

        margin-left: auto;
        margin-right: auto;
    }

    .staff-note-section {
        padding-bottom: 60px;
    }

    .staff-note {
        grid-template-columns: 1fr;

        gap: 12px;
    }
}

/* =========================================================
   SARANA PRASARANA - INTRO
========================================================= */

.facility-intro-section {
    padding: 85px 0;

    background: #ffffff;
}

.facility-intro-grid {
    display: grid;

    grid-template-columns:
        0.8fr
        1.1fr;

    gap: 90px;

    align-items: start;
}

.facility-intro-grid h2 {
    max-width: 520px;

    margin: 0;

    font-size: 36px;
    line-height: 1.3;

    color: #222222;
}

.facility-intro-text {
    max-width: 700px;
}

.facility-intro-text p {
    margin: 0 0 20px;

    font-size: 15px;
    line-height: 1.85;

    color: #666666;
}


/* =========================================================
   SARANA PRASARANA - LIST
========================================================= */

.facility-list-section {
    padding: 90px 0 100px;

    background: #f7f7f7;
}

.facility-list-heading {
    display: grid;

    grid-template-columns:
        0.9fr
        1fr;

    gap: 70px;

    align-items: end;

    margin-bottom: 50px;
}

.facility-list-heading h2 {
    margin: 0;

    font-size: 34px;
    line-height: 1.3;

    color: #222222;
}

.facility-list-heading > p {
    max-width: 550px;

    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #707070;
}


/* =========================================================
   FACILITY GRID
========================================================= */

.facility-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 22px;
}


/* =========================================================
   FACILITY CARD
========================================================= */

.facility-card {
    overflow: hidden;

    border: 1px solid #e2e2e2;
    border-radius: 9px;

    background: #ffffff;

    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.facility-card:hover {
    transform: translateY(-5px);

    border-color: #e0a000;

    box-shadow:
        0 16px 38px rgba(0, 0, 0, 0.08);
}


/* FOTO */

.facility-photo {
    width: 100%;
    aspect-ratio: 16 / 9;

    display: flex;

    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            145deg,
            #f3ecd9,
            #fffaf0
        );

    border-bottom: 1px solid #ece3cf;
}

.facility-photo span {
    font-size: 12px;
    font-weight: 700;

    color: #756a50;
}


/* FOTO REAL NANTI */

.facility-photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;
}


/* CONTENT */

.facility-content {
    padding: 25px 26px 30px;
}

.facility-number {
    display: block;

    margin-bottom: 14px;

    font-size: 11px;
    font-weight: 700;

    color: #d69300;
}

.facility-content h3 {
    margin: 0 0 11px;

    font-size: 22px;
    line-height: 1.4;

    color: #222222;
}

.facility-content p {
    max-width: 540px;

    margin: 0;

    font-size: 14px;
    line-height: 1.75;

    color: #707070;
}


/* =========================================================
   SUPPORTING FACILITIES
========================================================= */

.support-facility-section {
    padding: 90px 0;

    background: #ffffff;
}

.support-facility-wrapper {
    display: grid;

    grid-template-columns:
        0.8fr
        1.2fr;

    gap: 90px;
}

.support-facility-wrapper h2 {
    max-width: 500px;

    margin: 0;

    font-size: 34px;
    line-height: 1.35;

    color: #222222;
}


.support-facility-list {
    border-top: 1px solid #dddddd;
}

.support-facility-item {
    display: grid;

    grid-template-columns:
        70px
        minmax(0, 1fr);

    align-items: center;

    min-height: 66px;

    border-bottom: 1px solid #dddddd;
}

.support-facility-item span {
    font-size: 11px;
    font-weight: 700;

    color: #d69300;
}

.support-facility-item p {
    margin: 0;

    font-size: 15px;
    font-weight: 600;

    color: #333333;
}


/* =========================================================
   CATATAN
========================================================= */

.facility-note-section {
    padding: 0 0 80px;

    background: #ffffff;
}

.facility-note {
    display: grid;

    grid-template-columns:
        140px
        minmax(0, 1fr);

    gap: 30px;

    padding: 25px 28px;

    border-left: 3px solid #e0a000;

    background: #fffaf0;
}

.facility-note span {
    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1.8px;

    color: #d69300;
}

.facility-note p {
    max-width: 780px;

    margin: 0;

    font-size: 13px;
    line-height: 1.75;

    color: #756c59;
}


/* =========================================================
   SARANA PRASARANA TABLET
========================================================= */

@media screen and (max-width: 991px) {

    .facility-intro-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .facility-list-heading {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .support-facility-wrapper {
        grid-template-columns: 1fr;

        gap: 35px;
    }

}


/* =========================================================
   SARANA PRASARANA MOBILE
========================================================= */

@media screen and (max-width: 650px) {

    .facility-intro-section {
        padding: 60px 0 65px;
    }

    .facility-intro-grid h2 {
        font-size: 29px;
    }

    .facility-list-section {
        padding: 65px 0 70px;
    }

    .facility-list-heading h2 {
        font-size: 29px;
    }

    .facility-grid {
        grid-template-columns: 1fr;
    }

    .facility-content h3 {
        font-size: 20px;
    }

    .support-facility-section {
        padding: 65px 0;
    }

    .support-facility-wrapper h2 {
        font-size: 29px;
    }

    .facility-note-section {
        padding-bottom: 60px;
    }

    .facility-note {
        grid-template-columns: 1fr;

        gap: 12px;
    }
}

/* =========================================================
   LOKASI - INTRO
========================================================= */

.location-intro-section {
    padding: 85px 0;
    background: #ffffff;
}

.location-intro-grid {
    display: grid;

    grid-template-columns:
        0.8fr
        1.1fr;

    gap: 90px;

    align-items: start;
}

.location-intro-grid h2 {
    max-width: 500px;

    margin: 0;

    font-size: 36px;
    line-height: 1.3;

    color: #222222;
}

.location-intro-text {
    max-width: 700px;
}

.location-intro-text p {
    margin: 0 0 20px;

    font-size: 15px;
    line-height: 1.85;

    color: #666666;
}


/* =========================================================
   LOCATION INFO
========================================================= */

.location-info-section {
    padding: 90px 0 100px;

    background: #f7f7f7;
}

.location-info-heading {
    margin-bottom: 45px;
}

.location-info-heading h2 {
    margin: 0;

    font-size: 34px;
    line-height: 1.3;

    color: #222222;
}


.location-info-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 20px;
}


.location-info-card {
    min-height: 235px;

    padding: 30px;

    border: 1px solid #e2e2e2;
    border-radius: 8px;

    background: #ffffff;
}

.location-info-number {
    display: block;

    margin-bottom: 24px;

    font-size: 11px;
    font-weight: 700;

    color: #d69300;
}

.location-info-label {
    display: block;

    margin-bottom: 10px;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.6px;

    color: #d69300;
}

.location-info-card h3 {
    margin: 0 0 13px;

    font-size: 20px;
    line-height: 1.4;

    color: #222222;
}

.location-info-card p {
    margin: 0;

    font-size: 14px;
    line-height: 1.75;

    color: #696969;
}


/* =========================================================
   MAP
========================================================= */

.map-section {
    padding: 90px 0;

    background: #ffffff;
}

.map-heading {
    display: grid;

    grid-template-columns:
        0.9fr
        1fr;

    gap: 70px;

    align-items: end;

    margin-bottom: 45px;
}

.map-heading h2 {
    margin: 0;

    font-size: 34px;
    line-height: 1.3;

    color: #222222;
}

.map-heading > p {
    max-width: 550px;

    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #707070;
}


.map-placeholder {
    width: 100%;
    min-height: 440px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 30px;

    border: 1px solid #e6dcc3;
    border-radius: 10px;

    background:
        linear-gradient(
            145deg,
            #f3ecd9,
            #fffaf0
        );

    text-align: center;
}

.map-placeholder span {
    display: block;

    margin-bottom: 9px;

    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.3px;

    color: #655a42;
}

.map-placeholder p {
    margin: 0;

    font-size: 13px;
    line-height: 1.6;

    color: #877c64;
}


/* GOOGLE MAPS ASLI NANTI */

.map-placeholder iframe {
    width: 100%;
    height: 440px;

    display: block;

    border: 0;
    border-radius: 10px;
}


/* =========================================================
   MAP ACTIONS
========================================================= */

.map-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 12px;

    margin-top: 24px;
}

.location-button {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 46px;

    padding: 0 22px;

    border: 1px solid #dddddd;
    border-radius: 5px;

    background: #ffffff;

    font-size: 13px;
    font-weight: 700;

    color: #333333;

    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}

.location-button:hover {
    transform: translateY(-2px);

    border-color: #d69300;
}

.location-button-primary {
    border-color: #e0a000;

    background: #e0a000;

    color: #ffffff;
}

.location-button-primary:hover {
    background: #c98d00;

    color: #ffffff;
}


/* =========================================================
   VISIT
========================================================= */

.visit-section {
    padding: 85px 0;

    background: #f7f7f7;
}

.visit-wrapper {
    display: grid;

    grid-template-columns:
        0.8fr
        1.1fr;

    gap: 90px;
}

.visit-wrapper h2 {
    max-width: 500px;

    margin: 0;

    font-size: 34px;
    line-height: 1.35;

    color: #222222;
}

.visit-text {
    max-width: 700px;
}

.visit-text p {
    margin: 0 0 18px;

    font-size: 15px;
    line-height: 1.85;

    color: #666666;
}


/* =========================================================
   LOCATION NOTE
========================================================= */

.location-note-section {
    padding: 0 0 80px;

    background: #f7f7f7;
}

.location-note {
    display: grid;

    grid-template-columns:
        140px
        minmax(0, 1fr);

    gap: 30px;

    padding: 25px 28px;

    border-left: 3px solid #e0a000;

    background: #fffaf0;
}

.location-note span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;

    color: #d69300;
}

.location-note p {
    max-width: 780px;

    margin: 0;

    font-size: 13px;
    line-height: 1.75;

    color: #756c59;
}


/* =========================================================
   LOCATION TABLET
========================================================= */

@media screen and (max-width: 991px) {

    .location-intro-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .map-heading {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .visit-wrapper {
        grid-template-columns: 1fr;

        gap: 30px;
    }

}


/* =========================================================
   LOCATION MOBILE
========================================================= */

@media screen and (max-width: 650px) {

    .location-intro-section {
        padding: 60px 0 65px;
    }

    .location-intro-grid h2 {
        font-size: 29px;
    }

    .location-info-section {
        padding: 65px 0 70px;
    }

    .location-info-heading h2 {
        font-size: 29px;
    }

    .location-info-grid {
        grid-template-columns: 1fr;
    }

    .location-info-card {
        min-height: 0;
    }

    .map-section {
        padding: 65px 0;
    }

    .map-heading h2 {
        font-size: 29px;
    }

    .map-placeholder {
        min-height: 320px;
    }

    .map-placeholder iframe {
        height: 320px;
    }

    .map-actions {
        flex-direction: column;
    }

    .location-button {
        width: 100%;
    }

    .visit-section {
        padding: 65px 0;
    }

    .visit-wrapper h2 {
        font-size: 29px;
    }

    .location-note-section {
        padding-bottom: 60px;
    }

    .location-note {
        grid-template-columns: 1fr;

        gap: 12px;
    }
}

/* =========================================================
   VIDEO PROFILE - INTRO
========================================================= */

.video-intro-section {
    padding: 85px 0;
    background: #ffffff;
}

.video-intro-grid {
    display: grid;

    grid-template-columns:
        0.8fr
        1.1fr;

    gap: 90px;

    align-items: start;
}

.video-intro-grid h2 {
    max-width: 520px;

    margin: 0;

    font-size: 36px;
    line-height: 1.3;

    color: #222222;
}

.video-intro-text {
    max-width: 700px;
}

.video-intro-text p {
    margin: 0 0 20px;

    font-size: 15px;
    line-height: 1.85;

    color: #666666;
}


/* =========================================================
   VIDEO UTAMA
========================================================= */

.video-main-section {
    padding: 90px 0 100px;

    background: #f7f7f7;
}

.video-main-heading {
    display: grid;

    grid-template-columns:
        0.9fr
        1fr;

    gap: 70px;

    align-items: end;

    margin-bottom: 45px;
}

.video-main-heading h2 {
    margin: 0;

    font-size: 34px;
    line-height: 1.3;

    color: #222222;
}

.video-main-heading > p {
    max-width: 550px;

    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #707070;
}


/* =========================================================
   VIDEO FRAME
========================================================= */

.profile-video-wrapper {
    width: 100%;

    overflow: hidden;

    border: 1px solid #e4d8bb;
    border-radius: 10px;

    background: #fffaf0;
}

.video-placeholder {
    width: 100%;

    aspect-ratio: 16 / 9;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 30px;

    text-align: center;

    background:
        linear-gradient(
            145deg,
            #efe6cf,
            #fffaf0
        );
}

.video-play {
    width: 68px;
    height: 68px;

    margin-bottom: 20px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding-left: 4px;

    border-radius: 50%;

    background: #e0a000;

    color: #ffffff;

    font-size: 22px;
}

.video-placeholder > span {
    margin-bottom: 9px;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 1px;

    color: #625740;
}

.video-placeholder p {
    margin: 0;

    font-size: 13px;

    color: #8a806a;
}


/* =========================================================
   YOUTUBE IFRAME ASLI NANTI
========================================================= */

.profile-video-wrapper iframe {
    width: 100%;

    aspect-ratio: 16 / 9;

    display: block;

    border: 0;
}


/* =========================================================
   VIDEO ACTION
========================================================= */

.video-actions {
    margin-top: 24px;
}


/* =========================================================
   VIDEO ABOUT
========================================================= */

.video-about-section {
    padding: 90px 0;

    background: #ffffff;
}

.video-about-grid {
    display: grid;

    grid-template-columns:
        0.75fr
        1.25fr;

    gap: 90px;
}

.video-about-grid h2 {
    max-width: 500px;

    margin: 0;

    font-size: 34px;
    line-height: 1.35;

    color: #222222;
}

.video-about-content {
    border-top: 1px solid #dddddd;
}

.video-about-item {
    display: grid;

    grid-template-columns:
        70px
        minmax(0, 1fr);

    gap: 20px;

    padding: 28px 0;

    border-bottom: 1px solid #dddddd;
}

.video-about-item > span {
    padding-top: 4px;

    font-size: 11px;
    font-weight: 700;

    color: #d69300;
}

.video-about-item h3 {
    margin: 0 0 8px;

    font-size: 19px;
    line-height: 1.4;

    color: #222222;
}

.video-about-item p {
    max-width: 600px;

    margin: 0;

    font-size: 14px;
    line-height: 1.75;

    color: #707070;
}


/* =========================================================
   VIDEO NOTE
========================================================= */

.video-note-section {
    padding: 0 0 80px;

    background: #ffffff;
}

.video-note {
    display: grid;

    grid-template-columns:
        140px
        minmax(0, 1fr);

    gap: 30px;

    padding: 25px 28px;

    border-left: 3px solid #e0a000;

    background: #fffaf0;
}

.video-note span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;

    color: #d69300;
}

.video-note p {
    max-width: 780px;

    margin: 0;

    font-size: 13px;
    line-height: 1.75;

    color: #756c59;
}


/* =========================================================
   VIDEO TABLET
========================================================= */

@media screen and (max-width: 991px) {

    .video-intro-grid {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .video-main-heading {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .video-about-grid {
        grid-template-columns: 1fr;

        gap: 35px;
    }

}


/* =========================================================
   VIDEO MOBILE
========================================================= */

@media screen and (max-width: 650px) {

    .video-intro-section {
        padding: 60px 0 65px;
    }

    .video-intro-grid h2 {
        font-size: 29px;
    }

    .video-main-section {
        padding: 65px 0 70px;
    }

    .video-main-heading h2 {
        font-size: 29px;
    }

    .video-play {
        width: 56px;
        height: 56px;

        font-size: 18px;
    }

    .video-about-section {
        padding: 65px 0;
    }

    .video-about-grid h2 {
        font-size: 29px;
    }

    .video-about-item {
        grid-template-columns:
            45px
            minmax(0, 1fr);
    }

    .video-note-section {
        padding-bottom: 60px;
    }

    .video-note {
        grid-template-columns: 1fr;

        gap: 12px;
    }
}

/* =========================================================
   LOGO MANZAPO - UTAMA
========================================================= */

.logo-main-section {
    padding: 90px 0;

    background: #ffffff;
}

.logo-main-grid {
    display: grid;

    grid-template-columns:
        0.9fr
        1fr;

    gap: 90px;

    align-items: center;
}


/* LOGO DISPLAY */

.logo-display {
    width: 100%;
}

.logo-placeholder {
    min-height: 430px;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 35px;

    border: 1px solid #e6d9b8;
    border-radius: 12px;

    background:
        linear-gradient(
            145deg,
            #f3ecd9,
            #fffaf0
        );

    text-align: center;

    box-shadow:
        0 18px 45px rgba(0, 0, 0, 0.06);
}

.logo-placeholder > span {
    margin-bottom: 8px;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 2px;

    color: #d69300;
}

.logo-placeholder strong {
    margin-bottom: 10px;

    font-size: 38px;
    line-height: 1;

    color: #222222;
}

.logo-placeholder small {
    font-size: 12px;

    color: #807660;
}


/* LOGO ASLI NANTI */

.logo-placeholder img {
    display: block;

    max-width: 75%;
    max-height: 320px;

    width: auto;
    height: auto;

    object-fit: contain;
}


/* CONTENT */

.logo-main-content {
    max-width: 650px;
}

.logo-main-content h2 {
    margin: 0 0 22px;

    font-size: 36px;
    line-height: 1.3;

    color: #222222;
}

.logo-main-content p {
    margin: 0 0 19px;

    font-size: 15px;
    line-height: 1.85;

    color: #666666;
}


/* =========================================================
   FILOSOFI LOGO
========================================================= */

.logo-philosophy-section {
    padding: 90px 0 100px;

    background: #f7f7f7;
}

.logo-philosophy-heading {
    display: grid;

    grid-template-columns:
        0.9fr
        1fr;

    gap: 70px;

    align-items: end;

    margin-bottom: 50px;
}

.logo-philosophy-heading h2 {
    margin: 0;

    font-size: 34px;
    line-height: 1.3;

    color: #222222;
}

.logo-philosophy-heading > p {
    max-width: 550px;

    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #707070;
}


.logo-philosophy-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;
}

.logo-philosophy-card {
    min-height: 230px;

    padding: 30px;

    border: 1px solid #e2e2e2;
    border-radius: 8px;

    background: #ffffff;
}

.logo-philosophy-number {
    display: block;

    margin-bottom: 28px;

    font-size: 11px;
    font-weight: 700;

    color: #d69300;
}

.logo-philosophy-card h3 {
    margin: 0 0 12px;

    font-size: 20px;

    color: #222222;
}

.logo-philosophy-card p {
    margin: 0;

    font-size: 14px;
    line-height: 1.75;

    color: #707070;
}


/* =========================================================
   WARNA LOGO
========================================================= */

.logo-color-section {
    padding: 90px 0;

    background: #ffffff;
}

.logo-color-wrapper {
    display: grid;

    grid-template-columns:
        0.8fr
        1.2fr;

    gap: 90px;
}

.logo-color-wrapper h2 {
    margin: 0 0 18px;

    font-size: 34px;
    line-height: 1.35;

    color: #222222;
}

.logo-color-wrapper > div:first-child > p {
    max-width: 520px;

    margin: 0;

    font-size: 15px;
    line-height: 1.85;

    color: #666666;
}


.logo-color-list {
    border-top: 1px solid #dddddd;
}

.logo-color-item {
    display: grid;

    grid-template-columns:
        90px
        minmax(0, 1fr);

    gap: 25px;

    align-items: center;

    padding: 25px 0;

    border-bottom: 1px solid #dddddd;
}

.logo-color-preview {
    width: 70px;
    height: 70px;

    border-radius: 50%;

    border: 1px solid #dddddd;
}

.color-orange {
    background: #e0a000;
}

.color-dark {
    background: #222222;
}

.color-light {
    background: #f5f5f5;
}


.logo-color-item span {
    display: block;

    margin-bottom: 5px;

    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.4px;

    color: #d69300;
}

.logo-color-item h3 {
    margin: 0 0 5px;

    font-size: 18px;

    color: #222222;
}

.logo-color-item p {
    margin: 0;

    font-size: 13px;
    line-height: 1.6;

    color: #777777;
}


/* =========================================================
   PENGGUNAAN LOGO
========================================================= */

.logo-usage-section {
    padding: 90px 0 100px;

    background: #f7f7f7;
}

.logo-usage-heading {
    max-width: 700px;

    margin-bottom: 45px;
}

.logo-usage-heading h2 {
    margin: 0 0 14px;

    font-size: 34px;

    color: #222222;
}

.logo-usage-heading p {
    margin: 0;

    font-size: 15px;
    line-height: 1.8;

    color: #707070;
}


.logo-usage-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;
}

.logo-usage-card {
    min-height: 190px;

    padding: 28px;

    border: 1px solid #e3e3e3;
    border-radius: 8px;

    background: #ffffff;
}

.logo-usage-card > span {
    display: block;

    margin-bottom: 25px;

    font-size: 11px;
    font-weight: 700;

    color: #d69300;
}

.logo-usage-card h3 {
    margin: 0 0 10px;

    font-size: 19px;

    color: #222222;
}

.logo-usage-card p {
    margin: 0;

    font-size: 14px;
    line-height: 1.7;

    color: #707070;
}


/* =========================================================
   LOGO NOTE
========================================================= */

.logo-note-section {
    padding: 0 0 80px;

    background: #f7f7f7;
}

.logo-note {
    display: grid;

    grid-template-columns:
        140px
        minmax(0, 1fr);

    gap: 30px;

    padding: 25px 28px;

    border-left: 3px solid #e0a000;

    background: #fffaf0;
}

.logo-note span {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.8px;

    color: #d69300;
}

.logo-note p {
    max-width: 780px;

    margin: 0;

    font-size: 13px;
    line-height: 1.75;

    color: #756c59;
}


/* =========================================================
   LOGO TABLET
========================================================= */

@media screen and (max-width: 991px) {

    .logo-main-grid {
        grid-template-columns: 1fr;

        gap: 45px;
    }

    .logo-philosophy-heading {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    .logo-color-wrapper {
        grid-template-columns: 1fr;

        gap: 40px;
    }

}


/* =========================================================
   LOGO MOBILE
========================================================= */

@media screen and (max-width: 650px) {

    .logo-main-section {
        padding: 60px 0 65px;
    }

    .logo-placeholder {
        min-height: 300px;
    }

    .logo-placeholder strong {
        font-size: 30px;
    }

    .logo-main-content h2 {
        font-size: 29px;
    }

    .logo-philosophy-section {
        padding: 65px 0 70px;
    }

    .logo-philosophy-heading h2 {
        font-size: 29px;
    }

    .logo-philosophy-grid {
        grid-template-columns: 1fr;
    }

    .logo-philosophy-card {
        min-height: 0;
    }

    .logo-color-section {
        padding: 65px 0;
    }

    .logo-color-wrapper h2 {
        font-size: 29px;
    }

    .logo-usage-section {
        padding: 65px 0 70px;
    }

    .logo-usage-heading h2 {
        font-size: 29px;
    }

    .logo-usage-grid {
        grid-template-columns: 1fr;
    }

    .logo-usage-card {
        min-height: 0;
    }

    .logo-note-section {
        padding-bottom: 60px;
    }

    .logo-note {
        grid-template-columns: 1fr;

        gap: 12px;
    }
}

