.font-display-xl,
.font-headline-lg,
.font-headline-md,
.font-label-bold,
.font-body-lg,
.font-body-md,
.font-caption {
    font-family: "Public Sans", sans-serif;
}

html,
body {
    font-family: "Public Sans", sans-serif;
}

.font-display-xl {
    font-size: 48px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-weight: 700;
}

.font-headline-lg {
    font-size: 32px;
    line-height: 1.2;
    font-weight: 600;
}

.font-headline-md {
    font-size: 24px;
    line-height: 1.3;
    font-weight: 600;
}

.font-body-lg {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 400;
}

.font-body-md {
    font-size: 16px;
    line-height: 1.5;
    font-weight: 400;
}

.font-label-bold {
    font-size: 14px;
    line-height: 1.2;
    font-weight: 600;
}

.font-caption {
    font-size: 12px;
    line-height: 1.4;
    font-weight: 400;
}

.hero-gradient {
    background: linear-gradient(135deg, #f7f9fb 0%, #dae2fd 100%);
}

 .stitch-anim-highlight {
            outline: 2px solid rgba(59, 130, 246, 0.5);
            outline-offset: 2px;
            border-radius: 4px;
            transition: outline-color 0.4s ease;
        }

        .stitch-anim-highlight-fade {
            outline-color: transparent;
        }

        @keyframes stitch-anim-fade-in {
            from {
                opacity: 0;
                transform: translateY(6px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .stitch-anim-fade-in {
            animation: stitch-anim-fade-in 0.3s ease forwards;
        }

        /* ─── Drawing rectangle overlay ─── */
        .stitch-anim-draw-overlay {
            position: fixed;
            border: 2px solid rgba(59, 130, 246, 0.6);
            border-radius: 6px;
            pointer-events: none;
            z-index: 998;
            clip-path: polygon(0% 0%, 0% 0%,
                    0% 0%, 0% 0%,
                    0% 0%, 0% 0%);
            animation: stitch-anim-draw-rect 0.4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
        }

        @keyframes stitch-anim-draw-rect {
            0% {
                clip-path: polygon(0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%);
            }

            30% {
                clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 100% 0%, 0% 0%, 0% 0%);
            }

            55% {
                clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 100% 100%, 0% 0%, 0% 0%);
            }

            80% {
                clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 100%, 0% 0%);
            }

            100% {
                clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 0% 0%, 0% 0%);
            }
        }

        .stitch-anim-draw-overlay.fading {
            animation: stitch-anim-border-fade 0.5s ease forwards;
        }

        @keyframes stitch-anim-border-fade {
            to {
                opacity: 0;
            }
        }

        /* ─── Image reveal crossfade ─── */
        .stitch-anim-img-dimming {
            transition: opacity 0.2s ease !important;
            opacity: 0.15 !important;
        }

        .stitch-anim-img-revealing {
            transition: opacity 0.35s ease !important;
            opacity: 1 !important;
        }

        .stitch-anim-cursor::after {
            content: '|';
            font-weight: 100;
            animation: stitch-anim-blink 0.6s step-end infinite;
            color: rgba(59, 130, 246, 0.7);
            margin-left: 1px;
        }

        @keyframes stitch-anim-blink {
            50% {
                opacity: 0;
            }
        }

        /* ─── AI Agent Cursor ─── */
        #stitch-agent-cursor {
            position: fixed;
            z-index: 9999;
            pointer-events: none;
            transition: left 0.2s cubic-bezier(0.22, 1, 0.36, 1),
                top 0.2s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.25s ease;
            opacity: 0;
            filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.18));
        }

        #stitch-agent-cursor.working {
            animation: stitch-anim-wobble 0.8s ease-in-out infinite;
        }

        #stitch-agent-cursor.drawing {
            animation: none;
            transition: left 0.12s linear, top 0.12s linear, opacity 0.25s ease;
        }

        @keyframes stitch-anim-wobble {

            0%,
            100% {
                transform: translate(0, 0) rotate(0deg);
            }

            25% {
                transform: translate(1px, -1px) rotate(2deg);
            }

            50% {
                transform: translate(-1px, 1px) rotate(-1deg);
            }

            75% {
                transform: translate(1px, 0px) rotate(1deg);
            }
        }

        #stitch-agent-cursor .cursor-pointer {
            display: block;
        }

        #stitch-agent-cursor .cursor-text,
        #stitch-agent-cursor .cursor-paint {
            display: none;
        }

        #stitch-agent-cursor.text-mode .cursor-pointer,
        #stitch-agent-cursor.text-mode .cursor-paint {
            display: none;
        }

        #stitch-agent-cursor.text-mode .cursor-text {
            display: block;
        }

        #stitch-agent-cursor.paint-mode .cursor-pointer,
        #stitch-agent-cursor.paint-mode .cursor-text {
            display: none;
        }

        #stitch-agent-cursor.paint-mode .cursor-paint {
            display: block;
        }

        #stitch-cursor-label {
            position: absolute;
            top: 22px;
            left: 16px;
            background: linear-gradient(135deg, #3b82f6, #6366f1);
            color: white;
            font-size: 10px;
            font-family: Inter, sans-serif;
            font-weight: 600;
            padding: 2px 8px;
            border-radius: 4px;
            white-space: nowrap;
            letter-spacing: 0.02em;
        }


           .material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
        }

        .hero-gradient {
            background: linear-gradient(135deg, #f7f9fb 0%, #dae2fd 100%);
        }

.qualification-card:hover {
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}

.student-stories-swiper {
    overflow: hidden;
    padding: 4px 2px 0;
}

.student-stories-swiper .swiper-slide {
    height: auto;
}

.student-stories-swiper .swiper-pagination {
    position: static;
    display: inline-flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
    transform: none;
}

.student-stories-swiper .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 !important;
    background: #cbd5e1;
    opacity: 1;
    transition: width 0.2s ease, background-color 0.2s ease;
}

