        :root {
            --ink: #071427;
            --ink2: #122033;
            --red: #F06036;
            --red2: #e15b4f;
            --teal: #0d7377;
            --gold: #d8ab4f;
            --cream: #fbf7ef;
            --soft: #f5f7fb;
            --muted: #6b7280;
            --line: #e7edf4;
            --white: #fff;
            --shadow: 0 20px 60px rgba(7, 20, 39, .12);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box
        }

        html {
            scroll-behavior: smooth
        }

        body {
            font-family: 'DM Sans', Arial, sans-serif;
            color: var(--ink2);
            background: #fff;
            overflow-x: hidden;
            line-height: 1.65
        }

        a {
            text-decoration: none;
            color: inherit
        }

        img {
            max-width: 100%;
            display: block
        }

        .container {
            max-width: 1180px;
            margin: auto;
            padding: 0 20px
        }

        .header {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 999;
            background: rgba(255, 255, 255, .9);
            backdrop-filter: blur(16px);
            border-bottom: 1px solid rgba(7, 20, 39, .08)
        }

        .header-inner {
            height: 72px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px
        }

        .logo img {
            height: 40px
        }

        .header-ctas {
            display: flex;
            align-items: center;
            gap: 10px
        }

        .btn {
            border: 0;
            cursor: pointer;
            font-family: inherit;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            font-weight: 800;
            border-radius: 999px;
            transition: .25s ease;
            white-space: nowrap
        }

        .btn:hover {
            transform: translateY(-2px)
        }

        .btn-red {
            background: linear-gradient(135deg, var(--red), var(--red2));
            color: #fff;
            padding: 12px 22px;
            box-shadow: 0 12px 28px rgba(192, 57, 43, .25)
        }

        .btn-dark {
            background: var(--ink);
            color: #fff;
            padding: 12px 22px
        }

        .btn-light {
            background: #fff;
            color: var(--ink);
            padding: 13px 24px
        }

        .btn-outline {
            border: 1px solid rgba(255, 255, 255, .35);
            color: #fff;
            padding: 12px 22px;
            background: rgba(255, 255, 255, .08)
        }

        /* --------------------------------------------- */
        .hero {
            position: relative;
            width: 100%;
            height: 620px;
            overflow: hidden;
            display: flex;
            align-items: center;
            z-index: 1;
        }

        .hero-bg {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .hero-overlay {
            position: absolute;
            inset: 0;
            background:
                linear-gradient(90deg,
                    rgba(7, 20, 39, .92) 0%,
                    rgba(7, 20, 39, .82) 25%,
                    rgba(7, 20, 39, .55) 55%,
                    rgba(7, 20, 39, .15) 80%,
                    rgba(7, 20, 39, 0) 100%);
        }

        .hero-content {
            position: relative;
            z-index: 5;
            width: min(700px, 90%);
            margin-left: clamp(20px, 6vw, 100px);
        }

         .hero-content .eyebrow{
            color:rgba(255, 255, 255, .85);
            border:1px solid rgba(255, 255, 255, .85);
            font: 12px;
            width:max-content;
            padding:5px 20px;
            border-radius:25px;
            margin:2px 0;
         }
        .hero h1 {
            font-family: 'Playfair Display', serif;
            font-size: 68px;
            line-height: 1.05;
            color:orange;
            margin-bottom: 22px;
        }

        .hero h1 span {
            color: green;
        }

        .hero p {
            font-size: 18px;
            line-height: 1.8;
            color: rgba(255, 255, 255, .85);
            max-width: 620px;
            margin-bottom: 30px;
        }

        .hero-actions {
            display: flex;
            gap: 14px;
            flex-wrap: wrap;
        }

        /* ---------------------------------------------------------------------------- */

        .stats-section {
            position: relative;
            z-index: 10;
            margin-top: -90px;
            /* adjust 70-120px */
            background: transparent;
            margin-bottom: 30px;
        }


        .stats-box {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 0;
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 28px;
            box-shadow: var(--shadow);
            overflow: hidden;

            box-shadow:
                0 25px 60px rgba(7, 20, 39, .10),
                0 8px 20px rgba(7, 20, 39, .06);
        }

        .stat-box {
            padding: 30px 18px;
            text-align: center;
            border-right: 1px solid var(--line)
        }

        .stat-box:last-child {
            border-right: 0
        }

        .stat-box strong {
            display: block;
            font-size: 38px;
            line-height: 1;
            color: var(--red);
            font-weight: 800
        }

        .stat-box span {
            display: block;
            color: var(--muted);
            font-size: 13px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: .7px;
            margin-top: 10px
        }

        .stat-box i {
            color: var(--red);
            font-size: 22px;
            margin-bottom: 14px
        }

        /* --------------------------------------------------- */

        .section {
            padding: 82px 0
        }

        .section.alt {
            background: var(--soft)
        }

        .section.cream {
            background: var(--cream)
        }

        .section-head {
            max-width: 760px;
            margin: 0 auto 44px;
            text-align: center
        }

        .section-kicker {
            color: var(--red);
            font-weight: 800;
            font-size: 13px;
            text-transform: uppercase;
            letter-spacing: 1.8px;
            margin-bottom: 8px
        }

        .section-title {
            font-family: 'Playfair Display', serif;
            font-size: 42px;
            line-height: 1.15;
            color: var(--ink);
            margin-bottom: 12px
        }

        .section-sub {
            color: var(--muted);
            font-size: 16px
        }


        .overview-premium {
            background: #faf7f2;
        }

        .overview-card {
            background: #fff;
            border-radius: 10px;
            padding: 40px;
            display: grid;
            grid-template-columns: 1fr 380px;
            gap: 45px;
            align-items: center;
            border: 1px solid rgba(7, 20, 39, .06);
            box-shadow: 0 25px 60px rgba(7, 20, 39, .08);
        }

        .overview-details {
            margin-bottom: 30px;
        }

        .overview-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 18px 0;
            border-bottom: 1px solid rgba(7, 20, 39, .08);
        }

        .overview-row span {
            color: var(--muted);
            font-size: 15px;
            font-weight: 600;
        }

        .overview-row strong {
            color: var(--ink);
            font-size: 16px;
            font-weight: 800;
            text-align: right;
        }

        .overview-btn {
            border: none;
            background: var(--red);
            color: #fff;
            height: 54px;
            padding: 0 28px;
            border-radius: 999px;
            font-size: 15px;
            font-weight: 800;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            cursor: pointer;
            transition: .25s ease;
            box-shadow: 0 15px 35px rgba(192, 57, 43, .25);
        }

        .overview-btn:hover {
            transform: translateY(-3px);
        }

        .overview-image {
            position: relative;
            height: 420px;
            overflow: hidden;
        }

        .overview-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }


        .overview-badge {
            position: absolute;
            right: -20px;
            top: 35px;
            background: #fff;
            border-radius: 18px;
            padding: 18px 22px;
            box-shadow: 0 18px 40px rgba(7, 20, 39, .12);
            z-index: 3;
        }

        .overview-badge strong {
            display: block;
            color: var(--red);
            font-size: 34px;
            line-height: 1;
            font-weight: 800;
        }

        .overview-badge span {
            display: block;
            color: var(--muted);
            font-size: 12px;
            font-weight: 700;
            margin-top: 4px;
        }

        

       

        /* ------------------------------------------------------ */
        .why-section {
            padding: 90px 0;
            background:
                linear-gradient(180deg, #fff 0%, #faf7f2 100%);
        }

        .why-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 26px;
        }

        .why-card {
            background: #fff;
            border: 1px solid var(--red);
            /* border-radius:28px; */
            padding: 25px 25px;
            text-align: center;
            transition: .35s ease;
            box-shadow: 0 12px 35px rgba(7, 20, 39, .05);
            position: relative;
            overflow: hidden;
        }

        .why-card:hover {
            transform: translateY(-10px);
            border-color: rgba(192, 57, 43, .15);
            box-shadow: 0 25px 60px rgba(7, 20, 39, .10);
        }


        .why-icon {
            width: 78px;
            height: 78px;
            margin: 0 auto 22px;
            border-radius: 24px;
            background: #fff4ef;
            border: 1px solid var(--red);
            color: var(--red);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 30px;
        }

        .why-card h3 {
            font-size: 21px;
            color: var(--ink);
            margin-bottom: 12px;
            line-height: 1.3;
            font-weight: 800;
        }

        .why-card p {
            font-size: 14px;
            color: var(--muted);
            line-height: 1.8;
        }



        /* ------------------------------------------------------------------ */
        .timeline {
            position: relative;
            display: grid;
            gap: 20px;
            max-width: 920px;
            margin: auto
        }

        .timeline:before {
            content: "";
            position: absolute;
            left: 30px;
            top: 20px;
            bottom: 20px;
            width: 2px;
            background: var(--line)
        }

        .step {
            position: relative;
            display: grid;
            grid-template-columns: 62px 1fr;
            gap: 18px;
            align-items: start
        }

        .step-num {
            width: 62px;
            height: 62px;
            border-radius: 50%;
            background: var(--red);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 22px;
            font-weight: 800;
            z-index: 2
        }

        .step-box {
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 20px;
            padding: 22px;
            box-shadow: 0 12px 30px rgba(7, 20, 39, .06)
        }

        .step-box:hover {
            border: 1px solid var(--red);
            transform: translateY(3px);
        }

        .step-box h3 {
            font-size: 18px;
            color: var(--ink);
            margin-bottom: 6px
        }

        .step-box p,
        .step-box li {
            color: var(--muted);
            font-size: 14px
        }

        .step-box ul {
            padding-left: 18px
        }

        .route-list {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 18px
        }

        /* -------------------------------------------------------------- */

        .route-card {
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 22px;
            padding: 24px;
            display: grid;
            grid-template-columns: auto 1fr;
            gap: 18px;
            align-items: start;
            transition: .25s
        }

        .route-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 16px 42px rgba(7, 20, 39, .08);
            border-color: var(--red);
        }

        .route-icon {
            width: 54px;
            height: 54px;
            border-radius: 18px;
            background: rgba(192, 57, 43, .22);
            color: var(--red);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 22px
        }

        .route-card h3 {
            font-size: 18px;
            color: var(--ink);
            margin-bottom: 7px
        }

        .route-card p {
            color: var(--muted);
            font-size: 14px;
            margin-bottom: 12px
        }

        .route-tags {
            display: flex;
            gap: 8px;
            flex-wrap: wrap
        }

        .route-tags span {
            font-size: 12px;
            font-weight: 800;
            color: var(--red);
            background: #fff7f5;
            border-radius: 999px;
            padding: 6px 10px
        }

        /* ---------------------------------college section---------------------------- */

        .college-swiper {
            padding: 8px 4px 56px
        }

        .college-card {
            background: #fff;
            border-radius: 26px;
            overflow: hidden;
            border: 1px solid var(--line);
            box-shadow: 0 14px 36px rgba(7, 20, 39, .07);
            height: 100%;
            transition: .25s;
            display: flex;
            flex-direction: column;
        }


        .college-card:hover {
            transform: translateY(-5px)
        }

        .college-img {
            height: 220px;
            flex-shrink: 0;
            overflow: hidden;
            background: #ddd;
        }

        .college-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .college-body {
            padding: 22px;
            flex: 1;

            display: flex;
            flex-direction: column;
        }

        .college-body h3 {
            font-size: 18px;
            color: var(--ink);
            margin-bottom: 8px;
            min-height: 40px;
        }

        .college-body p {
            font-size: 14px;
            color: var(--muted);
            flex: 1;
        }

        .pill {
            display: inline-flex;
            gap: 7px;
            align-items: center;
            margin-top: auto;
            background: rgba(192, 57, 43, .08);
            color: var(--red);
            border-radius: 999px;
            padding: 7px 12px;
            font-size: 12px;
            font-weight: 800;
            width: max-content;
        }

        .swiper-pagination-bullet-active {
            background: var(--red)
        }


        .college-swiper .swiper-slide {
            height: auto;
            display: flex;
        }

        .college-swiper .swiper-slide .college-card {
            width: 100%;
        }

        /* --------------------------------fee section------------------------------ */

        .fee-table-card {
            max-width: 900px;
            margin: auto;
            background: #fff;
            border-radius: 28px;
            overflow: hidden;
            border: 1px solid var(--line);
            box-shadow:
                0 20px 50px rgba(0, 0, 0, .06),
                0 4px 12px rgba(0, 0, 0, .04);
        }

        .fee-table {
            width: 100%;
        }

        .fee-row {
            display: grid;
            grid-template-columns: 1.2fr .8fr;
        }

        .fee-row div {
            padding: 22px 28px;
            border-bottom: 1px solid var(--line);
        }

        .fee-row.head div {
            background: var(--red);
            color: #fff;
            font-weight: 700;
            font-size: 15px;
            text-transform: uppercase;
            letter-spacing: .5px;
        }

        .fee-row:not(.head):nth-child(even) {
            background: #fafafa;
        }

        .fee-row:not(.head):hover {
            background: #f5f7fa;
        }

        .fee-row div:first-child {
            font-weight: 600;
            color: var(--ink);
        }

        .fee-row div:last-child {
            font-weight: 700;
            color: var(--ink);
        }

        .fee-row:last-child div {
            border-bottom: none;
        }


        /* ------------------------------------------------ */
        .checklist-layout {
            display: flex;
            flex-direction: column;
            gap: 90px;
        }

        .check-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 70px;
            align-items: center;
        }

        .doc-box {
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 30px;
            padding: 40px;
            box-shadow:
                0 10px 30px rgba(0, 0, 0, .04),
                0 20px 60px rgba(0, 0, 0, .05);
        }

        .box-badge {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 10px 18px;
            border-radius: 999px;
            background: rgba(68, 121, 218, 0.08);
            color: var(--ink);
            font-weight: 700;
            font-size: 13px;
            margin-bottom: 22px;
        }

        .doc-box h3 {
            font-size: 32px;
            line-height: 1.2;
            color: var(--ink);
            margin-bottom: 25px;
        }

        .doc-box ul {
            margin: 0;
            padding: 0;
        }

        .doc-box li {
            list-style: none;
            display: flex;
            gap: 14px;
            align-items: flex-start;
            padding: 16px 0;
            border-bottom: 1px dashed var(--line);
            color: var(--muted);
            line-height: 1.7;
        }

        .doc-box li:last-child {
            border-bottom: none;
            padding-bottom: 0;
        }

        .doc-box i {
            color: var(--ink);
            margin-top: 5px;
            flex-shrink: 0;
        }

        .illustration-box {
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .illustration-box img {
            width: 100%;
            max-width: 590px;
            border-radius: 30px;
            object-fit: cover;
            box-shadow:
                0 20px 50px rgba(0, 0, 0, .08);
        }



        /* Floating Effect */
        .illustration-box img {
            animation: float 5s ease-in-out infinite;
        }

        @keyframes float {
            0% {
                transform: translateY(0);
            }

            50% {
                transform: translateY(-12px);
            }

            100% {
                transform: translateY(0);
            }
        }

    

        /* ==================================================SUPPORT SECTION================================================== */

        .support-overview {
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            gap: 40px;
            align-items: stretch;
        }

        /* LEFT SIDE */

        .support-info {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .support-item {
            background: #fff;
            border: 1px solid rgba(7, 20, 39, .08);
            border-radius: 0 10px 10px 0;
            padding: 5px 18px;

            display: flex;
            justify-content: space-between;
            align-items: center;

            transition: .3s ease;
            position: relative;
            overflow: hidden;
            border-left: 2px solid var(--gold);
        }

        .support-item:hover {
            transform: translateY(-3px);
            box-shadow: 0 16px 40px rgba(7, 20, 39, .08);
        }

        .support-content {
            flex: 1;
            padding-right: 15px;
        }

        .support-content span {
            display: block;
            font-size: 10px;
            font-weight: 700;
            letter-spacing: 2px;
            text-transform: uppercase;
            color: var(--gold);
            margin-bottom: 4px;
        }

        .support-content h3 {
            font-size: 16px;
            line-height: 1.3;
            color: var(--ink);
            margin-bottom: 4px;
        }

        .support-content p {
            margin: 0;
            font-size: 12px;
            line-height: 1.4;
            color: var(--muted);
        }

        .support-item i {
            width: 48px;
            height: 48px;
            flex-shrink: 0;

            border-radius: 14px;

            background:
                linear-gradient(135deg,
                    rgba(192, 161, 57, 0.2),
                    rgba(0, 128, 128, .04));

            color: var(--gold);

            display: flex;
            align-items: center;
            justify-content: center;

            font-size: 18px;
        }

        /* RIGHT IMAGE */

        .support-image {
            height: 100%;
            position: sticky;
            top: 100px;
        }

        .support-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;

            border-radius: 24px;

            box-shadow:
                0 10px 30px rgba(7, 20, 39, .08),
                0 25px 60px rgba(7, 20, 39, .08);
        }

       



        /* ---------------------------------------------------------------- */

        .state-showcase {
            display: grid;
            grid-template-columns: 1.1fr .9fr;
            gap: 30px;
            align-items: stretch
        }

        /* MAP IMAGE */

        .state-map-image {
            background: #fff;
            border-radius: 28px;
            overflow: hidden;
            border: 1px solid var(--line);
            box-shadow: var(--shadow);
        }

        .state-map-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        /* RIGHT SIDE */

        .state-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 18px;
            align-content: start;
        }

        .state-card {
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 18px;
            padding: 20px;
            display: flex;
            align-items: center;
            gap: 18px;
            transition: .3s ease;
        }

        .state-card:hover {
            transform: translateY(-3px);
            box-shadow: 0 14px 34px rgba(7, 20, 39, .08);
        }

        .state-card i {
            width: 50px;
            height: 50px;
            border-radius: 14px;
            background: rgba(192, 57, 75, .2);
            color: var(--red);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 25px;
            flex-shrink: 0;
        }

        .state-card h3 {
            font-size: 16px;
            color: var(--ink);
            margin-bottom: 3px;
        }

        .state-card p {
            font-size: 13px;
            color: var(--muted);
            margin: 0;
        }

       


        /* ----------------------------------------------------- */

        .scholar-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px
        }

        .scholar-card {
            background: linear-gradient(180deg, #fff, #fffaf0);
            border: 1px solid rgba(216, 171, 79, .28);
            border-radius: 22px;
            padding: 24px
        }

        .scholar-card:hover {
            transform: translateY(-4px);
            border: 1px solid #d4ab4f;
        }

        .scholar-card i {
            color: var(--gold);
            font-size: 25px;
            margin-bottom: 12px
        }

        .scholar-card h3 {
            font-size: 17px;
            color: var(--ink);
            margin-bottom: 7px
        }

        .scholar-card p {
            font-size: 14px;
            color: var(--muted)
        }

        /* ---------------------------------faq section---------------------- */

        .faq-wrap {
            max-width: 850px;
            margin: auto
        }

        .faq-item {
            background: #fff;
            border: 1px solid var(--line);
            border-radius: 18px;
            margin-bottom: 12px;
            overflow: hidden
        }

        .faq-question {
            padding: 18px 22px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 15px;
            cursor: pointer;
            font-weight: 800;
            color: var(--ink)
        }

        .faq-icon {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            background: var(--soft);
            display: flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 32px
        }

        .faq-answer {
            display: none;
            padding: 0 22px 20px;
            color: var(--muted);
            font-size: 15px
        }

        .faq-item.active .faq-answer {
            display: block
        }

        .faq-item.active .faq-icon {
            background: var(--red);
            color: #fff
        }

        /* -------------------------cta section------------------------------ */
        .cta {
            padding: 100px 0;
            background: #fff;
        }

        .cta-card {
            position: relative;
            overflow: hidden;

            background: var(--ink);

            border-radius: 36px;
            padding: 70px 50px;

            text-align: center;

            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;

            box-shadow: var(--shadow);
        }

        .cta-kicker {
            color: #ffd98f !important;
            margin-bottom: 18px;
            position: relative;
            z-index: 2;
        }

        .cta h2 {
            color: #fff;
            font-size: 35px;
            line-height: 1.1;
            margin-bottom: 18px;
            position: relative;
            z-index: 2;
        }

        .cta p {
            margin: 0 auto 34px;

            color: rgba(255, 255, 255, .78);
            font-size: 18px;
            max-width: 850px;
            line-height: 1.8;

            position: relative;
            z-index: 2;
        }

        .cta-actions {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 16px;
            flex-wrap: wrap;

            position: relative;
            z-index: 2;
        }

        .cta .btn-outline {
            border-color: rgba(255, 255, 255, .25);
            color: #fff;
        }

        .cta .btn-outline:hover {
            background: #fff;
            color: var(--ink);
        }


      

        /* ----------------------footer------------------------- */

        .footer {
            background: #fff;
            color: #fff;
            color: #555;
        }


        .footer-bottom {
            border-top: 1px solid #7a7a7a;
            padding: 10px 0;
            text-align: center;
            font-size: 13px
        }

        /* --------------------------mobile bar--------------------------- */
        .mobile-bar {
            display: none;
            position: fixed;
            left: 0;
            bottom: 0;
            width: 100%;
            height: 58px;
            z-index: 998
        }

        .mobile-bar a,
        .mobile-bar button {
            flex: 1;
            border: 0;
            color: #fff;
            font-weight: 800;
            font-family: inherit;
            font-size: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px
        }

        .mobile-bar button {
            background: var(--red)
        }

        .mobile-bar a {
            background: var(--teal)
        }

        /* ------------------form modal----------------------------------- */
/* ==========================
   MODAL
========================== */

.modal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    visibility:hidden;
    opacity:0;
    transition:.35s ease;
}

