/* ==========================================================
   EDUSMART MUSLIM
   style.css v2.0
   Homepage
========================================================== */


/* ==========================================================
   RESET
========================================================== */

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html{
    scroll-behavior: smooth;
}

body{
    font-family: var(--font-body);
    font-size: var(--font-size-base);
    color: var(--color-text);
    background: var(--color-background);
    line-height: 1.7;
}

img{
    display: block;
    max-width: 100%;
    height: auto;
}

a{
    text-decoration: none;
    color: inherit;
}

ul{
    list-style: none;
}


/* ==========================================================
   GLOBAL
========================================================== */

.container{
    width: 90%;
    max-width: var(--container-width);
    margin: auto;
}

/* ==========================================================
   SECTION BACKGROUNDS
========================================================== */

.section-bg-white{

    background: var(--color-white);

}

.section-bg-gradient{

    background: linear-gradient(
        180deg,
        #FFFFFF 0%,
        #F8FCF8 20%,
        #ECFAEF 100%
    );

}

.section-bg-light{

    background: #F6FCF7;

}

.section-bg-primary{

    background: var(--color-primary);

}

.section-bg-pattern{

    background:
        url("../images/backgrounds/bg-pattern-01.svg")
        center/cover no-repeat;

}
.section-bg-alt{

    background:#FAFCFB;

}
/* ==========================================================
   TYPOGRAPHY
========================================================== */

.section-heading{
    max-width: 760px;
    margin: 0 auto 56px;
     padding-top: 40px;
    text-align: center;
}

.section-heading__eyebrow{
    display: inline-block;
    margin-bottom: 24px; 
    color: var(--color-primary-dark);

    font-family: var(--font-heading);

    font-size: 26px;

    font-weight: var(--font-weight-semibold);

    letter-spacing: 0.02em;
}
.section-heading__title{
    margin-bottom: 32px;

    font-family: var(--font-heading);

    font-size: clamp(2rem, 1.3rem + 1vw, 2.375rem);

    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;

    color: var(--color-primary-dark);
}


.section-heading__description{
    max-width: 62ch;
    margin: 0 auto;

    color: var(--color-text-light);

    font-size: clamp(1.125rem, 1rem + 0.4vw, 1.25rem);

    font-weight: var(--font-weight-medium);

    line-height: 1.8;
    letter-spacing: -0.01em;
}
.section-heading__closing{
    margin-top: 32px;
    font-family: var(--font-heading);
    font-size: 24px;
    font-weight: var(--font-weight-semibold);
    line-height: 1.4;
    color: var(--color-primary-dark);
}


/* ==========================================
   SECTION HEADING - BADGE
========================================== */

.section-heading--badge .section-heading__eyebrow{

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

    padding:.7rem 1.6rem;

    margin-bottom:2rem;

    border:2px solid var(--color-primary);

    border-radius:999px;

    background:rgba(var(--color-primary-rgb), .05);

    color:var(--color-primary);

    font-family:var(--font-heading);

    font-size:1rem;

    font-weight:var(--font-weight-semibold);

    letter-spacing:.02em;

}

/* ==========================================
   SECTION BADGE
========================================== */

.section-badge{

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

    margin-bottom:2rem;
    padding:.75rem 1.75rem;

    border:2px solid var(--color-primary);
    border-radius:999px;

    background:rgba(var(--color-primary-rgb), .05);

    color:var(--color-primary);

    font-family:var(--font-heading);
    font-size:1rem;
    font-weight:var(--font-weight-semibold);

    letter-spacing:.02em;

}

/* ==========================================================
   HEADER
========================================================== */

.header{
    background: var(--color-white);
    border-bottom: 1px solid var(--color-border);

    position: relative;

    z-index: var(--z-header);
}

/* ==========================================================
   HEADER LAYOUT
========================================================== */

.header .container{
    display: flex;
    align-items: center;
    justify-content: space-between;

    width: 90%;
}


/* ==========================================================
   LOGO
========================================================== */

.header .logo{
    flex-shrink: 0;
}

.logo img{
    height: 120px;
    width: auto;
}


/* ==========================================================
   NAVIGATION
========================================================== */

.main-nav{
    margin-left: auto;
    margin-right: 1.5rem;

    flex-shrink: 0;
}

.main-nav__list{
    display: flex;
    align-items: center;

    list-style: none;
    margin: 0;
    padding: 0;
}

