/* ==========================================================
   Mimpi Jadi Nyata
   Landing Page CSS
   Version 2
========================================================== */


/* ==========================================================
   RESET
========================================================== */

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:Inter,sans-serif;
    font-size:16px;
    line-height:1.7;
    color:#1f2937;
    background:#ffffff;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}

img{
    display:block;
    max-width:100%;
}

a{
    color:inherit;
    text-decoration:none;
}

ul{
    list-style:none;
}

button{
    font:inherit;
    cursor:pointer;
}


/* ==========================================================
   VARIABLES
========================================================== */

:root{

    --primary:#f4c400;
    --primary-dark:#d6a800;
    --secondary:#fff8d6;

    --text:#111827;
    --muted:#6b7280;

    --border:#e5e7eb;

    --white:#ffffff;

    --shadow:
        0 20px 50px rgba(15,23,42,.08);

    --shadow-hover:
        0 30px 60px rgba(15,23,42,.12);

    --radius:24px;

    --container:1200px;

    --transition:.3s ease;

}


/* ==========================================================
   TYPOGRAPHY
========================================================== */

h1,
h2,
h3{
    color:var(--text);
    font-weight:700;
    line-height:1.2;
}

h1{
    font-size:3.5rem;
    margin-bottom:24px;
}

h2{
    font-size:2.4rem;
    margin-bottom:18px;
}

h3{
    font-size:1.3rem;
    margin-bottom:12px;
}

p{
    color:var(--muted);
}

strong{
    color:var(--text);
}


/* ==========================================================
   LAYOUT
========================================================== */

.container{

    width:min(
        calc(100% - 40px),
        var(--container)
    );

    margin:auto;

}

section{

    padding:100px 0;

}

.section-heading{

    max-width:760px;

    margin:0 auto 70px;

    text-align:center;

}

.section-label{

    display:inline-block;

    margin-bottom:16px;

    padding:8px 16px;

    border-radius:999px;

    background:var(--secondary);

    color:var(--primary);

    font-weight:600;

    font-size:.9rem;

}

.section-heading p{

    margin-top:18px;

    font-size:1.1rem;

}


/* ==========================================================
   BUTTON
========================================================== */

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 32px;

    border-radius:999px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:#25D366;

    color:#fff;

    box-shadow:var(--shadow);

}

.btn-primary:hover{

    background:#1ebe5d;

    transform:translateY(-3px);

    box-shadow:var(--shadow-hover);

}

.btn-large{

    padding:18px 40px;

    font-size:1.05rem;

}

/* ==========================================================
   HEADER
========================================================== */

.site-header{

    position:sticky;

    top:0;

    z-index:1000;

    background:rgba(255,255,255,.90);

    backdrop-filter:blur(14px);

    border-bottom:1px solid rgba(229,231,235,.7);

}

.header-wrapper{

    display:flex;

    align-items:center;

    justify-content:space-between;

    min-height:80px;

}

.logo{

    font-size:1.45rem;

    font-weight:800;

    color:var(--text);

    letter-spacing:-.5px;

}

.header-button{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:12px 24px;

    border-radius:999px;

    background:#25D366;

    color:#fff;

    font-weight:600;

    transition:var(--transition);

}

.header-button:hover{

    background:var(--primary-dark);

    transform:translateY(-2px);

}


/* ==========================================================
   HERO
========================================================== */

.hero{

    position:relative;

    overflow:hidden;

    padding:55px 0 65px;

    background:
        radial-gradient(circle at top right,#fff6cc 0%,transparent 45%),
        radial-gradient(circle at bottom left,#fffbe8 0%,transparent 45%),
        #ffffff;

}

.hero-grid{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:50px;

    align-items:center;

}

.hero-left{

    max-width:620px;

}

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 18px;

    margin-bottom:26px;

    border-radius:999px;

    background:#fff5bf;
    color:#9a6d00;

    font-weight:600;

}

.hero h1{

    margin-bottom:28px;

    letter-spacing:-2px;

}

.hero h1 span{

    color:var(--primary);

}

.hero-description{

    font-size:1.05rem;

    line-height:1.8;

    margin-bottom:28px;

    max-width:560px;

}


/* ==========================================================
   HERO CHECKLIST
========================================================== */

.hero-checklist{

    display:grid;

    gap:14px;

    margin-bottom:30px;

}

.hero-checklist li{

    display:flex;

    align-items:center;

    gap:14px;

    font-weight:500;

}

.hero-checklist li::before{

    content:"✓";

    width:30px;

    height:30px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#fff4b8;
    color:#8a6800;

    font-weight:700;

    flex-shrink:0;

}

/* ==========================================================
   FIT
========================================================== */

.fit{

    background:#ffffff;

}

.fit-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}