.modal.active{
    visibility:visible;
    opacity:1;
}

.modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(5,12,24,.72);
    backdrop-filter:blur(10px);
}

.modal-card{
    position:relative;
    z-index:2;
    width:min(760px,95%);
    background:#fff;
    border-radius:28px;
    padding:32px;
    box-shadow:
    0 30px 90px rgba(0,0,0,.18);
    transform:translateY(25px) scale(.96);
    transition:.35s ease;
}

.modal.active .modal-card{
    transform:translateY(0) scale(1);
}


.modal-close{
    position:absolute;
    top:18px;
    right:18px;
    width:42px;
    height:42px;
    border:none;
    border-radius:50%;
    background:#f3f4f6;
    cursor:pointer;
    font-size:18px;
}


.form-header{
    text-align:center;
    margin-bottom:26px;
}

.form-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 16px;
    border-radius:999px;
    background:#fff7e6;
    color:(--red);
    font-size:13px;
    font-weight:700;
    margin-bottom:16px;
}

.form-header h3{
    font-size:34px;
    color:#06112b;
    margin-bottom:10px;
    line-height:1.1;
}

.form-header p{
    max-width:520px;
    margin:auto;
    color:#6b7280;
    line-height:1.7;
}


.form-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}


.fgroup{
    position:relative;
}

