/*
==================================================
MIMA ASIK
MI MA'ARIF
CSS LANDING PAGE

File : assets/css/mima.css
Versi: 2.0

Konsep:
BELAJAR • BERMAIN • BERTUMBUH
==================================================
*/


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

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

html{
    scroll-behavior:smooth;
}

body{

    font-family:
        'Nunito',
        Arial,
        sans-serif;

    color:var(--mima-text);

    background:
        #f4fbfe;

    line-height:1.7;

    overflow-x:hidden;

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

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

button,
input,
textarea,
select{
    font-family:inherit;
}


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

.container{
    width:min(1180px, calc(100% - 40px));
    margin:auto;
}

.section{
    padding:110px 0;
}

.section-heading{
    max-width:760px;
    margin-bottom:55px;
}

.section-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:14px;

    font-size:13px;
    font-weight:900;
    letter-spacing:1.5px;
    text-transform:uppercase;

    color:#5a8f70;
}

.section-label::before{
    content:"";
    width:28px;
    height:3px;
    border-radius:20px;
    background:#f3c84b;
}

.section-title{
    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:clamp(34px,4vw,52px);
    line-height:1.16;

    color:#244438;

    letter-spacing:-1.5px;
}

.section-desc{
    margin-top:18px;

    font-size:17px;
    color:#65736d;

    max-width:680px;
}


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

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    padding:14px 24px;

    border-radius:14px;

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

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

.btn span{
    font-size:20px;
    line-height:1;
}

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

.btn-primary{
    color:#fff;
    background:#4f8c68;

    box-shadow:
        0 12px 25px rgba(79,140,104,.20);
}

.btn-primary:hover{
    background:#3f7958;

    box-shadow:
        0 16px 30px rgba(79,140,104,.27);
}

.btn-secondary{
    color:#365b49;
    background:#fff;

    border:1px solid #dce6df;

    box-shadow:
        0 8px 20px rgba(40,65,53,.07);
}

.btn-secondary:hover{
    background:#f3f8f4;
}

/* =================================================
   NAVBAR
================================================= */

.navbar{
    position:relative;
    z-index:100;

    background:rgba(232,62,125,.97);

    border-bottom:1px solid rgba(255,255,255,.16);

    backdrop-filter:blur(12px);
}

.navbar-inner{
    min-height:82px;

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

    gap:30px;
}


/* =================================================
   LINK NAVBAR
================================================= */

.navbar a{
    color:#ffffff;
}

.navbar a:hover{
    color:#fff3f7;
}

.navbar a.active{
    color:#fff3f7;
    font-weight:700;
}


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

.logo{
    display:flex;
    align-items:center;
    gap:12px;
    flex-shrink:0;
}

.logo-mark{
    width:75px;
    height:75px;

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

    flex-shrink:0;

    background:transparent;

    border-radius:0;

    box-shadow:none;

    overflow:hidden;
}

.logo-mark img{
    width:100%;
    height:100%;

    display:block;

    object-fit:contain;

    background:transparent;
}

.logo-text{
    display:flex;
    flex-direction:column;

    line-height:1.15;
}

.logo-text strong{
    font-family:'Plus Jakarta Sans',sans-serif;
    font-size:17px;
    font-weight:900;

    color:#ffffff;
}

.logo-text span{
    margin-top:4px;

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

    color:#ffe3ed;
}


/* =================================================
   MENU
================================================= */

.nav-menu{
    display:flex;
    align-items:center;
    gap:28px;
}