.main-nav__item{
    position: relative;
}


/* ==========================================================
   PUSTAKA TOGGLE
========================================================== */

.main-nav__dropdown-toggle{
    display: inline-flex;
    align-items: center;

    gap: 0.5rem;

    padding: 0.65rem 0;

    border: 0;
    background: transparent;

    color: var(--color-primary);

    font: inherit;
    font-size: 1.1rem;
    font-weight: 700;

    cursor: pointer;

    transition:
        color 0.2s ease;
}
 /* ==========================================================
    DROPDOWN
 ========================================================== */

.main-nav__dropdown{

    position: absolute;

    top: calc(100% + 0.75rem);
    right: 0;

    width: 240px;
    max-width: calc(100vw - 32px);

    margin: 0;
    padding: 0.5rem;

    box-sizing: border-box;

    list-style: none;

    background: var(--color-white);

    border: 1px solid var(--color-border);
    border-radius: 0.75rem;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);

    opacity: 0;
    visibility: hidden;

    transform: translateY(-0.5rem);

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease,
        transform 0.2s ease;

    z-index: 1000;
}

 /* ==========================================================
    DROPDOWN - MOBILE
 ========================================================== */

@media (max-width: 480px){

    .main-nav__dropdown{

        left: 50%;
        right: auto;

        width: 190px;
        max-width: calc(100vw - 24px);

        transform: translate(-50%, -0.5rem);

    }

}

/* Dropdown muncul */

.main-nav__item--dropdown:hover .main-nav__dropdown,
.main-nav__item--dropdown:focus-within .main-nav__dropdown{
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}

@media (max-width: 480px){

    .main-nav__item--dropdown:hover .main-nav__dropdown,
    .main-nav__item--dropdown:focus-within .main-nav__dropdown{

        transform: translate(-50%, 0);

    }

}


/* Panah */

.main-nav__item--dropdown:hover .main-nav__arrow,
.main-nav__item--dropdown:focus-within .main-nav__arrow{
    transform: rotate(180deg);
}


/* ==========================================================
   DROPDOWN ITEM
========================================================== */

.main-nav__dropdown-item{
    margin: 0;
    padding: 0;
}