.fgroup input,
.fgroup select{
    width:100%;
    height:58px;
    border:1px solid #e4e8ef;
    border-radius:16px;
    background:#fff;
    padding:22px 16px 0;
    font-size:15px;
    outline:none;
    transition:.25s;
}

.fgroup input:focus,
.fgroup select:focus{
    border-color:var(--red);
    box-shadow:
    0 0 0 4px rgba(199,149,50,.10);
}

.fgroup label{
    position:absolute;
    left:14px;
    top:18px;
    color:#7b8597;
    font-size:14px;
    transition:.25s;
    pointer-events:none;
    background:#fff;
    padding:0 6px;
}

.fgroup input:focus+label,
.fgroup input:not(:placeholder-shown)+label,
.fgroup select:valid+label{
    top:-9px;
    font-size:12px;
    color:var(--red);
    font-weight:700;
}

.fgroup.error input,
.fgroup.error select{
    border-color:#dc2626;
}


.submit-btn{
    width:100%;
    height:58px;
    margin-top:18px;
    border:none;
    border-radius:16px;
    background:linear-gradient(
        135deg,
        var(--red),
        var(--red2)
    );
    color:#fff;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    transition:.3s;
}

.submit-btn:hover{
    transform:translateY(-2px);
}

.btn-spinner{
    display:none;
    width:18px;
    height:18px;
    border:2px solid rgba(255,255,255,.4);
    border-top-color:#fff;
    border-radius:50%;
    animation:spin .7s linear infinite;
}