.nav-menu > a{
    position:relative;

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

    color:#ffffff;

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


/* =================================================
   UNDERLINE
================================================= */

.nav-menu > a:not(.nav-cta)::after{
    content:"";

    position:absolute;
    left:0;
    bottom:-7px;

    width:0;
    height:2px;

    border-radius:10px;

    background:#ffffff;

    transition:width .25s ease;
}

.nav-menu > a:not(.nav-cta):hover{
    color:#fff3f7;
}

.nav-menu > a:not(.nav-cta):hover::after{
    width:100%;
}


/* =================================================
   CTA
================================================= */

.nav-menu .nav-cta{
    padding:10px 18px;

    border-radius:11px;

    color:#e83e7d;
    background:#ffffff;

    box-shadow:
        0 7px 18px rgba(0,0,0,.14);

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

.nav-menu .nav-cta:hover{
    color:#ffffff;
    background:#c92f68;

    transform:translateY(-1px);
}

/* =================================================
   HERO — BIRU LANGIT
================================================= */

.hero{
    position:relative;

    padding:90px 0 110px;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            #168FE5 0%,
            #25A9E8 48%,
            #4BBCE8 100%
        );
}


/* =================================================
   DECORATION
================================================= */

.hero::before{
    content:"";

    position:absolute;

    width:420px;
    height:420px;

    right:-180px;
    top:-170px;

    border-radius:50%;

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

.hero::after{
    content:"";

    position:absolute;

    width:280px;
    height:280px;

    left:-150px;
    bottom:-130px;

    border-radius:50%;

    background:rgba(255,255,255,.08);
}


/* =================================================
   HERO INNER
================================================= */

.hero-inner{
    position:relative;
    z-index:2;

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

    align-items:center;

    gap:70px;
}

.hero-content{
    max-width:600px;
}


/* =================================================
   KICKER
================================================= */

.hero-kicker{
    display:inline-flex;
    align-items:center;
    gap:9px;

    margin-bottom:22px;
    padding:8px 14px;

    border-radius:30px;

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

    color:#0874b9;

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

    box-shadow:
        0 8px 20px rgba(0,70,120,.10);
}

.hero-kicker span{
    font-size:17px;
}


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

.hero h1{
    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:clamp(52px,6vw,82px);
    line-height:1.02;

    letter-spacing:-4px;

    color:#ffffff;

    text-shadow:
        0 4px 18px rgba(0,65,110,.12);
}

.hero h1 em{
    font-style:normal;

    color:#fff7cf;

    position:relative;
}

.hero h1 em::after{
    content:"";

    position:absolute;

    left:3px;
    right:0;
    bottom:-7px;

    height:8px;

    border-radius:50%;

    background:#ffd84d;

    opacity:.95;
}


/* =================================================
   HERO TEXT
================================================= */

.hero-text{
    max-width:570px;

    margin-top:28px;

    font-size:18px;
    line-height:1.8;

    color:#f2fbff;
}


/* =================================================
   HERO ACTION
================================================= */

.hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:13px;

    margin-top:32px;
}

.hero-note{
    margin-top:24px;

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

    letter-spacing:.4px;

    color:#e1f5ff;
}


/* =================================================
   HERO VISUAL
================================================= */

.hero-visual{
    position:relative;

    min-height:510px;

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

.hero-card{
    width:min(470px,100%);

    overflow:hidden;

    border-radius:32px;

    background:#fff;

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

    box-shadow:
        0 30px 70px rgba(0,70,120,.20);
}


/* =================================================
   HERO CARD TOP
================================================= */

.hero-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:20px 23px;

    border-bottom:1px solid #e7f3f9;
}

.hero-card-label{
    font-size:11px;
    font-weight:900;

    letter-spacing:1.2px;

    color:#42677a;
}

.hero-card-badge{
    padding:6px 11px;

    border-radius:20px;

    background:#fff1b8;

    color:#806414;

    font-size:11px;
    font-weight:900;
}


/* =================================================
   HERO ILLUSTRATION
================================================= */

.hero-illustration{
    position:relative;

    height:390px;

    overflow:hidden;

    background:
        linear-gradient(
            180deg,
            #bdeeff 0%,
            #dff7ff 67%,
            #8fd3a8 67%,
            #8fd3a8 100%
        );
}

.circle{
    position:absolute;

    width:210px;
    height:210px;

    top:58px;
    left:50%;

    transform:translateX(-50%);

    border-radius:50%;

    background:#fff8c9;
}

.sun{
    position:absolute;

    width:58px;
    height:58px;

    top:38px;
    right:60px;

    border-radius:50%;

    background:#ffd84d;

    opacity:.95;
}

.cloud{
    position:absolute;

    width:90px;
    height:24px;

    top:100px;
    left:60px;

    border-radius:30px;

    background:rgba(255,255,255,.88);
}

.cloud::before{
    content:"";

    position:absolute;

    width:35px;
    height:35px;

    left:18px;
    top:-15px;

    border-radius:50%;

    background:rgba(255,255,255,.88);
}

.cloud::after{
    content:"";

    position:absolute;

    width:42px;
    height:42px;

    right:10px;
    top:-20px;

    border-radius:50%;

    background:rgba(255,255,255,.88);
}

.tree{
    position:absolute;

    left:45px;
    bottom:52px;

    font-size:82px;
}

.child{
    position:absolute;

    left:50%;
    bottom:48px;

    transform:translateX(-50%);

    font-size:110px;
}

.book{
    position:absolute;

    right:42px;
    bottom:43px;

    font-size:65px;

    transform:rotate(-7deg);
}


/* =================================================
   HERO FLOATING
================================================= */

.hero-floating{
    position:absolute;

    display:flex;
    align-items:center;
    gap:11px;

    padding:11px 15px;

    border-radius:16px;

    background:#ffffff;

    box-shadow:
        0 14px 35px rgba(0,70,120,.16);

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

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

    color:#31566a;

    animation:mimaFloat 4s ease-in-out infinite;
}

.hero-floating-icon{
    width:34px;
    height:34px;

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

    border-radius:11px;

    background:#e4f7ff;

    color:#087fc2;

    font-size:18px;
}

.hero-floating.one{
    left:-20px;
    bottom:78px;
}

.hero-floating.two{
    right:-15px;
    top:88px;

    animation-delay:1.2s;
}


/* =================================================
   FLOAT ANIMATION
================================================= */

@keyframes mimaFloat{

    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-8px);
    }

}

