:root {
    --primary: #1238ff;
    --secondary: #00d4ff;
    --dark: #07111f;
    --light: #f6fbff;
    --text: #263445;
    --white: #fff;
    --green: #35f0a2;
    --shadow: 0 18px 45px rgba(20, 40, 80, .08)
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: var(--light);
    color: var(--text);
    font-family: Inter, Arial, sans-serif;
    overflow-x: hidden
}

a {
    text-decoration: none
}

h1,
h2,
h3,
h4 {
    color: var(--dark);
    font-weight: 800
}

.site-header {
    position: fixed;
    inset: 18px 0 auto;
    z-index: 1030;
    transition: .25s
}

.site-header.scrolled {
    inset: 8px 0 auto
}

.nav-wrap {
    background: rgba(255, 255, 255, .82);
    backdrop-filter: blur(18px);
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 999px;
    padding: 11px 16px;
    box-shadow: 0 15px 45px rgba(10, 40, 120, .12)
}

.logo {
    font-weight: 900;
    color: var(--dark);
    line-height: 1;
    font-size: 17px
}

.logo span {
    color: var(--primary)
}

.logo small {
    display: block;
    margin-top: 3px;
    font-size: 11px;
    letter-spacing: 2px
}

.nav-link {
    color: var(--dark);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    padding: 11px 14px !important
}

.nav-link.active,
.nav-link:hover {
    color: var(--primary)
}

.btn {
    border-radius: 999px;
    padding: 13px 24px;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .2px
}

.btn-brand {
    border: 0;
    background: linear-gradient(135deg, var(--primary), #5a20ff);
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(18, 56, 255, .26)
}

.btn-brand:hover {
    color: #fff;
    transform: translateY(-1px)
}

.btn-soft {
    background: #fff;
    color: var(--primary);
    border: 1px solid rgba(18, 56, 255, .12)
}

.hero {
    min-height: 100vh;
    padding: 155px 0 90px;
    background: radial-gradient(circle at 85% 15%, rgba(0, 212, 255, .35), transparent 28%), radial-gradient(circle at 15% 75%, rgba(53, 240, 162, .35), transparent 30%), linear-gradient(135deg, #eefaff 0%, #f7f2ff 52%, #eafff4 100%);
    position: relative
}

.tag {
    display: inline-flex;
    padding: 9px 16px;
    border-radius: 999px;
    background: rgba(18, 56, 255, .09);
    color: var(--primary);
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 22px
}

.hero h1 {
    font-size: clamp(50px, 7vw, 90px);
    line-height: .94;
    letter-spacing: -4px;
    margin-bottom: 25px
}

.hero h1 span {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    -webkit-background-clip: text;
    color: transparent
}

.hero-copy {
    font-size: 19px;
    max-width: 650px;
    color: #415166;
    margin-bottom: 30px
}

.hero-card {
    position: relative;
    border-radius: 36px;
    padding: 20px;
    background: rgba(255, 255, 255, .72);
    backdrop-filter: blur(20px);
    box-shadow: 0 35px 80px rgba(18, 56, 255, .18);
    border: 1px solid rgba(255, 255, 255, .8)
}

.hero-img {
    min-height: 510px;
    border-radius: 28px;
    background: linear-gradient(rgba(7, 17, 31, .08), rgba(7, 17, 31, .28)), url('https://images.unsplash.com/photo-1559757148-5c350d0d3c56?auto=format&fit=crop&w=900&q=80') center/cover
}

.floating-box {
    position: absolute;
    left: -26px;
    bottom: 40px;
    background: #fff;
    border-radius: 22px;
    padding: 21px;
    width: 220px;
    box-shadow: 0 20px 45px rgba(0, 0, 0, .14)
}

.floating-box strong {
    display: block;
    color: var(--primary);
    font-size: 33px;
    line-height: 1
}

.floating-box span {
    font-size: 12px;
    font-weight: 700;
    color: #526174
}

.section {
    padding: 90px 0
}

.section-title {
    max-width: 720px;
    margin-bottom: 42px
}

.section-title h2 {
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1;
    letter-spacing: -2px;
    margin-bottom: 16px
}

.section-title p {
    color: #59697d;
    font-size: 17px
}

.about-card,
.content-card {
    background: #fff;
    padding: 32px 27px;
    border-radius: 25px;
    box-shadow: var(--shadow);
    border: 1px solid rgba(18, 56, 255, .08)
}

.about-card .icon {
    width: 56px;
    height: 56px;
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(18, 56, 255, .12), rgba(0, 212, 255, .18));
    display: grid;
    place-items: center;
    font-size: 25px;
    margin-bottom: 21px
}

.about-card h3,
.content-card h3 {
    font-size: 20px;
    margin-bottom: 10px
}

.about-card p,
.content-card p {
    margin: 0;
    color: #607084
}

.highlight {
    background: var(--dark);
    color: #fff;
    border-radius: 42px;
    padding: 65px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 50px;
    align-items: center;
    position: relative;
    overflow: hidden
}

.highlight:after {
    content: "";
    position: absolute;
    width: 350px;
    height: 350px;
    right: -100px;
    top: -110px;
    border-radius: 50%;
    background: var(--secondary);
    opacity: .2
}

.highlight>* {
    position: relative;
    z-index: 1
}

.highlight h2 {
    color: #fff;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1
}

.highlight p {
    color: #c8d3df
}

.highlight-list {
    display: grid;
    gap: 12px
}

.highlight-list div {
    background: rgba(255, 255, 255, .08);
    padding: 17px 19px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, .12);
    font-weight: 800
}