.fit-card{

    padding:32px;

    background:#fff;

    border:1px solid var(--border);

    border-radius:24px;

    transition:var(--transition);

    box-shadow:0 8px 24px rgba(15,23,42,.04);

}

.fit-card:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow);

}

.fit-card h3{

    margin-bottom:12px;

    font-size:1.2rem;

}

.fit-card h3::before{

    content:"✓ ";

    color:var(--primary);

    font-weight:700;

}

.fit-card p{

    line-height:1.8;

}


/* ==========================================================
   HERO BUTTON
========================================================== */

.hero-buttons{

    display:flex;

    gap:18px;

    align-items:center;

    flex-wrap:wrap;

}


/* ==========================================================
   HERO PHOTO
========================================================== */

.hero-photo-card{

    position:relative;

    padding:22px;

    background:#fff;

    border-radius:30px;

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.hero-photo-card:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow-hover);

}

.hero-photo{

    width:100%;

    aspect-ratio:4/5;

    object-fit:cover;

    border-radius:22px;

}

.agent-info{

    padding-top:24px;

    text-align:center;

}

.agent-info h2{

    font-size:1.6rem;

    margin-bottom:8px;

}

.agent-info p{

    color:var(--text);

    font-weight:600;

    margin-bottom:6px;

}

.agent-info span{

    color:var(--muted);

}


/* ==========================================================
   SOCIAL PROOF
========================================================== */

.social-proof{

    padding:0 0 100px;

}

.proof-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:24px;

}

.proof-item{

    padding:28px;

    background:#fff;

    border:1px solid var(--border);

    border-radius:24px;

    text-align:center;

    transition:var(--transition);

}

.proof-item:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow);

}

.proof-item strong{

    display:block;

    font-size:1.4rem;

    margin-bottom:12px;

    color:var(--primary);

}

.proof-item span{

    color:var(--muted);

    font-size:.95rem;

    line-height:1.6;

}

/* ==========================================================
   CAREER
========================================================== */

.career{

    background:#f8fafc;

}

.career-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.career-card{

    position:relative;

    padding:40px;

    background:#fff;

    border:1px solid var(--border);

    border-radius:28px;

    transition:var(--transition);

    overflow:hidden;

}

.career-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow);

}

.career-card::after{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:6px;

    height:100%;

    background:var(--primary);

}

.career-number{

    font-size:3rem;

    font-weight:800;

    color:#dcfce7;

    margin-bottom:18px;

}

.career-card h3{

    margin-bottom:14px;

}

.career-card p{

    line-height:1.9;

}


/* ==========================================================
   BENEFITS
========================================================== */

.benefit-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.benefit-card{

    padding:40px;

    border:1px solid var(--border);

    border-radius:28px;

    background:#fff;

    transition:var(--transition);

}

.benefit-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow);

}

.benefit-icon{

    width:72px;

    height:72px;

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:24px;

    border-radius:20px;

    background:#ecfdf5;

    color:var(--primary);

    font-size:2rem;

}

.benefit-card h3{

    margin-bottom:14px;

}

.benefit-card p{

    line-height:1.9;

}


/* ==========================================================
   STEPS
========================================================== */

.steps{

    background:#f8fafc;

}

.step-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}

.step-card{

    position:relative;

    padding:40px;

    background:#fff;

    border-radius:28px;

    border:1px solid var(--border);

    text-align:center;

    transition:var(--transition);

}

.step-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow);

}

.step-number{

    width:70px;

    height:70px;

    margin:0 auto 24px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#f4c400;
    color:#111;

    font-size:1.5rem;

    font-weight:700;

}

.step-card h3{

    margin-bottom:16px;

}

.step-card p{

    line-height:1.8;

}


/* ==========================================================
   FLOATING EFFECT
========================================================== */

.hero-photo-card::before{

    content:"Mentor Aktif";

    position:absolute;

    top:-18px;

    right:-15px;

    padding:12px 20px;

    background:#fff;

    border-radius:999px;

    box-shadow:var(--shadow);

    font-size:.85rem;

    font-weight:700;

    color:var(--primary);

}

