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

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

    html {
        scroll-behavior: smooth;
    }

    body {
        font-family: Arial, Helvetica, sans-serif;
        color: #172b4d;
        background: #ffffff;
        line-height: 1.6;
    }

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

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

    .container {
        width: 90%;
        max-width: 1200px;
        margin: auto;
    }


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

    .navbar {
        height: 80px;
        background: #ffffff;
        position: sticky;
        top: 0;
        z-index: 1000;
        box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
    }

    .nav-container {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .logo {
        font-size: 27px;
        font-weight: 800;
        color: #0756a8;
    }

    .logo span {
        color: #f59e0b;
    }

    nav {
        display: flex;
        align-items: center;
        gap: 27px;
    }

    nav>a,
    .dropdown>a {
        font-size: 14px;
        font-weight: 600;
        color: #243b53;
    }

    nav>a:hover,
    .dropdown>a:hover,
    nav .active {
        color: #0756a8;
    }

    .nav-button {
        background: #0756a8;
        color: #ffffff !important;
        padding: 12px 20px;
        border-radius: 6px;
    }

    .menu-toggle {
        display: none;
        border: none;
        background: none;
        font-size: 28px;
    }


    /* DROPDOWN */

    .dropdown {
        position: relative;
    }

    .dropdown-menu {
        position: absolute;
        top: 30px;
        left: -15px;
        background: white;
        width: 220px;
        padding: 10px;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
        border-radius: 7px;
        display: none;
    }

    .dropdown:hover .dropdown-menu {
        display: block;
    }

    .dropdown-menu a {
        display: block;
        padding: 10px;
        font-size: 14px;
    }

    .dropdown-menu a:hover {
        background: #f2f7fc;
        color: #0756a8;
    }


    /* =========================
   BACKROUND UTAMA ATAS 
========================= */

    .hero {
        min-height: 680px;

        background:
            linear-gradient(90deg,
                rgba(3, 40, 79, 0.94),
                rgba(4, 81, 150, 0.70)),
            url("assets/logo/backround.jpg");


        background-size: cover;
        background-position: center;

        display: flex;
        align-items: center;
    }

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

    .hero-text {
        max-width: 750px;
        color: white;
    }

    .hero-label,
    .section-label {
        color: #f59e0b;
        font-size: 13px;
        font-weight: 800;
        letter-spacing: 1px;
    }

    .hero h1 {
        font-size: 57px;
        line-height: 1.15;
        margin: 18px 0;
    }

    .hero h1 span {
        color: #fbbf24;
    }

    .hero p {
        font-size: 18px;
        color: #e5edf7;
        max-width: 650px;
        margin-bottom: 30px;
    }

    .hero-buttons {
        display: flex;
        gap: 15px;
        flex-wrap: wrap;
    }


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

    .btn {
        display: inline-block;
        padding: 13px 23px;
        border-radius: 6px;
        font-weight: 700;
        transition: 0.25s;
    }

    .btn-primary {
        background: #0756a8;
        color: white;
    }

    .btn-primary:hover {
        background: #043e7c;
        transform: translateY(-2px);
    }

    .btn-outline {
        border: 2px solid white;
        color: white;
    }

    .btn-outline:hover {
        background: white;
        color: #0756a8;
    }

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


    /* =========================
   SECTIONS
========================= */

    section {
        padding: 90px 0;
    }

    .section-heading {
        text-align: center;
        max-width: 700px;
        margin: 0 auto 50px;
    }

    .section-heading.left {
        text-align: left;
        margin-left: 0;
    }

    .section-heading h2 {
        font-size: 38px;
        line-height: 1.2;
        margin: 10px 0 15px;
    }

    .section-heading p {
        color: #6b7280;
    }


    /* =========================
   ABOUT
========================= */

    .about-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 60px;
        align-items: center;
    }

    .about-image img,
    .rounded-image {
        width: 100%;
        border-radius: 12px;
    }

    .about-content h2 {
        font-size: 40px;
        margin: 12px 0 20px;
    }

    .about-content p {
        color: #68758a;
        margin-bottom: 15px;
    }


    /* =========================
   PROGRAM
========================= */

    .program-section,
    .gray {
        background: #f6f9fc;
    }

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

    .program-card {
        background: white;
        padding: 30px 25px;
        border-radius: 10px;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.06);
        transition: 0.3s;
    }

    .program-card:hover {
        transform: translateY(-7px);
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.10);
    }

    .program-icon {
        width: 60px;
        height: 60px;
        background: #eaf3ff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 25px;
        margin-bottom: 20px;
    }

    .program-card h3 {
        margin-bottom: 10px;
    }

    .program-card p {
        color: #6b7280;
        font-size: 14px;
        margin-bottom: 20px;
    }

    .program-card span {
        color: #0756a8;
        font-weight: bold;
    }


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

    .cta-section {
        background:
            linear-gradient(90deg,
                rgba(3, 48, 96, 0.94),
                rgba(4, 82, 150, 0.9)),
            url("backround.jpg");

        background-size: cover;
        background-position: center;
        color: white;
        text-align: center;
    }

    .cta-content {
        max-width: 700px;
    }

    .cta-section h2 {
        font-size: 42px;
        margin-bottom: 15px;
    }

    .cta-section p {
        color: #dbeafe;
        margin-bottom: 25px;
    }


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

    .page-header {
        padding: 100px 0;
        background:
            linear-gradient(90deg,
                #05396e,
                #0756a8);
        color: white;
    }

    .page-header span {
        color: #fbbf24;
        font-weight: bold;
        font-size: 13px;
    }

    .page-header h1 {
        font-size: 46px;
        margin: 10px 0;
    }

    .page-header p {
        color: #dbeafe;
    }


    /* =========================
   TRAINING
========================= */

    .training-section {
        padding: 80px 0;
    }

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

    .training-card {
        background: white;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
        transition: 0.3s;
    }

    .training-card:hover {
        transform: translateY(-5px);
    }

    .training-card img {
        width: 100%;
        height: 210px;
        object-fit: cover;
    }

    .training-card-content {
        padding: 25px;
    }

    .training-card-content small {
        color: #f59e0b;
        font-weight: bold;
    }

    .training-card-content h3 {
        font-size: 21px;
        margin: 8px 0;
    }

    .training-card-content p {
        color: #6b7280;
        font-size: 14px;
        margin-bottom: 15px;
    }

    .price {
        color: #0756a8;
        font-size: 19px;
        font-weight: 800;
        margin-bottom: 20px;
    }


    /* =========================
   DETAIL
========================= */

    .detail-layout {
        display: grid;
        grid-template-columns: 1fr 350px;
        gap: 50px;
    }

    .detail-image {
        width: 100%;
        border-radius: 12px;
        margin-bottom: 30px;
    }

    .detail-content h2 {
        margin: 35px 0 15px;
        font-size: 28px;
    }

    .detail-content p,
    .detail-content li {
        color: #667085;
    }

    .detail-content ul {
        padding-left: 20px;
    }

    .detail-content li {
        margin: 8px 0;
    }

    .detail-sidebar {
        position: sticky;
        top: 100px;
        height: fit-content;
    }

    .price-box,
    .info-box {
        background: #f6f9fc;
        padding: 30px;
        border-radius: 10px;
        margin-bottom: 20px;
    }

    .price-box span {
        color: #f59e0b;
        font-size: 13px;
        font-weight: bold;
    }

    .price-box h2 {
        color: #0756a8;
        margin: 8px 0;
    }

    .price-box p {
        color: #6b7280;
        font-size: 13px;
        margin-bottom: 20px;
    }

    .info-box p {
        margin-top: 15px;
        color: #667085;
    }

    .info-box strong {
        color: #172b4d;
    }

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

    .benefit-grid div {
        background: #f5f9ff;
        padding: 15px;
        border-radius: 6px;
        color: #0756a8;
        font-weight: 600;
    }


    /* =========================
   CONSULTATION
========================= */

    .consultation {
        min-height: 500px;
    }

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

    .consult-card {
        background: white;
        padding: 40px 30px;
        text-align: center;
        border-radius: 12px;
        box-shadow: 0 5px 25px rgba(0, 0, 0, 0.08);
        transition: 0.3s;
    }

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

    .consult-icon {
        font-size: 45px;
        margin-bottom: 15px;
    }

    .consult-card h3 {
        margin-bottom: 10px;
    }

    .consult-card p {
        color: #6b7280;
        margin-bottom: 20px;
    }

    .consult-card strong {
        color: #0756a8;
    }


    /* =========================
   NEWS
========================= */

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

    .news-card {
        border-radius: 10px;
        overflow: hidden;
        background: white;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.07);
    }

    .news-card img {
        width: 100%;
        height: 210px;
        object-fit: cover;
    }

    .news-content {
        padding: 25px;
    }

    .news-content small {
        color: #f59e0b;
        font-weight: bold;
    }

    .news-content h3 {
        margin: 10px 0;
    }

    .news-content p {
        color: #6b7280;
        margin-bottom: 15px;
    }

    .news-content a {
        color: #0756a8;
        font-weight: bold;
    }


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

    .contact-layout {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 50px;
    }

    .contact-information h2 {
        font-size: 38px;
        margin: 10px 0;
    }

    .contact-information>p {
        color: #6b7280;
    }

    .contact-item {
        margin-top: 25px;
    }

    .contact-item strong {
        display: block;
        margin-bottom: 5px;
    }

    .contact-item p {
        color: #6b7280;
    }

    .contact-form {
        background: #f6f9fc;
        padding: 35px;
        border-radius: 10px;
    }

    .contact-form h2 {
        margin-bottom: 20px;
    }

    .contact-form input,
    .contact-form textarea {
        width: 100%;
        padding: 14px;
        margin-bottom: 15px;
        border: 1px solid #ddd;
        border-radius: 6px;
        outline: none;
        font-family: inherit;
    }

    .contact-form textarea {
        height: 150px;
        resize: vertical;
    }


    /* =========================
   FEATURES
========================= */

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

    .feature-card {
        background: white;
        padding: 30px;
        border-radius: 10px;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.06);
    }

    .feature-card p {
        color: #6b7280;
        margin-top: 10px;
    }


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

    footer {
        background: #082b4d;
        color: white;
        padding: 60px 0 20px;
    }

    .footer-grid {
        display: grid;
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: 40px;
        padding-bottom: 40px;
    }

    .footer-logo {
        font-size: 28px;
        font-weight: bold;
        margin-bottom: 15px;
    }

    .footer-logo span {
        color: #f59e0b;
    }

    footer p {
        color: #b9c9d9;
    }

    footer h3 {
        margin-bottom: 15px;
    }

    footer a {
        display: block;
        color: #b9c9d9;
        margin: 9px 0;
    }

    footer a:hover {
        color: white;
    }

    .copyright {
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        padding-top: 20px;
        text-align: center;
        color: #9fb2c5;
        font-size: 13px;
    }


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

    @media(max-width: 1000px) {

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

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

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

    }


    @media(max-width: 768px) {

        .navbar {
            height: 70px;
        }

        .menu-toggle {
            display: block;
        }

        nav {
            position: absolute;
            top: 70px;
            left: 0;
            width: 100%;
            background: white;
            display: none;
            flex-direction: column;
            align-items: stretch;
            gap: 0;
            padding: 10px 5%;
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
        }

        nav.active {
            display: flex;
        }

        nav>a,
        .dropdown>a {
            padding: 13px;
        }

        .dropdown-menu {
            position: static;
            width: 100%;
            box-shadow: none;
            padding-left: 15px;
        }

        .dropdown:hover .dropdown-menu {
            display: none;
        }

        .dropdown:focus-within .dropdown-menu {
            display: block;
        }

        .hero {
            min-height: 600px;
        }

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

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

        .about-grid,
        .detail-layout,
        .contact-layout {
            grid-template-columns: 1fr;
        }

        .program-grid,
        .training-grid,
        .consultation-grid,
        .news-grid,
        .feature-grid {
            grid-template-columns: 1fr;
        }

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

        .page-header h1 {
            font-size: 35px;
        }

        .section-heading h2 {
            font-size: 30px;
        }

        .detail-sidebar {
            position: static;
        }

    }