.main-nav__dropdown-link{
    display: block;

    padding: 0.9rem 1rem;

    color: var(--color-text);

    text-decoration: none;

    border-radius: 10px;

    font-size: 1rem;
    font-weight: 600;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.main-nav__dropdown-link:hover,
.main-nav__dropdown-link:focus{
    background: var(--color-primary-light);
    color: var(--color-primary);
}


/* ==========================================================
   MULAI BELAJAR
========================================================== */

.header .btn--primary{
    flex-shrink: 0;
}
/* ==========================================================
   ISLAMIC TRANSITION
========================================================== */

.islamic-pattern{

    position: relative;

    height: 140px;

    overflow: hidden;

    background:
        linear-gradient(
            to bottom,
            color-mix(in srgb, var(--color-primary) 100%, white) 0%,
            color-mix(in srgb, var(--color-primary) 50%, white) 55%,
            color-mix(in srgb, var(--color-primary) 8%, white) 100%
        );

    border-top: 10px solid #d4af37;

}


/* ==========================================================
   HILANGKAN MOTIF SEMENTARA
========================================================== */

.islamic-pattern__inner{

    display: none;

}


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

@media (max-width: 480px){

    .islamic-pattern{

        height: 180px;

        border-top-width: 8px;

    }

}
/* ==========================================================
   HERO
========================================================== */

.hero{

    padding: var(--hero-padding-top) 0 var(--hero-padding-bottom);

}

.hero__container{

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 70px;

}

.hero__content{

    flex: 1;

}

.hero__badge{

    display: inline-block;

    background: var(--color-primary-light);

    color: var(--color-primary);

    padding: 8px 18px;

    border-radius: var(--radius-pill);

    font-size: 14px;

    font-weight: var(--font-weight-semibold);

    margin-bottom: 25px;

}

.hero__title{

    font-family: var(--font-heading);

    font-size: 56px;

    line-height: 1.2;

    margin-bottom: 20px;

    color: var(--color-text);

}

.hero__subtitle{

    font-family: var(--font-heading);

    font-size: 24px;

    font-weight: var(--font-weight-semibold);

    color: var(--color-primary);

    margin-bottom: 25px;

}

.hero__description{

    font-size: 18px;

    max-width: 560px;

    margin-bottom: 40px;

}

.hero__actions{

    display: flex;

    gap: 18px;

    flex-wrap: wrap;

}

.hero__image{

    flex: 1;

    display: flex;

    justify-content: center;

}

.hero__image img{

    width: 100%;

    max-width: 620px;

}

/* ==========================================
   WHY QURAN
========================================== */

.why-quran{

    padding:72px 0;

    background:#F3FBF7;

}

.why-quran__content{

    max-width:760px;

    margin:0 auto;

    text-align:center;

}

.why-quran__text{

    margin-bottom:2rem;

    color:var(--color-text);

    font-size:1.4rem;

    line-height:1.8;

}

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

.btn{

    display: inline-block;

    padding: 15px 28px;

    border-radius: var(--radius-medium);

    font-weight: var(--font-weight-semibold);

    transition: var(--transition);

}

.btn--primary{

    background: var(--color-primary);

    color: var(--color-white);

}

.btn--primary:hover{

    opacity: .9;

}

.btn--secondary{

    border: 2px solid var(--color-primary);

    color: var(--color-primary);

}

.btn--secondary:hover{

    background: var(--color-primary);

    color: var(--color-white);
}

/* ==========================================
   ARABIC QUOTE
========================================== */

quran-quoter{
    padding: 40px 0;
    background: var(--color-primary-light);
    border-bottom: 1px solid var(--color-border);
}

.arabic-quote{
    font-family: 'Mirza', serif;
    font-size: clamp(54px, 8vw, 84px);
    font-weight: 600;
    line-height: 1.5;
    direction: rtl;
    text-align: center;
    color: var(--color-primary-dark);
    margin-bottom: 16px;
}

.arabic-translation{
    max-width: 900px;
    margin: auto;
    text-align: center;
    font-size: 28px;
    line-height: 1.6;
    color: var(--color-text);
    font-weight: 500;
}

.arabic-caption{
    margin-top: 20px;
    text-align: center;
    font-size: 24px;
    color: var(--color-primary-dark);
    font-style: italic;
    opacity: .9;
}
/* ==========================================
   PRINTABLE PDF
========================================== */

.printable-box{

    max-width:900px;

    margin:50px auto 0;

    padding:32px 36px;

    background:#fff;

    border:1px solid var(--color-border);

    border-radius:24px;

    box-shadow:0 15px 40px rgba(0,0,0,.05);

}

.printable-list{

    list-style:none;

    margin:0;

    padding:0;

}

.printable-list li{

    position:relative;

    padding:10px 0 10px 54px;

    margin:0;

    border-bottom:1px solid rgba(var(--color-primary-rgb), .10);

    line-height:1.5;

    font-size:1.12rem;

}

.printable-list li:last-child{

    border-bottom:none;

}

.printable-list li::before{

    content:"✓";

    position:absolute;

    left:8px;

    top:50%;

    transform:translateY(-50%);

    width:30px;

    height:30px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(var(--color-primary-rgb), .10);

    color:var(--color-primary);

    font-size:18px;

    font-weight:700;

}

.printable-note{

    margin-top:40px;

    padding:24px 28px;

    background:rgba(var(--color-primary-rgb), .05);

    border-left:5px solid var(--color-primary);

    border-radius:16px;

}

.printable-note strong{

    display:block;

    margin-bottom:10px;

    color:var(--color-heading);

    font-size:1.1rem;

}

.printable-note p{

    margin:0;

    line-height:1.8;

}

@media(max-width:768px){

    .printable-box{

        padding:30px 24px;

        margin-top:40px;

    }

    .printable-list li{

        padding:10px 0 10px 46px;

        font-size:1rem;

    }

}

/* ==========================================
   INFO CALLOUT
========================================== */

.info-callout{

    position:relative;

    max-width:860px;

    margin:48px auto 0;

    padding:28px 32px 28px 52px;

}

.info-callout::before{

    content:"";

    position:absolute;

    left:0;
    top:0;
    bottom:0;

    width:16px;

    border-left:5px solid var(--color-primary);

    border-top-left-radius:28px;
    border-bottom-left-radius:28px;

}
.info-callout h3{

    margin-bottom:12px;

    font-family:var(--font-heading);

    font-size:1.4rem;

    font-weight:var(--font-weight-semibold);

    color:var(--color-primary-dark);

}

.info-callout p{

    margin:0;

    font-size:1.1rem;

    line-height:1.8;

    color:var(--color-text-light);

}



/* ==========================================
   SECTION FOOTER
========================================== */

.section-footer{
    max-width: 980px;
    margin: 80px auto 0;
    padding-top: 36px;

    border-top: 2px solid rgba(var(--color-primary-rgb), .12);

    text-align: center;
}

.section-footer p{
    margin: 0;

    font-size: clamp(1.05rem, 0.95rem + .35vw, 1.2rem);
    line-height: 1.9;

    color: var(--color-text);
}

.section-footer strong{
    font-weight: var(--font-weight-semibold);
    color: var(--color-heading);
}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media (max-width: 992px){

    .hero__container{

        flex-direction: column;

        text-align: center;

    }

    .hero__description{

        margin-left: auto;

        margin-right: auto;

    }

    .hero__actions{

        justify-content: center;

    }
    .why-quran__grid{
        grid-template-columns: 1fr;
        max-width: 620px;
        margin: auto;
    }
}

@media (max-width: 768px){

    .section-heading__eyebrow{
        font-size: 18px;
    }

    .section-heading__title{
    margin-bottom: 24px;
}


    .section-heading__closing{
        margin-top: 24px;
    }

    .why-quran{
        padding: 64px 0;
    }

    .section-heading{
        margin-bottom: 40px;
    }

    .nav__menu{

        gap: 18px;

        flex-wrap: wrap;

        justify-content: center;

    }

    .hero{

        padding: 60px 0;

    }

    .hero__title{

        font-size: 40px;

    }

    .hero__subtitle{

        font-size: 20px;

    }

}
@media (max-width: 480px){

    .hero__title{
        font-size: 32px;
    }

    .btn{
        width: 100%;
        text-align: center;
    }

    .header .btn{
        width: auto;
    }
}

/* ==========================================================
   HEADER - MOBILE
========================================================== */

@media (max-width: 480px){

    /* Container Header */

    .header .container{

        width: 94%;

        gap: 8px;

    }


    /* Logo */

    .logo{

        flex-shrink: 1;

        min-width: 0;

    }

    .logo img{

        height: 60px;

        width: auto;

    }


    /* Navigation */

    .main-nav{

        margin-left: auto;

        margin-right: 0;

        flex-shrink: 1;

        min-width: 0;

    }


    /* Pustaka */

    .main-nav__dropdown-toggle{

        gap: 4px;

        padding: 0.5rem 0;

        font-size: 0.85rem;

        white-space: nowrap;

    }


    /* Tombol Mulai Belajar */

    .header .btn--primary{

        flex-shrink: 1;

        width: auto;

        padding: 10px 14px;

        font-size: 0.85rem;

        line-height: 1.2;

        white-space: nowrap;

    }

}
/* ==========================================================
   HEADER DROPDOWN - MOBILE
========================================================== */

@media (max-width: 480px){

    .main-nav__dropdown{

        right: 0;

        min-width: 0;

        width: 220px;

        max-width: calc(100vw - 32px);

        box-sizing: border-box;

    }

}
/* ==========================================
   PARENT CHALLENGES SECTION
========================================== */

.parent-challenges{
    padding: 100px 0;
}

.parent-challenges__grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 64px;
}

