/* General */
/* ======================== */


    :root {
        --primary-color: rgb(0, 44, 119);
        --blue-320: rgb(0, 154, 166);
        --blue-3005: rgb(0, 122, 201);
        --blue-2727: rgb(61, 126, 219);
        --blue-549: rgb(94, 156, 174);
        --red-032: rgb(237, 41, 57);
    }
    
    /* General: html, body */
    html, body {
        font-family: 'Bourgeois';
        overflow-x: hidden;
        padding: 0;
        margin: 0;
        position: relative;
    }
    a {
        text-decoration: none;
    }

/* Blocks */
/* ======================== */

    body {
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    /* Navbar */
    .Navbar {
        position: fixed;
        top: 0;
        width: 100%;
        box-shadow: none !important;
        z-index: 50;
        background-color: #fff;
        border-bottom: 1px solid rgb(223, 223, 223);
    }
        .Navbar .Navbar__Brand {}
            .Navbar .Navbar__Brand img {
                height: 80px;
            }
            .Navbar .Navbar__Brand .brand-pill {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 38px;
                height: 38px;
                border-radius: 999px;
                background: linear-gradient(135deg, #6366f1, #a855f7);
                color: #fff;
                font-weight: 800;
                margin-right: .5rem;
                font-size: 1.05rem;
            }
        .Navbar .Navbar__Toggler {}
        .Navbar .Navbar__Collapse {}
            .Navbar .Navbar__Collapse .Collapse__Nav {}
                .Navbar .Navbar__Collapse .Collapse__Nav .Nav__Item {}
                    .Navbar .Navbar__Collapse .Collapse__Nav .Nav__Item .Item__Link {
                        font-size: .9rem;
                        font-weight: 500;
                        letter-spacing: .03em;
                        text-transform: uppercase;
                    }
                    .Navbar .Navbar__Collapse .Collapse__Nav .Nav__Item .Item__Link.active {
                        color: #5280e3 !important;
                        border-radius: 0;
                    }

    /* Hero */
    .Hero {
        height: 100vh;
        position: relative;
        display: flex;
        align-items: center;
        color: #fff;
        padding-top: 60px;
        overflow: hidden;
        background:
            linear-gradient(
            135deg,
            rgba(4, 18, 60, 0.6),
            rgba(41, 33, 130, 0.6),
            rgba(88, 35, 180, 0.4)
            ),
            url("../images/kampus.jpg") center center / cover no-repeat;
    }
        .Hero .Hero__Glow {
            position: absolute;
            width: 420px;
            height: 420px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(140, 131, 255, 0.4), transparent 60%);
            right: -80px;
            top: 20%;
            pointer-events: none;
            filter: blur(2px);
        }
        .Hero .Hero__Content {}
            .Hero .Hero__Content .Content__Badge {
                display: inline-flex;
                align-items: center;
                gap: .5rem;
                background: rgba(255, 255, 255, 0.2);
                border-radius: 999px;
                padding: .6rem 1.2rem;
                font-size: .9rem;
                color: #f0f0f0;
                backdrop-filter: blur(8px);
            }
                .Hero .Hero__Content .Content__Badge .Badge__Date {
                    color: #ffffff;
                    font-weight: 600;
                }
                .Hero .Hero__Content .Content__Badge .Badge__Dot {
                    width: 6px;
                    height: 6px;
                    border-radius: 50%;
                    background: #ffffff;
                }
            .Hero .Hero__Content .Content__Title {
                font-size: clamp(3rem, 7vw, 4.5rem);
                font-weight: 800;
                letter-spacing: .0.8em;
                text-transform: uppercase;
                background-color: #fff;
                -webkit-background-clip: text;
                background-clip: text;
                color: transparent;
                margin-bottom: -0.4rem;
            }
            .Hero .Hero__Content .Content__Year {
                font-size: 3.2rem;
                letter-spacing: 0em;
                text-transform: uppercase;
                color: #f5f7ff;
                opacity: .9;
                font-weight: 300;
                margin-bottom: 1rem;
            }
            .Hero .Hero__Content .Content__Subtitle {
                font-size: 1.4rem;
                font-weight: 600;
                margin-bottom: .5rem;
            }
            .Hero .Hero__Content .Content__Tagline {
                font-size: .98rem;
                color: #ffffff;
                max-width: 520px;
                margin: 0 auto 2rem;
            }
            .Hero .Hero__Content .Content__Button--Primary {
                background: linear-gradient(135deg, #00a7ff, #3b82f6);
                border: none;
                padding-inline: 1.8rem;
                padding-block: 1.2rem;
                border-radius: 6px;
                font-weight: 600;
                color: #fff;
                box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
                font-size: 1rem;
            }
            .Hero .Hero__Content .Content__Button--Primary:hover {
                background: linear-gradient(135deg, #0ea5e9, #2563eb);
            }
            .Hero .Hero__Content .Content__Button--Outline {
                border-radius: 6px;
                font-size: 1rem;
                padding-inline: 1.8rem;
                padding-block: 1.2rem;
                border: 1px solid rgba(148, 163, 255, 0.9);
                color: #e5e7ff;
                background: transparent;
            }
            .Hero .Hero__Content .Content__Button--Outline:hover {
                background: rgba(15, 23, 42, 0.7);
                color: #f9fafb;
            }

    /* Card--Partner */
    .Card--Partner {
      background: rgb(255, 255, 255);
      border-radius: 18px;
      padding: 1.4rem 0.8rem;
      text-align: center;
      border: 1px solid rgba(255, 255, 255, 0.06);
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
      backdrop-filter: blur(4px);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    }
    .Card--Partner:hover {
      transform: translateY(-6px);
      border-color: rgba(129, 140, 248, 0.8);
      box-shadow: 0 20px 40px rgba(15, 23, 42, 0.7);
    }
        .Card--Partner .Card__Logo {
            height: 60px;
            width: auto;
        }
            .Card--Partner .Card__Logo img {
                height: 100%;
                width: auto;
            }

    /* About */
    .About {}
        .About .About__Text {
            font-size: 1rem;
            line-height: 1.75;
            color: #4a4a4a;
            margin-bottom: 1.5rem;
        }

    /* Instructors */
    .Instructors {}

    /* Card--Person */
    .Card--Person {
        background: #fff;
        border-radius: 16px;
        transition: 0.3s;
        border: 1px solid rgb(240, 240, 240);
    }
    .Card--Person:hover {
        transform: translateY(-5px);
        box-shadow: 0 8px 25px rgba(0,0,0,0.12);
    }
        .Card--Person .Card__Img {
            width: 120px;
            height: 140px;
            border-radius: 50%;
            border: 4px solid #e8f2ff;
            object-fit: cover;
        }
        .Card--Person .Card__Info {
            color: #2867d3;
            font-size: 0.95rem;
            display: block;
            font-weight: 600;
            margin-top: 4px;
        }

    /* Program */
    .Program {
        display: flex;
        gap: 12px;
        padding: 18px 25px;
        border-bottom: 1px solid #efefef;
    }
        .Program .Program__Schedule {
            background-color: #fff;
            box-shadow: 0 8px 30px rgba(0,0,0,0.07);
            border-radius: 20px;
        }
            .Program .Program__Schedule .Schedule__Header {
                background: linear-gradient(90deg, #4361ee, #9d4edd);
                padding: 24px 30px;
                border-radius: 12px 12px 0 0;
                color: #fff;
            }
            .Program .Program__Schedule .Schedule__Item {
                display: flex;
                gap: 12px;
                padding: 18px 25px;
                border-bottom: 1px solid #efefef;
            }
            .Program .Program__Schedule .Schedule__Item:last-child {
                border-bottom: none;
            }
                .Program .Program__Schedule .Schedule__Item .Item__Time {
                    background: #dbe7ff;
                    color: #2f55d4;
                    font-size: 0.75rem;
                    padding: 6px 12px;
                    height: min-content;
                    border-radius: 34px;
                    font-weight: 600;
                }
                .Program .Program__Schedule .Schedule__Item .Item__Title {
                    font-weight: 600;
                    margin-bottom: 4px;
                }
                .Program .Program__Schedule .Schedule__Item .Item__Speaker {
                    font-size: 0.9rem;
                    color: #555;
                }

    /* Program */
    .Registration {}
        .Registration .Registration__Box {
            background: #fff;
            padding: 40px;
            border-radius: 16px;
            box-shadow: 0 8px 30px rgba(0,0,0,0.07);
            width: 100%;
            margin: auto;
        }
            .Registration .Registration__Box .Box__Icon {
                background: #eef4ff;
                width: 60px;
                height: 60px;
                border-radius: 12px;
                display: flex;
                justify-content: center;
                align-items: center;
                margin: auto;
            }
                .Registration .Registration__Box .Box__Icon i {
                    font-size: 28px;
                    color: #3b5bff;
                }
            .Registration .Registration__Box .Box__Info {
                padding: 25px;
                border-radius: 12px;
            }
            .Registration .Registration__Box .Box__Info.Box__Info--Left {
                background: #eef4ff;
            }
            .Registration .Registration__Box .Box__Info.Box__Info--Right {
                background: #f1fff4;
            }
            .Registration .Registration__Box .Box__Button {
                background: linear-gradient(90deg, #3b82f6, #8053ff);
                border: none;
                padding: 12px 30px;
                color: #fff;
                font-weight: 600;
                border-radius: 8px;
            }
            .Registration .Registration__Box .Box__Button:hover {
                opacity: .9;
                color: #fff;
            }

    /* Card--Sponsor */
    .Card--Sponsor {
        background: #fff;
        padding: 25px;
        border-radius: 12px;
        box-shadow: 0 6px 20px rgba(0,0,0,0.06);
        text-align: center;
        transition: 0.2s;
    }
    .Card--Sponsor:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 25px rgba(0,0,0,0.1);
    }
        .Card--Sponsor .Card__icon {
            font-size: 40px;
            margin-bottom: 10px;
        }

    /* Contact */
    .Contact {}
        .Contact .Contact__Card {
            background: #fff;
            padding: 28px;
            border-radius: 14px;
            box-shadow: 0 8px 25px rgba(0,0,0,0.07);
            transition: 0.25s;
        }
        .Contact .Contact__Card:hover {
            transform: translateY(-4px);
            box-shadow: 0 10px 30px rgba(0,0,0,0.12);
        }
            .Contact .Contact__Card h5 {
                font-weight: 600;
                margin-bottom: 15px;
            }
            .Contact .Contact__Card .Card__item {
                display: flex;
                align-items: center;
                margin-bottom: 12px;
            }
                .Contact .Contact__Card .Card__item i {
                    font-size: 18px;
                    margin-right: 10px;
                }

    /* Location */
    .Location .Location__Card {
        background: #fff;
        padding: 35px;
        border-radius: 16px;
        box-shadow: 0 8px 25px rgba(0,0,0,0.07);
        width: 100%;
    }
        .Location .Location__Card .Card__Map {
            width: 100%;
            height: 350px;
            border: 0;
            border-radius: 12px;
        }

    /* Footer */
    .Footer {
        background: #0d1321; /* koyu lacivert */
        color: #e4e6eb;
        padding: 50px 0 30px;
    }
        .Footer h5 {
            font-size: 1.1rem;
            font-weight: 600;
            margin-bottom: 15px;
        }
        .Footer a {
            color: #cfd4da;
            text-decoration: none;
        }
        .Footer a:hover {
            color: #fff;
        }
        .Footer .social-icons i {
            font-size: 20px;
            margin-right: 12px;
            display: inline-block;
            transition: 0.2s;
        }
        .Footer .social-icons i:hover {
            transform: translateY(-3px);
            color: #fff;
        }
        .Footer-divider {
            height: 1px;
            background: #1a2333;
            margin: 25px 0;
        }

    /* Helpers */
    .text-blue { color: #3b5bff; }
    .text-red { color: #d62828; }
    .text-green { color: #2a9d8f; }
    .text-purple { color: #8f2eff; }

    @media (max-width: 767.98px) {
      .Hero .Hero__Content .Content__Title {
        letter-spacing: .08em;
      }
      .Hero .Hero__Content .Content__Year {
        letter-spacing: .12em;
      }
    }