.hero-photo-card::after{

    content:"🏆 Mentor Brighton";

    position:absolute;

    left:-18px;

    bottom:40px;

    padding:12px 18px;

    background:#fff;

    border-radius:18px;

    box-shadow:var(--shadow);

    color:#f59e0b;

    font-size:.9rem;

    letter-spacing:2px;

}


/* ==========================================================
   CARD ANIMATION
========================================================== */

.benefit-card,
.career-card,
.step-card,
.proof-item{

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}

/* ==========================================================
   MENTOR
========================================================== */

.mentor{

    background:#ffffff;

}

.mentor-grid{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:80px;

    align-items:center;

}

.mentor-photo img{

    width:100%;

    display:block;

    border-radius:32px;

    box-shadow:var(--shadow);

}

.mentor-content p{

    margin:24px 0;

    font-size:1.05rem;

    line-height:1.9;

}

.mentor-checklist{

    display:grid;

    gap:18px;

    margin:35px 0;

}

.mentor-checklist li{

    display:flex;

    align-items:center;

    gap:15px;

    font-weight:500;

}

.mentor-checklist li::before{

    content:"✓";

    width:32px;

    height:32px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#fff4b8;
    color:#8a6800;

    font-weight:700;

    flex-shrink:0;

}


/* ==========================================================
   FAQ
========================================================== */

.faq{

    background:#ffffff;

}

.faq-list{

    max-width:900px;

    margin:auto;

}

.faq-list details{

    margin-bottom:18px;

    padding:28px;

    border:1px solid var(--border);

    border-radius:20px;

    background:#fff;

    transition:var(--transition);

}

.faq-list details:hover{

    box-shadow:var(--shadow);

}

.faq-list summary{

    cursor:pointer;

    font-weight:700;

    list-style:none;

    position:relative;

    padding-right:30px;

}

.faq-list summary::-webkit-details-marker{

    display:none;

}

.faq-list summary::after{

    content:"+";

    position:absolute;

    right:0;

    top:0;

    font-size:1.4rem;

    color:var(--primary);

}

.faq-list details[open] summary::after{

    content:"−";

}

.faq-list p{

    margin-top:18px;

    line-height:1.9;

}


/* ==========================================================
   CTA
========================================================== */

.cta,
.final-cta{

    background:#f8fafc;

}

.cta-box,
.final-card{

    padding:80px 60px;

    text-align:center;

    background:linear-gradient(
    135deg,
    #f7cf2f,
    #e7b800
    );

    color:#111;

    border-radius:36px;

    box-shadow:0 30px 80px rgba(22,163,74,.30);

}

.cta-box span,
.final-card span{

    display:inline-block;

    margin-bottom:18px;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.18);

    font-size:.9rem;

}

.cta-box h2,
.final-card h2{

    color:#111;

    margin-bottom:25px;

    font-size:2.6rem;

}

.cta-box p,
.final-card p{

    color:#333;

    max-width:720px;

    margin:0 auto 35px;

    line-height:1.9;

}

.cta-box .btn,
.final-card .btn{

    background:#fff;

    color:var(--primary);

    font-weight:700;

}

.cta-box .btn:hover,
.final-card .btn:hover{

    transform:translateY(-3px);

    background:#f8fafc;

}

/* ==========================================================
   FOOTER
========================================================== */

.site-footer{

    background:#0f172a;

    color:#cbd5e1;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:60px;

    padding:80px 0 50px;

}

.site-footer h3{

    color:#ffffff;

    font-size:1.8rem;

    margin-bottom:20px;

}

.site-footer strong{

    color:#ffffff;

    display:block;

    margin-bottom:10px;

}

.site-footer p{

    color:#94a3b8;

    line-height:1.9;

}

.footer-bottom{

    padding:28px 0;

    text-align:center;

    border-top:1px solid rgba(255,255,255,.08);

    font-size:.9rem;

    color:#64748b;

}


/* ==========================================================
   SIMPLE ANIMATION
========================================================== */

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}