/* Tablet */
@media (max-width: 992px){

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

}

/* Mobile */
@media (max-width: 768px){

    .parent-challenges__grid{
        grid-template-columns: 1fr;
    }

}
/* ==========================================
   BENEFITS SECTION
========================================== */

.benefits {
    padding: 100px 0;
    background: linear-gradient(
        180deg,
        #F8FCFB 0%,
        #E3F0EC 100%
    );
}
.benefits__grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.challenges__grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 992px){

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

}
@media (max-width: 768px){

    .benefits__grid,
    .challenges__grid{
        grid-template-columns: 1fr;
    }

}
/* ==========================================
   HOW IT WORKS SECTION
========================================== */

.how-it-works__grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.how-it-works__card{
    height: 100%;
}

.how-it-works__footer{
    margin-top: 80px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* ==========================================
   RESPONSIVE
========================================== */

/* Tablet */
@media (max-width: 991px){

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

}

/* Mobile */
@media (max-width: 767px){

    .how-it-works__grid{
        grid-template-columns: 1fr;
    }

}

/* ==========================================
   RESPONSIVE
========================================== */

/* Tablet */
@media (max-width: 1023px) {
    .step-card {
        flex: 0 0 calc(50% - 12px);
    }
}

/* HP */
@media (max-width: 767px) {
    .step-card {
        flex: 0 0 100%;
    }
}
/* ==========================================
   PROGRAMS SECTION
========================================== */

.programs{

    padding: 100px 0;

    background: linear-gradient(
        180deg,
        #F8FCFB 0%,
        #E3F0EC 100%
    );
}
.programs__grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:32px;
    margin-top:64px;
}
.program-card{
    display:flex;
    flex-direction:column;
    gap:16px;
    min-height:520px;
    padding:40px;

    border-radius:24px;
    border:1px solid var(--color-border);

    background:#fff;
}
.program-card__heading{
    margin-top:12px;
}
.program-card__list{
    padding-left:20px;
    line-height:1.8;
}