/* =================================================
   WELCOME STRIP
================================================= */

.welcome-strip{
    padding:20px 0;

    background:#244438;

    color:#fff;
}

.welcome-inner{
    display:flex;
    align-items:center;
    justify-content:center;

    gap:12px;

    text-align:center;
}

.welcome-inner > span{
    font-size:20px;
}

.welcome-inner p{
    font-size:14px;
    font-weight:700;
    letter-spacing:.2px;
}


/* =================================================
   WHY / 4 PILAR
================================================= */

.why{
    background:#bfe8f7;
}
.why .section-heading{
    margin-left:auto;
    margin-right:auto;

    text-align:center;
}

.why .section-desc{
    margin-left:auto;
    margin-right:auto;
}

.why-grid{
    display:grid;

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

    gap:18px;
}

.why-card{
    padding:30px 24px;

    border-radius:23px;

    background:#f8faf6;

    border:1px solid #edf1ea;

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

.why-card:hover{
    transform:translateY(-7px);

    border-color:#dce8dd;

    box-shadow:
        0 18px 35px rgba(54,82,65,.09);
}

.why-icon{
    width:58px;
    height:58px;

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

    margin-bottom:22px;

    border-radius:17px;

    background:#edf5ee;

    font-size:28px;
}

.why-card:nth-child(2) .why-icon{
    background:#fff5d5;
}

.why-card:nth-child(3) .why-icon{
    background:#f1eaf8;
}

.why-card:nth-child(4) .why-icon{
    background:#eaf3ed;
}

.why-card h3{
    margin-bottom:10px;

    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:18px;
    line-height:1.3;

    color:#294b3d;
}

.why-card p{
    font-size:14px;
    line-height:1.75;

    color:#718079;
}

/* =========================================================
   PROFIL LEMBAGA — BIRU CERAH ELEGAN
========================================================= */

.profile{
    background:rgba(232,62,125,.97);
}

.profile .section-label{
    color:#ffffff;
}

.profile .section-title{
    color:#ffffff;
}

.profile .section-desc{
    color:#eaf8ff;
}

.profile-inner{
    display:grid;

    grid-template-columns:
        .9fr 1.1fr;

    align-items:center;

    gap:85px;
}

.profile-visual{
    position:relative;
}

.profile-image{
    min-height:500px;

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

    border-radius:32px;

    background:
        linear-gradient(
            145deg,
            #dff5ff,
            #f7e5ee
        );

    box-shadow:
        0 25px 55px rgba(0,70,120,.18);

    overflow:hidden;
}

.profile-image span{
    font-size:110px;

    filter:drop-shadow(
        0 15px 15px rgba(0,70,120,.16)
    );
}

.profile-tag{
    position:absolute;

    right:-25px;
    bottom:30px;

    padding:13px 18px;

    border-radius:16px;

    background:#ffffff;

    color:#159BD7;

    font-size:13px;
    font-weight:900;

    box-shadow:
        0 15px 30px rgba(0,70,120,.18);
}

.profile-content p{
    margin-top:18px;

    color:#eefaff;

    font-size:16px;
}

.profile-list{
    display:grid;

    gap:12px;

    margin-top:27px;
}

.profile-list-item{
    display:flex;
    align-items:flex-start;

    gap:12px;

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

    color:#ffffff;
}

.profile-list-item span{
    width:24px;
    height:24px;

    flex-shrink:0;

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

    border-radius:50%;

    background:#ffffff;

    color:#159BD7;

    font-size:13px;
    font-weight:900;
}
/* =================================================
   VISI
================================================= */

#visi{
    background:
        linear-gradient(
            135deg,
            #168FE5 0%,
            #25A9E8 48%,
            #4BBCE8 100%
        );
}
.vision-card{
    position:relative;

    display:flex;
    align-items:flex-start;

    gap:30px;

    padding:45px;

    border-radius:30px;

    background:
        linear-gradient(
            135deg,
            #f0f7ee,
            #fbf7e8
        );

    border:1px solid #e6eee4;

    overflow:hidden;
}