.student-stories-swiper .swiper-pagination-bullet-active {
    width: 28px;
    border-radius: 999px;
    background: #FA811D;
}

.student-stories-swiper .swiper-button-next,
.student-stories-swiper .swiper-button-prev {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    background: #ffffff;
    color: #FA811D;
    border: 1px solid #e2e8f0;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.08);
}

.student-stories-swiper .swiper-button-next::after,
.student-stories-swiper .swiper-button-prev::after {
    font-size: 16px;
    font-weight: 700;
}

@media (max-width: 639px) {
    .student-stories-swiper {
        padding-bottom: 0;
    }

    .student-stories-swiper .swiper-button-next,
    .student-stories-swiper .swiper-button-prev {
        display: none;
    }
}

        
.ca-bg-primary {
    --tw-bg-opacity: 1;
    background-color: rgb(19 27 46 / var(--tw-bg-opacity, 1));
}



.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.material-symbols-outlined {
    font-family: 'Material Symbols Outlined';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}

.bg-primary-container {
    --tw-bg-opacity: 1;
    background-color: rgb(19 27 46 / var(--tw-bg-opacity, 1));
}


.field-container .label-alignment{
    font-size: 14px !important;
}

.blog-content{
    img{
        margin-right: 24px;
    }
}

.blog-content {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    word-break: break-word;
    line-height: 1.8;
}

.blog-content img {
    border-radius: 8px;
}

.blog-content iframe,
.blog-content video,
.blog-content embed {
    max-width: 100%;
}

.blog-content table {
    width: 100%;
    display: block;
    overflow-x: auto;
    border-collapse: collapse;
}

.blog-content pre,
.blog-content code {
    white-space: pre-wrap;
    word-break: break-word;
}

.blog-content p,
.blog-content ul,
.blog-content ol,
.blog-content blockquote,
.blog-content h1,
.blog-content h2,
.blog-content h3,
.blog-content h4,
.blog-content h5,
.blog-content h6 {
    margin-bottom: 0 !important;
}

.elementor-element{
width: 100% !important;
}

.elementor-widget-container{
    padding: 0 !important;
}



@media (max-width: 640px) {

    .blog-content p {
        font-size: 13px !important;
    }

   .blog-content h1{
    font-size: 16px !important;
    line-height: 28px;
   }
    .blog-content h2,.blog-content h3,.blog-content h4,.blog-content h5,.blog-content h6{
    font-size: 14px !important;
    line-height: 28px;

   }
   #hl_form_builder_mainfiJUZlVsbbtUgA4nzMP1{
    padding: 0 !important;
   }

}