.program-card__list{
    list-style:none;
    padding:0;
}
.program-card__list li{
    display:flex;
    align-items:center;
    gap:10px;

    margin-bottom:12px;
}
.program-card__list li::before{

    content:"✓";

    color:var(--color-primary);

    font-weight:700;

}
.program-card--featured{

    border:2px solid var(--color-primary);

    box-shadow:
        0 12px 30px rgba(0,0,0,.06);

}
.program-card__label{

    display:inline-block;

    padding:6px 14px;

    border-radius:999px;

    background:#EEF8F5;

    color:var(--color-primary);

    font-size:.875rem;

    font-weight:600;
}
.program-card .btn{
    margin-top:auto;
    align-self:flex-start;
}

.program-card__title{
    margin:0;

    padding:18px 24px;

    background:var(--color-primary);

    color:#fff;

    border-radius:16px;

    text-align:center;

    font-size:clamp(1.75rem, 2vw, 2.25rem);
    font-weight:700;
    line-height:1.2;
}

@media (max-width:768px){

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

}
/* ==========================================
   FAQ SECTION
========================================== */

.faq-list{
    max-width: 860px;
    margin: 0 auto;
}

.faq-item{
    margin-bottom: 20px;

    border: 2px solid var(--color-border);
    border-radius: 20px;

    background: #fff;

    overflow: hidden;

    transition: .3s ease;
}

.faq-item:last-child{
    margin-bottom: 0;
}

/* ==========================
   QUESTION
========================== */

.faq-question{

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

    gap:24px;

padding:20px 24px;

    cursor:pointer;

    list-style:none;

    font-size:var(--font-size-body-lg);
    font-weight:var(--font-weight-semibold);

    transition:.3s ease;

}

/* Hilangkan icon bawaan */

.faq-question::-webkit-details-marker{
    display:none;
}

.faq-question::marker{
    display:none;
}

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

.faq-question::after{

    content:"";

    width:26px;
    height:26px;

    border:2px solid rgba(var(--color-primary-rgb), .18);
    border-radius:50%;

    flex-shrink:0;

    transition:.3s ease;

    background:
        radial-gradient(
            circle,
            transparent 0,
            transparent 42%,
            var(--color-primary) 43%,
            var(--color-primary) 58%,
            transparent 59%
        );

}
/* ==========================================
   OPEN
========================================== */

.faq-item[open]{
    border-color: rgba(var(--color-primary-rgb), .30);
}

.faq-item[open] .faq-question{

    background: rgba(var(--color-primary-rgb), .08);

    border-radius: 18px 18px 0 0;

}

.faq-item[open] .faq-question::after{

    background:
        radial-gradient(
            circle,
            var(--color-primary) 0,
            var(--color-primary) 42%,
            transparent 43%
        );

}

/* ==========================
   ANSWER
========================== */

.faq-answer{

    position: relative;

    padding: 10px 24px 24px;

}

.faq-answer::before{

    content:"";

    display:block;

    width:100%;

    height:2px;

    margin-bottom:18px;

    background:rgba(var(--color-primary-rgb), .15);

}

.faq-answer p{

    margin:0 0 16px;

    line-height:1.8;

}

.faq-answer p:last-child{

    margin-bottom:0;

}
/* ==========================
   HOVER
========================== */

.faq-item:hover{

    transform: translateY(-2px);

    border-color: rgba(var(--color-primary-rgb), .30);

}
/* ==========================
   OPEN STATE
========================== */
/* ==========================================
   CTA
========================================== */