.vision-card::after{
    content:"";

    position:absolute;

    width:230px;
    height:230px;

    right:-90px;
    top:-90px;

    border-radius:50%;

    background:rgba(243,200,75,.16);
}

.vision-icon{
    position:relative;
    z-index:2;

    width:72px;
    height:72px;

    flex-shrink:0;

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

    border-radius:22px;

    background:#fff;

    font-size:34px;

    box-shadow:
        0 10px 25px rgba(51,79,62,.08);
}

.vision-content{
    position:relative;
    z-index:2;

    max-width:900px;
}

.vision-label{
    display:block;

    margin-bottom:12px;

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

    letter-spacing:1.5px;

    color:#719078;
}

.vision-content p{
    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:clamp(20px,2.2vw,29px);

    line-height:1.55;

    font-weight:700;

    color:#315343;
}


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

.mission{
    background:#bfe8f7;
}

.mission-grid{
    display:grid;

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

    gap:18px;
}

.mission-card{
    position:relative;

    display:flex;
    align-items:flex-start;

    gap:20px;

    padding:27px;

    border-radius:22px;

    background:#fff;

    border:1px solid #ecebe1;

    box-shadow:
        0 7px 20px rgba(45,61,50,.04);
}

.mission-number{
    width:45px;
    height:45px;

    flex-shrink:0;

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

    border-radius:14px;

    background:#edf5ee;

    color:#4f8c68;

    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:16px;
    font-weight:900;
}

.mission-card p{
    font-size:14px;
    line-height:1.75;

    color:#65736d;
}


/* =================================================
   TUJUAN
================================================= */

.goals{
    background:#fff;
}

.goals-list{
    display:grid;

    gap:14px;

    max-width:1000px;
}

.goal-item{
    display:grid;

    grid-template-columns:70px 1fr;

    gap:20px;

    align-items:start;

    padding:22px 25px;

    border-radius:18px;

    background:#fafbf8;

    border:1px solid #edf0ea;

    transition:
        transform .2s ease,
        border-color .2s ease;
}

.goal-item:hover{
    transform:translateX(5px);

    border-color:#dbe7dd;
}

.goal-number{
    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:27px;
    font-weight:900;

    color:#a7b6ad;
}

.goal-text{
    padding-top:3px;

    font-size:14px;
    line-height:1.75;

    color:#5e6e66;
}


/* =================================================
   POLICY
================================================= */