.hero-photo-card{

    animation:float 6s ease-in-out infinite;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.hero-left{

    animation:fadeUp .8s ease;

}

.hero-right{

    animation:fadeUp 1.1s ease;

}

.section-heading{

    animation:fadeUp .9s ease;

}


/* ==========================================================
   HOVER EFFECT
========================================================== */

.hero-photo{

    transition:.5s ease;
    border:5px solid #fff5bf;

}

.hero-photo:hover{

    transform:scale(1.02);

}

.btn{

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        background .25s ease;

}

.btn:hover{

    box-shadow:

        0 18px 45px rgba(22,163,74,.25);

}

.logo{

    transition:.25s ease;

}

.logo:hover{

    color:var(--primary);

}


/* ==========================================================
   RESPONSIVE
========================================================== */

@media(max-width:1100px){

.hero-grid{

    grid-template-columns:1fr;

    gap:50px;

    text-align:center;

}

.hero-left{

    max-width:100%;

}

.hero-buttons{

    justify-content:center;

}

.hero-checklist{

    max-width:420px;

    margin:0 auto 40px;

}

.fit-grid{

    grid-template-columns:repeat(2,1fr);

}

.proof-grid{

    grid-template-columns:repeat(2,1fr);

}

.career-grid{

    grid-template-columns:1fr;

}

.benefit-grid{

    grid-template-columns:1fr;

}

.step-grid{

    grid-template-columns:1fr;

}

.mentor-grid{

    grid-template-columns:1fr;

    text-align:center;

}

.testimonial-grid{

    grid-template-columns:1fr;

}

.footer-grid{

    grid-template-columns:1fr;

}

}


@media(max-width:768px){

section{

    padding:70px 0;

}

.header-wrapper{

    min-height:70px;

}

.header-button{

    display:none;

}

h1{

    font-size:2.3rem;

}

h2{

    font-size:1.8rem;

}

.hero{

    padding:60px 0 80px;

}

.hero-photo-card{

    padding:18px;

}

.fit-grid{

    grid-template-columns:1fr;

}

.proof-grid{

    grid-template-columns:1fr;

}

.cta-box,
.final-card{

    padding:50px 30px;

}

.cta-box h2,
.final-card h2{

    font-size:2rem;

}

.section-heading{

    margin-bottom:50px;

}

}


@media(max-width:480px){

.container{

    width:min(
        calc(100% - 24px),
        var(--container)
    );

}

.btn{

    width:100%;

}

.hero-checklist{

    gap:14px;

}

.hero-photo-card::before,
.hero-photo-card::after{

    display:none;

}

.step-number{

    width:58px;

    height:58px;

}

}

.mentor-quote{

    margin:35px 0;

    padding:24px;

    background:#fff9dc;

    border-left:5px solid #f4c400;

    border-radius:16px;

}

.mentor-quote blockquote{

    font-style:italic;

    color:var(--text);

    line-height:1.8;

}

/* ==========================================================
   TESTIMONIAL SWIPER
========================================================== */

.testimonialSwiper{

    overflow:hidden;

}

.testimonialSwiper .swiper-slide{

    height:auto;

}

.testimonialSwiper .swiper-pagination{

    margin-top:40px;

    position:relative;

}

.testimonialSwiper .swiper-pagination-bullet{

    width:12px;

    height:12px;

    opacity:.35;

}

.testimonialSwiper .swiper-pagination-bullet-active{

    opacity:1;

    background:var(--primary);

}

.testimonialSwiper .swiper-wrapper{

    align-items:stretch;

}

.testimonialSwiper .swiper-slide{

    display:flex;
    height:auto;

}

.testimonial-card{

    padding:35px;

    background:#fff;

    border:1px solid var(--border);

    border-radius:28px;

    transition:.3s;

    height:100%;
}

.testimonial-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow);

}

.testimonial-footer{

    display:flex;

    align-items:center;

    gap:14px;

    margin-top:auto;

    padding-top:24px;

    border-top:1px solid var(--border);

}

.testimonial-footer img{

    width:52px;

    height:52px;

    border-radius:50%;

    object-fit:cover;

    border:2px solid #f6d347;

    flex-shrink:0;

}

.testimonial-footer div{

    display:flex;

    flex-direction:column;

    justify-content:center;

}

.testimonial-footer strong{

    font-size:1rem;

    line-height:1.2;

    margin-bottom:4px;

}

.testimonial-footer span{

    font-size:.9rem;

    color:var(--muted);

}

.testimonial-card blockquote{

    font-size:1rem;

    line-height:1.9;

    color:var(--text);

    font-style:italic;

}