.cta{

    padding: 120px 0;

    background:

        linear-gradient(
            180deg,
            #ffffff 0%,
            rgba(var(--color-primary-rgb), .04) 20%,
            rgba(var(--color-primary-rgb), .10) 45%,
            rgba(var(--color-primary-rgb), .18) 70%,
            rgba(var(--color-primary-rgb), .30) 100%
        );

}
.cta .container{

    max-width: 820px;

    text-align: center;

}

.cta__title{

    margin-bottom: 24px;

    font-family: var(--font-heading);

    font-size: clamp(2.25rem, 1.8rem + 1vw, 3rem);

    font-weight: var(--font-weight-bold);

    line-height: 1.2;

    color: var(--color-primary-dark);

}

.cta__description{

    max-width: 34ch;

    margin: 0 auto 44px;

    font-size: clamp(1.125rem, 1rem + .4vw, 1.25rem);

    font-weight: var(--font-weight-medium);

    line-height: 1.8;

    color: var(--color-text-light);

}

.cta__actions{

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 20px;

    flex-wrap: wrap;

}
@media (max-width:768px){

    .cta{

        padding: 80px 0;

    }

    .cta__actions{

        flex-direction: column;

    }

    .cta__actions .btn{

        width: 100%;

        max-width: 320px;

    }

}
/* ==========================================================
   HEADER — NAVIGATION
========================================================== */

header .container{
    display: flex;
    align-items: center;
    justify-content: space-between;
}


/* ==========================================================
   LOGO
========================================================== */

header .logo{
    flex-shrink: 0;
}


/* ==========================================================
   MAIN NAVIGATION
========================================================== */

.main-nav{
    margin-left: auto;
    margin-right: 1.5rem;

    flex-shrink: 0;
}

.main-nav__list{
    display: flex;
    align-items: center;

    list-style: none;

    margin: 0;
    padding: 0;
}

.main-nav__item{
    position: relative;
}


/* ==========================================================
   PUSTAKA — TOGGLE
========================================================== */

.main-nav__dropdown-toggle{
    display: inline-flex;
    align-items: center;

    gap: 0.5rem;

    padding: 0.65rem 0;

    border: 0;
    background: transparent;

    color: var(--color-primary);

    font: inherit;
    font-size: 1.25rem;
    font-weight: 700;

    cursor: pointer;

    transition:
        color 0.2s ease;
}
/* Hover */

.main-nav__dropdown-toggle:hover{
    color: var(--color-primary-dark);
}


/* ==========================================================
   PUSTAKA — ARROW
========================================================== */

.main-nav__arrow{
    font-size: 0.7rem;

    transition:
        transform 0.2s ease;
}


/* Putar panah ketika dropdown aktif */

.main-nav__item--dropdown:hover .main-nav__arrow,
.main-nav__item--dropdown:focus-within .main-nav__arrow{
    transform: rotate(180deg);
}


/* ==========================================================
   PUSTAKA — DROPDOWN
========================================================== */

.main-nav__dropdown{
    position: absolute;

    top: calc(100% + 0.75rem);
    right: 0;

    min-width: 270px;

    margin: 0;
    padding: 0.55rem;

    list-style: none;

    background: var(--color-white);

    border: 1px solid rgba(
        var(--color-primary-rgb),
        0.14
    );

    border-radius: 16px;

    box-shadow:
        0 12px 32px rgba(0, 0, 0, 0.08);

    opacity: 0;
    visibility: hidden;

    transform: translateY(-8px);

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease,
        transform 0.2s ease;

    z-index: 1000;
}


/* ==========================================================
   DROPDOWN — OPEN
========================================================== */

.main-nav__item--dropdown:hover .main-nav__dropdown,
.main-nav__item--dropdown:focus-within .main-nav__dropdown{
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}


/* ==========================================================
   DROPDOWN — ITEM
========================================================== */

.main-nav__dropdown-item{
    margin: 0;
    padding: 0;
}


/* ==========================================================
   DROPDOWN — LINK
========================================================== */