.policy{
    background:linear-gradient(135deg,#f8d3df 0%,#bfe8f7 100%);
}

.policy .section-heading{
    max-width:780px;
}

.policy-grid{
    display:grid;

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

    gap:18px;
}

.policy-card{
    padding:28px 25px;

    border-radius:22px;

    background:#fff;

    border:1px solid #e4ebe2;

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

.policy-card:hover{
    transform:translateY(-6px);

    box-shadow:
        0 18px 35px rgba(47,74,57,.09);
}

.policy-icon{
    width:54px;
    height:54px;

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

    margin-bottom:18px;

    border-radius:16px;

    background:#f2f6e9;

    font-size:26px;
}

.policy-card:nth-child(2) .policy-icon{
    background:#fff4d0;
}

.policy-card:nth-child(3) .policy-icon{
    background:#f2eaf7;
}

.policy-card:nth-child(4) .policy-icon{
    background:#e9f2ec;
}

.policy-card:nth-child(5) .policy-icon{
    background:#eaf1f7;
}

.policy-card:nth-child(6) .policy-icon{
    background:#f5ecdf;
}

.policy-card h3{
    margin-bottom:9px;

    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:17px;

    color:#2d5041;
}

.policy-card p{
    font-size:14px;
    line-height:1.7;

    color:#718079;
}


/* =================================================
   LEARNING
================================================= */

.learning{
    background:#bfe8f7;
}

.learning-grid{
    display:grid;

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

    gap:20px;
}

.learning-card{
    position:relative;

    min-height:320px;

    padding:30px;

    border-radius:27px;

    overflow:hidden;

    border:1px solid rgba(52,75,62,.06);

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

.learning-card:hover{
    transform:translateY(-7px);

    box-shadow:
        0 20px 40px rgba(43,67,52,.10);
}

.learning-card.green{
    background:#e9f3e9;
}

.learning-card.yellow{
    background:#fff4d0;
}

.learning-card.purple{
    background:#f0e9f7;
}

.learning-card h3{
    position:relative;
    z-index:2;

    max-width:220px;

    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:22px;
    line-height:1.25;

    color:#2e5141;
}

.learning-card p{
    position:relative;
    z-index:2;

    max-width:260px;

    margin-top:13px;

    font-size:14px;

    color:#66766d;
}

.learning-icon{
    position:absolute;

    right:25px;
    bottom:15px;

    font-size:100px;

    opacity:.82;

    transform:rotate(-7deg);
}


/* =================================================
   GAME SECTION
================================================= */

.game-section{
    background:linear-gradient(135deg,#a9def2 0%,#f4c4d6 100%);

    position:relative;

    overflow:hidden;

}
.game-section::before{
    content:"";

    position:absolute;

    width:420px;
    height:420px;

    left:-180px;
    top:-190px;

    border-radius:50%;

    background:rgba(243,200,75,.08);
}

.game-section::after{
    content:"";

    position:absolute;

    width:300px;
    height:300px;

    right:-120px;
    bottom:-150px;

    border-radius:50%;

    background:rgba(130,188,145,.09);
}

.game-inner{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:
        1fr .9fr;

    align-items:center;

    gap:80px;
}

.game-section .section-label{
    color:#b9d7bd;
}

.game-section .section-label::before{
    background:#f3c84b;
}

.game-section .section-title{
    color:#fff;
}

.game-content > p{
    max-width:620px;

    margin-top:17px;

    font-size:16px;

    color:#c8d7ce;
}

.game-content .btn{
    margin-top:28px;

    background:#f3c84b;

    color:#294438;

    box-shadow:
        0 14px 28px rgba(0,0,0,.15);
}

.game-content .btn:hover{
    background:#f6d46c;
}

.game-visual{
    position:relative;

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

.game-visual-main{
    width:100%;

    padding:48px 35px;

    text-align:center;

    border-radius:32px;

    background:
        linear-gradient(
            145deg,
            #315a48,
            #376550
        );

    border:1px solid rgba(255,255,255,.09);

    box-shadow:
        0 25px 60px rgba(0,0,0,.18);
}

.big-icon{
    font-size:82px;

    margin-bottom:10px;
}

.game-visual-main h3{
    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:25px;

    color:#fff;
}

.game-visual-main p{
    margin-top:4px;

    font-size:14px;

    color:#c1d3c7;
}

.game-coming{
    display:inline-block;

    margin-top:22px;
    padding:8px 13px;

    border-radius:20px;

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

    color:#b8d2c0;

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

.game-dots{
    position:absolute;

    left:-22px;
    bottom:-17px;

    display:flex;
    gap:7px;
}

.game-dots span{
    width:10px;
    height:10px;

    border-radius:50%;

    background:#f3c84b;
}

.game-dots span:nth-child(2){
    background:#a9cda9;
}

.game-dots span:nth-child(3){
    background:#d8b9e9;
}


/* =================================================
   STORIES
================================================= */

.stories{
    background:#fbfaf5;
}

.stories-grid{
    display:grid;

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

    gap:20px;
}

.story-card{
    overflow:hidden;

    border-radius:24px;

    background:#fff;

    border:1px solid #eceee9;

    box-shadow:
        0 8px 25px rgba(48,65,54,.045);

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

.story-card:hover{
    transform:translateY(-6px);

    box-shadow:
        0 18px 38px rgba(48,65,54,.09);
}

.story-image{
    min-height:220px;

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

    font-size:75px;

    background:#edf4eb;
}

.story-card:nth-child(2) .story-image{
    background:#fff3d0;
}

.story-card:nth-child(3) .story-image{
    background:#f0e8f6;
}

.story-content{
    padding:25px;
}

.story-label{
    display:inline-block;

    margin-bottom:9px;

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

    letter-spacing:1px;
    text-transform:uppercase;

    color:#6b9678;
}

.story-content h3{
    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:18px;
    line-height:1.4;

    color:#2d4e40;
}

.story-content p{
    margin-top:9px;

    font-size:13px;

    color:#748079;
}


/* =================================================
   CTA
================================================= */

.cta{
    padding:80px 0;

    background:
        linear-gradient(
            135deg,
            #eaf3e8,
            #f9f0d6
        );
}

.cta-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:40px;
}

.cta h2{
    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:clamp(35px,4vw,55px);

    line-height:1.1;

    letter-spacing:-2px;

    color:#284a3b;
}

.cta p{
    margin-top:13px;

    font-size:16px;

    color:#6d7a73;
}

.cta .btn{
    flex-shrink:0;

    background:#244438;
    color:#fff;
}

.cta .btn:hover{
    background:#315a48;
}


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

.footer{
    padding:65px 0 25px;

    background:#1d382d;

    color:#d3ded7;
}

.footer-top{
    display:grid;

    grid-template-columns:
        1.5fr .7fr .8fr;

    gap:70px;

    padding-bottom:45px;

    border-bottom:1px solid rgba(255,255,255,.09);
}

.footer-logo{
    display:flex;
    align-items:center;

    gap:12px;
}

.footer-logo .logo-mark{
    background:#f3c84b;
}

.footer-logo strong{
    display:block;

    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:17px;

    color:#fff;
}

.footer-logo span{
    display:block;

    margin-top:3px;

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

    color:#9fb0a7;
}

.footer-about p{
    max-width:430px;

    margin-top:18px;

    font-size:13px;
    line-height:1.8;

    color:#9fb0a7;
}

.footer h4{
    margin-bottom:15px;

    font-family:'Plus Jakarta Sans',sans-serif;

    font-size:14px;

    color:#fff;
}

.footer-links{
    display:flex;
    flex-direction:column;

    gap:9px;
}

.footer-links a,
.footer-links span{
    font-size:13px;

    color:#aebdb5;

    transition:color .2s ease;
}

.footer-links a:hover{
    color:#f3c84b;
}

.footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:20px;

    padding-top:22px;

    font-size:11px;

    color:#82958b;
}


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

@media (max-width:1050px){

    .nav-menu{
        gap:18px;
    }

    .nav-menu > a{
        font-size:13px;
    }

    .hero-inner{
        gap:40px;
    }

    .hero-floating.one{
        left:-5px;
    }

    .hero-floating.two{
        right:-5px;
    }

    .profile-inner{
        gap:50px;
    }

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

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

}


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

@media (max-width:800px){

    .container{
        width:min(100% - 30px, 600px);
    }

    .section{
        padding:75px 0;
    }


    /* NAVBAR */

    .navbar-inner{
        min-height:72px;
    }

    .nav-menu{
        display:none;
    }


    /* HERO */

    .hero{
        padding:65px 0 80px;
    }

    .hero-inner{
        grid-template-columns:1fr;

        gap:55px;
    }

    .hero-content{
        max-width:none;

        text-align:center;
    }

    .hero-kicker{
        margin-left:auto;
        margin-right:auto;
    }

    .hero h1{
        font-size:clamp(48px,14vw,68px);

        letter-spacing:-3px;
    }

    .hero-text{
        margin-left:auto;
        margin-right:auto;

        font-size:16px;
    }

    .hero-actions{
        justify-content:center;
    }

    .hero-note{
        text-align:center;
    }

    .hero-visual{
        min-height:430px;
    }

    .hero-card{
        max-width:430px;
    }

    .hero-illustration{
        height:330px;
    }

    .hero-floating{
        font-size:10px;
    }

    .hero-floating.one{
        left:0;
        bottom:45px;
    }

    .hero-floating.two{
        right:0;
        top:50px;
    }


    /* SECTION */

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

    .section-title{
        font-size:35px;

        letter-spacing:-1px;
    }

    .section-desc{
        font-size:15px;
    }


    /* 4 PILAR */

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

        gap:14px;
    }

    .why-card{
        padding:25px;
    }


    /* PROFILE */

    .profile-inner{
        grid-template-columns:1fr;

        gap:50px;
    }

    .profile-image{
        min-height:360px;
    }

    .profile-tag{
        right:10px;
    }


    /* VISI */

    .vision-card{
        flex-direction:column;

        padding:30px 25px;

        gap:20px;
    }

    .vision-content p{
        font-size:20px;
    }


    /* MISI */

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

    .mission-card{
        padding:23px;
    }


    /* TUJUAN */

    .goal-item{
        grid-template-columns:50px 1fr;

        gap:12px;

        padding:20px;
    }

    .goal-number{
        font-size:22px;
    }


    /* POLICY */

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


    /* LEARNING */

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

    .learning-card{
        min-height:260px;
    }


    /* GAME */

    .game-inner{
        grid-template-columns:1fr;

        gap:45px;
    }

    .game-content{
        text-align:center;
    }

    .game-content .section-label{
        justify-content:center;
    }

    .game-content > p{
        margin-left:auto;
        margin-right:auto;
    }

    .game-visual{
        max-width:500px;

        width:100%;

        margin:auto;
    }


    /* STORIES */

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


    /* CTA */

    .cta{
        padding:65px 0;
    }

    .cta-inner{
        flex-direction:column;

        text-align:center;
    }


    /* FOOTER */

    .footer-top{
        grid-template-columns:1fr;

        gap:38px;
    }

    .footer-bottom{
        flex-direction:column;

        text-align:center;
    }

}


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

@media (max-width:480px){

    .container{
        width:calc(100% - 24px);
    }

    .hero{
        padding-top:50px;
    }

    .hero h1{
        font-size:48px;
    }

    .hero-actions{
        flex-direction:column;

        align-items:stretch;
    }

    .hero-actions .btn{
        width:100%;
    }

    .hero-visual{
        min-height:390px;
    }

    .hero-card{
        border-radius:25px;
    }

    .hero-card-top{
        padding:16px;
    }

    .hero-illustration{
        height:290px;
    }

    .tree{
        left:20px;
        bottom:35px;

        font-size:60px;
    }

    .child{
        bottom:35px;

        font-size:85px;
    }

    .book{
        right:20px;
        bottom:30px;

        font-size:48px;
    }

    .sun{
        right:35px;
    }

    .cloud{
        left:30px;
    }

    .hero-floating{
        padding:8px 10px;
    }

    .hero-floating-icon{
        width:28px;
        height:28px;

        font-size:15px;
    }

    .hero-floating.one{
        left:-2px;
    }

    .hero-floating.two{
        right:-2px;
    }

    .section-title{
        font-size:31px;
    }

    .vision-content p{
        font-size:18px;
    }

    .profile-image{
        min-height:300px;
    }

    .profile-image span{
        font-size:80px;
    }

    .learning-card{
        min-height:240px;
    }

    .learning-icon{
        font-size:80px;
    }

    .game-visual-main{
        padding:38px 20px;
    }

    .big-icon{
        font-size:65px;
    }

    .game-visual-main h3{
        font-size:21px;
    }

    .cta h2{
        font-size:36px;
    }

}


/* =================================================
   ACCESSIBILITY
================================================= */

@media (prefers-reduced-motion:reduce){

    html{
        scroll-behavior:auto;
    }

    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }

}