.submit-btn.loading .btn-spinner{
    display:block;
}

@keyframes spin{
    to{
        transform:rotate(360deg);
    }
}


.form-trust{
    margin-top:14px;
    text-align:center;
    font-size:13px;
    color:#6b7280;
}

.form-trust i{
    color:#16a34a;
}


.success-msg{
    display:none;
    text-align:center;
    padding:40px 20px;
}

.success-icon{
    width:90px;
    height:90px;
    margin:auto;
    border-radius:50%;
    background:#ecfdf3;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:24px;
}

.success-icon i{
    font-size:42px;
    color:#16a34a;
}

.success-msg h4{
    font-size:32px;
    margin-bottom:12px;
    color:#06112b;
}

.success-msg p{
    max-width:420px;
    margin:auto;
    color:#6b7280;
    line-height:1.8;
}

.success-btn{
    margin-top:28px;
    border:none;
    background:#06112b;
    color:#fff;
    height:52px;
    padding:0 26px;
    border-radius:12px;
    cursor:pointer;
}

/* ------------------------media queries--------------------------------- */
@media (max-width:1024px){

    .why-grid,
    .fee-wrap,
    .overview-layout,
    .support-layout,
    .state-showcase,
    .support-overview{
        grid-template-columns:1fr;
    }

    .route-list{
        grid-template-columns:1fr;
    }

    .stats-box{
        grid-template-columns:repeat(2,1fr);
    }

    .stat-box:nth-child(2){
        border-right:0;
    }

    .stat-box:nth-child(-n+2){
        border-bottom:1px solid var(--line);
    }

    .why-image{
        min-height:380px;
    }

    .support-panel{
        position:relative;
        top:auto;
    }

    .support-image{
        position:static;
        min-height:420px;
    }
}