.main-nav__dropdown-link{
    display: block;

    padding: 0.95rem 1rem;

    color: var(--color-text);

    text-decoration: none;

    border-radius: 10px;

    font-size: 1.1rem;
    font-weight: 600;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

/* ==========================================================
   DROPDOWN — HOVER
========================================================== */

.main-nav__dropdown-link:hover{
    background: rgba(
        var(--color-primary-rgb),
        0.07
    );

    color: var(--color-primary);

    transform: translateX(3px);
}


/* ==========================================================
   MULAI BELAJAR
========================================================== */

header .btn--primary{
    flex-shrink: 0;
}

.heading__ribbon{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:36px;
}

.heading__line{
    flex:1;
    max-width:180px;
    height:3px;
    background:#2F8F83;
    border-radius:999px;
}

.heading__label{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    min-width:220px;
    height:52px;

    margin:0 20px;
    padding:0 32px;

    background:var(--color-primary);

    border:2px solid rgba(255,255,255,.18);

    border-radius:18px;

    color:var(--color-white);

    font-family:var(--font-heading);
    font-size:1.35rem;
    font-weight:700;

    letter-spacing:.02em;

    white-space:nowrap;

    box-shadow:
        0 6px 16px rgba(var(--color-primary-rgb), .18);
}

/* ==========================================
   DIKTE SECTION
========================================== */

.dikte-section__content{

    max-width:900px;

    margin:50px auto 0;

}


/* ==========================================
   DIKTE FLOW
========================================== */

.dikte-flow{

    display:flex;

    align-items:stretch;

    justify-content:center;

    gap:20px;

    margin-bottom:50px;

}

.dikte-flow__item{

    flex:1;

    padding:28px 24px;

    text-align:center;

    background:#fff;

    border:1px solid var(--color-border);

    border-radius:20px;

    box-shadow:0 15px 40px rgba(0,0,0,.05);

}

.dikte-flow__number{

    display:flex;

    align-items:center;

    justify-content:center;

    width:34px;

    height:34px;

    margin:0 auto 14px;

    border-radius:50%;

    background:rgba(var(--color-primary-rgb), .10);

    color:var(--color-primary);

    font-size:.95rem;

    font-weight:700;

}

.dikte-flow__item strong{

    display:block;

    margin-bottom:8px;

    color:var(--color-heading);

    font-size:1.15rem;

}

.dikte-flow__item p{

    margin:0;

    line-height:1.6;

    font-size:1rem;

}

.dikte-flow__arrow{

    display:flex;

    align-items:center;

    justify-content:center;

    color:var(--color-primary);

    font-size:1.5rem;

    font-weight:600;

}


/* ==========================================
   DIKTE LIST
========================================== */

.dikte-section__text{

    padding:32px 36px;

    background:#fff;

    border:1px solid var(--color-border);

    border-radius:24px;

    box-shadow:0 15px 40px rgba(0,0,0,.05);

}

.dikte-section__list{

    list-style:none;

    margin:0;

    padding:0;

}

.dikte-section__list li{

    position:relative;

    padding:10px 0 10px 42px;

    line-height:1.6;

    border-bottom:1px solid rgba(var(--color-primary-rgb), .10);

}

.dikte-section__list li:last-child{

    border-bottom:none;

}

.dikte-section__list li::before{

    content:"✓";

    position:absolute;

    left:0;

    top:50%;

    transform:translateY(-50%);

    width:26px;

    height:26px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:rgba(var(--color-primary-rgb), .10);

    color:var(--color-primary);

    font-size:15px;

    font-weight:700;

}


/* ==========================================
   DIKTE SUPPORT
========================================== */

.dikte-section__support{

    margin-top:40px;

    padding:28px 32px;

    background:rgba(var(--color-primary-rgb), .05);

    border-left:5px solid var(--color-primary);

    border-radius:16px;

}

.dikte-section__support h3{

    margin:0 0 12px;

    color:var(--color-heading);

    font-size:1.2rem;

}

.dikte-section__support p{

    margin:0 0 12px;

    line-height:1.8;

}

.dikte-section__support p:last-child{

    margin-bottom:0;

}


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

@media(max-width:768px){

    .dikte-section__content{

        margin-top:40px;

    }

    .dikte-flow{

        flex-direction:column;

        gap:12px;

        margin-bottom:40px;

    }

    .dikte-flow__arrow{

        transform:rotate(90deg);

        height:20px;

    }

    .dikte-flow__item{

        padding:24px 20px;

    }

    .dikte-section__text{

        padding:26px 24px;

    }

    .dikte-section__list li{

        padding:10px 0 10px 38px;

    }

    .dikte-section__support{

        margin-top:32px;

        padding:24px 22px;

    }

}