.highlight.compact {
    grid-template-columns: 1.5fr .5fr;
    padding: 48px
}

.stat {
    text-align: center;
    padding: 31px 15px;
    background: linear-gradient(180deg, #fff, #eef7ff);
    border-radius: 23px;
    border: 1px solid rgba(18, 56, 255, .08)
}

.stat strong {
    display: block;
    font-size: 39px;
    color: var(--primary);
    line-height: 1;
    margin-bottom: 8px
}

.cta-section {
    padding: 95px 0;
    background: radial-gradient(circle at 20% 20%, rgba(53, 240, 162, .35), transparent 25%), linear-gradient(135deg, var(--primary), #2400a8);
    color: #fff
}

.cta-section h2 {
    color: #fff;
    font-size: clamp(38px, 5vw, 66px);
    line-height: 1;
    letter-spacing: -2px;
    max-width: 850px;
    margin: 0 auto 20px
}

.cta-section p {
    max-width: 650px;
    margin: 0 auto 30px;
    color: #dce7ff;
    font-size: 18px
}

.footer {
    background: var(--dark);
    color: #c9d5e3;
    padding: 58px 0 28px
}

.footer h3,
.footer h4 {
    color: #fff
}

.footer h4 {
    font-size: 16px
}

.footer a {
    color: #c9d5e3;
    display: block;
    margin-bottom: 8px;
    font-size: 14px
}

.copy {
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding-top: 20px;
    font-size: 13px;
    color: #8e9db0
}

.page-hero {
    padding: 175px 0 75px;
    background: radial-gradient(circle at 80% 15%, rgba(0, 212, 255, .25), transparent 30%), linear-gradient(135deg, #eefaff, #f4f0ff)
}

.page-hero h1 {
    font-size: clamp(48px, 6vw, 78px);
    letter-spacing: -3px
}

.page-hero p {
    font-size: 18px;
    /* max-width: 700px; */
    color: #53647a
}

.agenda-bg {
    background: #eef7ff
}

.agenda-wrap {
    display: grid;
    gap: 17px
}

.agenda-item {
    display: grid;
    grid-template-columns: 120px 1fr auto;
    gap: 22px;
    align-items: center;
    background: #fff;
    padding: 23px;
    border-radius: 23px;
    box-shadow: 0 12px 34px rgba(20, 40, 80, .06)
}

.agenda-time {
    color: var(--primary);
    font-weight: 900
}

.agenda-item h3 {
    font-size: 19px;
    margin-bottom: 5px
}

.agenda-item p {
    margin: 0;
    color: #637187
}

.pill {
    padding: 9px 13px;
    border-radius: 999px;
    background: rgba(53, 240, 162, .18);
    color: #00965d;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase
}

.side-card,
.form-card,
.contact-panel,
.dashboard-card,
.metric-card {
    background: #fff;
    border: 1px solid rgba(18, 56, 255, .08);
    border-radius: 27px;
    padding: 30px;
    box-shadow: var(--shadow)
}

.side-card {
    top: 125px
}

.info-list li {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 15px 0;
    border-bottom: 1px solid #edf1f7
}

.info-list span {
    text-align: right;
    color: #627187
}

.content-card a {
    display: inline-block;
    margin-top: 20px;
    color: var(--primary);
    font-weight: 800
}

.contact-panel {
    background: var(--dark);
    color: #cad5e2
}

.contact-panel h2 {
    color: #fff
}

.contact-detail {
    padding: 20px 0;
    border-top: 1px solid rgba(255, 255, 255, .12)
}

.contact-detail small {
    display: block;
    color: #91a3b8;
    margin-bottom: 6px
}

.contact-detail a,
.contact-detail strong {
    color: #fff
}

.form-control,
.form-select {
    border-radius: 14px;
    padding: 13px 15px;
    border-color: #dfe6ef
}

.form-control:focus,
.form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 .2rem rgba(18, 56, 255, .1)
}

.dashboard-shell {
    padding: 155px 0 90px;
    background: #f1f6fb;
    min-height: 100vh
}

.dashboard-heading {
    margin-bottom: 35px
}

.dashboard-heading h1 {
    font-size: clamp(35px, 4vw, 52px);
    letter-spacing: -2px
}

.metric-card span,
.metric-card small {
    display: block;
    color: #6c7b8e
}

.metric-card strong {
    display: block;
    font-size: 31px;
    color: var(--primary);
    margin: 8px 0
}

.dashboard-card h2 {
    font-size: 23px
}

.card-heading {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 22px
}

.card-heading p {
    margin: 0;
    color: #6c7b8e
}

.status-badge {
    padding: 8px 12px;
    border-radius: 999px;
    background: #e9fff5;
    color: #008855;
    font-weight: 800;
    font-size: 12px;
    white-space: nowrap
}

.progress {
    height: 11px;
    border-radius: 20px
}

.progress-bar {
    background: linear-gradient(90deg, var(--primary), var(--secondary))
}

.check-list {
    display: grid;
    gap: 12px
}

.check-list div {
    padding: 13px 15px;
    border-radius: 13px;
    background: #f5f8fc;
    font-weight: 700
}

.check-list .done {
    color: #008855;
    background: #effff8
}

.profile-avatar {
    width: 72px;
    height: 72px;
    border-radius: 22px;
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 900;
    font-size: 22px;
    margin: 22px 0 15px
}

.profile-row {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 10px 0
}

.profile-row span {
    color: #6d7c8f
}

.profile-row strong {
    text-align: right;
    font-size: 13px
}

.table>:not(caption)>*>* {
    padding: 15px 10px
}

@media(max-width:991.98px) {
    .site-header {
        inset: 10px 0 auto
    }

    .nav-wrap {
        border-radius: 25px
    }

    .navbar-collapse {
        padding: 15px 4px 4px
    }

    .hero {
        padding-top: 135px
    }

    .hero h1 {
        letter-spacing: -3px
    }

    .hero-img {
        min-height: 380px
    }

    .floating-box {
        left: 20px
    }

    .highlight,
    .highlight.compact {
        grid-template-columns: 1fr;
        padding: 40px 26px
    }

    .agenda-item {
        grid-template-columns: 1fr
    }

    .pill {
        justify-self: start
    }

    .page-hero {
        padding-top: 145px
    }

    .side-card {
        position: static !important
    }
}

@media(max-width:575.98px) {
    .section {
        padding: 70px 0
    }

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

    .hero-copy {
        font-size: 17px
    }

    .hero-card {
        padding: 13px
    }

    .hero-img {
        min-height: 330px
    }

    .floating-box {
        width: 190px;
        padding: 17px
    }

    .highlight {
        border-radius: 28px
    }

    .page-hero h1 {
        font-size: 46px
    }

    .card-heading,
    .profile-row {
        flex-direction: column
    }

    .profile-row strong {
        text-align: left
    }
}
.five-cols {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
}
.attraction-card {
    text-align: center;
    margin-bottom: 25px;
}
.attraction-card img {
    width: 128px;
    height: 128px;
    object-fit: cover;
    border-radius: 50%;
    border: 3px dashed #00438a;
    padding: 5px;
    background: #fff;
    margin-bottom: 10px;
}
.attraction-card h6 {
    font-size: 14px;
    font-weight: bold;
    margin: 0;
    color: #333;
}
.dashboard-card ul{
    list-style-type: disc;
}