@media (max-width:991px){

    .cta-card{
        padding:60px 30px;
    }

    .cta h2{
        font-size:40px;
    }

    .state-showcase{
        grid-template-columns:1fr;
    }

    .state-map-image img{
        min-height:400px;
    }

    .overview-card{
        grid-template-columns:1fr;
        padding:30px;
    }

    .overview-image{
        height:420px;
        order:-1;
    }

    .overview-badge{
        left:20px;
    }

    .check-row{
        grid-template-columns:1fr;
        gap:35px;
    }

    .reverse .illustration-box{
        order:-1;
    }

    .doc-box{
        padding:32px;
    }

    .doc-box h3{
        font-size:28px;
    }
}

@media (max-width:768px){

    body{
        padding-bottom:58px;
    }

    /* Header */
    .header-inner{
        height:64px;
    }

    .logo img{
        height:35px;
    }

    .header-ctas .btn-red{
        display:none;
    }

    .mobile-bar{
        display:flex;
    }

    /* Hero */
    .hero{
        padding-top:64px;
        min-height:640px;
    }

    .hero-grid{
        padding:78px 0 110px;
    }

    .hero h1{
        font-size:42px;
    }

    .hero p{
        font-size:15px;
    }

    /* Layout */
    .overview-grid,
    .why-cards,
    .split-grid,
    .service-grid,
    .scholar-grid,
    .state-grid,
    .stats-box,
    .form-grid{
        grid-template-columns:1fr;
    }

    .section{
        padding:62px 0;
    }

    .section-title{
        font-size:32px;
    }

    /* Stats */
    .stat-box,
    .stat-box:nth-child(2){
        border-right:0;
    }

    .stat-box{
        border-bottom:1px solid var(--line);
    }

    .stat-box:last-child{
        border-bottom:none;
    }

    /* Footer */
    .footer-grid{
        grid-template-columns:1fr;
    }

    /* Fee Table */
    .fee-row{
        grid-template-columns:1fr;
    }

    .fee-row.head{
        display:none;
    }

    .fee-row div{
        padding:16px 20px;
    }

    .fee-row div:first-child{
        background:#fff7f5;
        color:var(--red);
        font-weight:800;
    }

    .fee-row div:last-child{
        padding-top:0;
        font-size:18px;
    }

    /* CTA */
    .cta{
        padding:70px 0;
    }

    .cta-card{
        padding:50px 24px;
        border-radius:28px;
    }

    .cta h2{
        font-size:32px;
    }

    .cta p{
        font-size:15px;
    }

    .cta-actions{
        flex-direction:column;
        width:100%;
        justify-content:flex-start;
    }

    .cta-actions .btn{
        width:100%;
        justify-content:center;
    }

    /* Modal */
    .modal-card{
        padding:10px 24px;
    }

    .form-header h3{
        font-size:20px;
    }

    .btn-dark{
        padding:11px 16px;
    }

    /* State */
    .state-grid{
        grid-template-columns:1fr;
    }

    .state-map-image img{
        min-height:300px;
    }

    /* Support */
    .support-item{
        padding:16px 18px;
    }

    .support-item i{
        width:42px;
        height:42px;
        font-size:16px;
    }

    .support-content h3{
        font-size:16px;
    }

    .support-content p{
        font-size:13px;
    }

    .support-image{
        min-height:320px;
    }

    /* Overview */
    .overview-content h3{
        font-size:28px;
    }

    .overview-row{
        flex-direction:column;
        align-items:flex-start;
        gap:6px;
    }

    .overview-row strong{
        text-align:left;
    }

    .overview-image{
        height:340px;
    }

    /* Checklist */
    .checklist-layout{
        gap:60px;
    }

    .doc-box{
        padding:25px;
        border-radius:24px;
    }

    .doc-box h3{
        font-size:24px;
    }

    .doc-box li{
        font-size:14px;
    }

    .illustration-box img{
        border-radius:24px;
    }
}

@media (max-width:420px){

    .hero h1{
        font-size:35px;
        line-height:1.15;
    }

    .hero-actions{
        display:grid;
        gap:12px;
    }

    .btn{
        width:100%;
    }

    .overview-intro,
    .support-panel,
    .state-map-card{
        padding:26px;
    }

    .section-title{
        font-size:28px;
    }

    .cta h2{
        font-size:28px;
    }

    .overview-content h3{
        font-size:24px;
    }
}