/* ===================================
    Crafto - Modern Business
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
/* variable */
:root {  
    --alt-font: "DM Sans", sans-serif;
    --primary-font: "Inter", sans-serif;
    --base-color: #5114D6;
    --dark-gray: #2D2247;
    --medium-gray: #716d7a;
    --light-medium-gray: #E8E2F5;
    --green: #4DAA57;
    --very-light-gray: #f3e7ff;
} 
/* reset */
body {
    font-size: 16px;
    line-height: 28px; 
}
a {
    color: #5114D6;
} 
/* box layout */
.box-layout {
    padding-left: 80px;
    padding-right: 80px;
}
/* bg color */
.bg-base-transparent-light {
    background-color: rgba(110, 44, 255, 0.1);
}
.bg-green-transparent-light {
    background-color: rgba(77, 170, 87, 0.20);
}
.bg-gradient-very-light-gray-transparent {
    background: -webkit-linear-gradient(right, rgba(110, 44, 255, 0.10), rgba(110, 44, 255, 0));
    background: linear-gradient(to right, rgba(44, 160, 255, 0.1), rgba(110, 44, 255, 0));
}
.bg-gradient-flamingo-red-transparent {
    background: -webkit-linear-gradient(right, rgba(225, 52, 14, 1.0), rgba(255, 255, 255, 0.0));
    background: linear-gradient(to right, rgba(225, 52, 14, 1.0) 10%, rgba(255, 255, 255, 0.0) 95%);
}
.bg-gradient-base-color-transparent {
    background: -webkit-linear-gradient(right, rgba(99, 0, 209, 1.0), rgba(255, 255, 255, 0.0));
    background: linear-gradient(to right, rgba(99, 0, 209, 1.0) 10%, rgba(255, 255, 255, 0.0) 95%);
}
.bg-gradient-top-very-light-gray { 
    background-image:linear-gradient(to top, #f6faff, #f6fdff, #fcfafa, #ffffff, #ffffff);
}
/* text color */
.text-flamingo {
    color: #F3453B;
}
/* border color */
.border-color-base-transparent {
    border-color: rgba(110, 44, 255, 0.3) !important;
}
.text-outline-color-extra-medium-gray { 
    -webkit-text-stroke-color: rgba(45, 34, 71, 0.15); 
}
/* header */
header .container-fluid {
    padding-left: 65px;
    padding-right: 65px;
}
header .navbar-brand img {
    max-height: 70px;
}
header .btn {
    font-size: 13px;
}
.navbar .navbar-nav .nav-link .label {
    font-size: 10px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu {
    width: 360px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a {
    line-height: 24px;
}
.navbar .navbar-nav .dropdown.dropdown-with-icon .dropdown-menu li a i {
    font-size: 32px;
    width: 35px;
}
.navbar .navbar-nav .nav-link {
    font-weight: 600;
}
/* margin */
.mb-minus-30px {
    margin-bottom: -30px;
}
/* btn */
.btn {
    font-weight: 500;
    font-family: var(--primary-font);
    border: 0;
}
.btn.btn-base-color:active, .btn.btn-base-color:hover {
    background: var(--base-color);
    color: var(--white);
}
.btn.btn-transparent-light-gray, .btn.btn-transparent-light-gray:active, .btn.btn-transparent-light-gray:hover  {
    background-color:rgba(81, 20, 214, 0.1);
    color: var(--base-color);
}
.btn.btn-switch-text.btn-large>span {
    padding: 16px 32px;
    font-size: 15px;
}
/* font size */
.h1, h1 {
    font-size: 4.3rem;
    line-height: 4rem;
}
.fs-280 {
    font-size: 17.5rem;
    line-height: 17.5rem;
}
/* contact form style */
.contact-form-style-07 .form-control {
    font-size: 14px;
}
/* newsletter style */
.newsletter-style-02 input {
    border-radius: 4px;
    padding: 9px 50px 9px 20px !important;
}
.newsletter-style-02 .btn { 
    padding: 8px 20px 8px; 
}
/* progress bar style */
.progress-bar-style-01 .progress .progress-bar-percent:after {
    border-top-color: rgba(110, 44, 255, 0.1);
}
/* down section */
.down-section {
    bottom: 30px;
}
/* review star icon */
.review-star-icon i {
    color: var(--base-color);
}
/* footer */
.footer-navbar li a:hover {
    color: var(--white);
}
footer .footer-logo img {
    max-height: 100px;
}
.mb-minus-70px {
    margin-bottom: -70px;
}
/* page title */
.page-title-extra-large h1 {
    font-size: 4.5rem;
    line-height: 4.4rem;
}
/* media query responsive */
@media (max-width: 1600px) {
    .header-icon{
        display: none !important;
    }
    .partner-logo-size{
        width: 160px !important;
        height: 160px !important;
    }
    .box-layout {
        padding: 0 60px;
    }
    header .container-fluid {
        padding-left: 45px;
        padding-right: 45px;
    }
}
[data-include]{display:block; min-height:1px}
header .active { text-decoration: underline; }
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1600px;
    }
}
@media (max-width: 1199px) {
    .box-layout {
        padding: 0 0;
    }
    header .container-fluid {
        padding-left: 35px;
        padding-right: 35px;
    }
}
@media (max-width: 991px) {
    .mb-icon-none{
        display: none !important;
    }
    header .container-fluid {
        padding-left: 15px;
        padding-right: 15px;
    } 
    .md-mb-minus-50px {
        margin-bottom: -50px;
    }
}
@media (max-width: 767px) {
    .md-mb-minus-20px {
        margin-bottom: -20px;
    }
}
/* Subscribe pill */
.btn-subscribe{
    position:relative;
    display:inline-block;
    padding:15px 25px;
    border-radius:999px;
    background: #183664;          /* requested color */
    color:#fff;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    overflow:hidden;
    outline:0;
    box-shadow:0 6px 18px rgba(15, 43, 99, 0.35);
    transition:transform .25s ease, box-shadow .25s ease;
}

/* gentle pop on hover/focus */
.btn-subscribe:hover,
.btn-subscribe:focus{
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(18, 30, 108, 0.45);
}

/* animated “wave” overlay (two layers for parallax) */
.btn-subscribe::before,
.btn-subscribe::after{
    content:"";
    position:absolute;
    left:0; right:0;
    height:14px;
    bottom:-4px;                  /* slightly overlaps outside for the wave lip */
    background-repeat:repeat-x;
    background-size:120px 14px;   /* matches the SVG viewBox */
    opacity:.55;
    pointer-events:none;
}
.fs-14px{
    font-size: 13px !important;
}
/* nearer wave */
.btn-subscribe::before{
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'><path d='M0 8 Q30 0 60 8 T120 8 V14 H0 Z' fill='%23ffffff'/></svg>");
    animation:wave-move 2.8s linear infinite;
}

/* farther wave (slower + lower opacity) */
.btn-subscribe::after{
    bottom:-2px;
    opacity:.35;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'><path d='M0 8 Q30 0 60 8 T120 8 V14 H0 Z' fill='%23ffffff'/></svg>");
    animation:wave-move 4.2s linear infinite reverse;
}

/* optional subtle pulse to draw attention */
@keyframes pulse-ring{
    0%{ box-shadow:0 0 0 0 rgba(22, 52, 202, 0.45); }
    70%{ box-shadow:0 0 0 14px rgba(22,202,139,0); }
    100%{ box-shadow:0 0 0 0 rgba(22,202,139,0); }
}
.btn-subscribe{
    animation:pulse-ring 2.6s ease-out infinite;
}

/* wave motion */
@keyframes wave-move{
    from{ background-position-x:0; }
    to{   background-position-x:-120px; }
}




/* Light version */
.btn-subscribe-light{
    position:relative;
    display:inline-block;
    padding:15px 25px;
    border-radius:999px;
    background:#fff;                 /* white background */
    color:#3e05b1;                   /* text color */
    border:2px solid #3e05b1;        /* purple border */
    font-weight:600;
    line-height:1;
    text-decoration:none;
    overflow:hidden;
    outline:0;
    box-shadow:0 6px 18px rgba(62, 5, 177, 0.18);
    transition:transform .25s ease, box-shadow .25s ease;
    animation:pulse-ring 2.6s ease-out infinite; /* same animation */
}

/* hover/focus: same gentle pop */
.btn-subscribe-light:hover,
.btn-subscribe-light:focus{
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(62, 5, 177, 0.28);
}

/* waves (same motion, recolored so they’re visible on white) */
.btn-subscribe-light::before,
.btn-subscribe-light::after{
    content:"";
    position:absolute;
    left:0; right:0;
    height:14px;
    bottom:-4px;
    background-repeat:repeat-x;
    background-size:120px 14px;
    pointer-events:none;
}

/* nearer wave */
.btn-subscribe-light::before{
    opacity:.55;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'><path d='M0 8 Q30 0 60 8 T120 8 V14 H0 Z' fill='%233e05b1'/></svg>");
    animation:wave-move 2.8s linear infinite;
}

/* farther wave */
.btn-subscribe-light::after{
    bottom:-2px;
    opacity:.35;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'><path d='M0 8 Q30 0 60 8 T120 8 V14 H0 Z' fill='%233e05b1'/></svg>");
    animation:wave-move 4.2s linear infinite reverse;
}


/* LIGHT VARIANT: softer pulse color + thinner waves */
@keyframes pulse-ring-light{
    0%   { box-shadow:0 0 0 0 rgba(62,5,177,0.35); }
    70%  { box-shadow:0 0 0 12px rgba(62,5,177,0); }
    100% { box-shadow:0 0 0 0 rgba(62,5,177,0); }
}

.btn-subscribe-light{
    /* your styles from before… */
    animation:pulse-ring-light 2.8s ease-out infinite; /* softer pulse */
}

/* Thinner waves (stroke path instead of filled shape) */
.btn-subscribe-light::before,
.btn-subscribe-light::after{
    height:10px;                 /* was 14px */
    bottom:-3px;                 /* tuck the wave lip slightly */
    background-size:140px 10px;  /* match SVG size */
}

/* nearer wave (slightly thicker stroke) */
.btn-subscribe-light::before{
    opacity:.40;  /* softer */
    background-image:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='140' height='10' viewBox='0 0 140 10'>\
  <path d='M0 6 Q35 2 70 6 T140 6' fill='none' stroke='%233e05b1' stroke-width='1.75' stroke-linecap='round'/>\
</svg>");
    animation:wave-move 3.2s linear infinite; /* a touch slower */
}

/* farther wave (thinner + lighter) */
.btn-subscribe-light::after{
    bottom:-2px;
    opacity:.22;
    background-image:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='140' height='10' viewBox='0 0 140 10'>\
  <path d='M0 6 Q35 2 70 6 T140 6' fill='none' stroke='%233e05b1' stroke-width='1.1' stroke-linecap='round'/>\
</svg>");
    animation:wave-move 4.6s linear infinite reverse;
}

/* Keep your existing wave-move keyframes */
@keyframes wave-move{
    from{ background-position-x:0; }
    to  { background-position-x:-140px; } /* match the new 140px width */
}

/* Optional: respect reduced motion */
@media (prefers-reduced-motion: reduce){
    .btn-subscribe-light,
    .btn-subscribe-light::before,
    .btn-subscribe-light::after{
        animation:none !important;
    }
}

.btn-subscribe-green{
    position:relative;
    display:inline-block;
    padding:15px 25px;
    border-radius:999px;
    background: #12ae36;          /* requested color */
    color:#fff;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    overflow:hidden;
    outline:0;
    box-shadow:0 6px 18px rgba(36, 151, 60, 0.68);
    transition:transform .25s ease, box-shadow .25s ease;
}

/* gentle pop on hover/focus */
.btn-subscribe-green:hover,
.btn-subscribe-green:focus{
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(36, 151, 60, 0.42);
}

/* animated “wave” overlay (two layers for parallax) */
.btn-subscribe-green::before,
.btn-subscribe-green::after{
    content:"";
    position:absolute;
    left:0; right:0;
    height:14px;
    bottom:-4px;                  /* slightly overlaps outside for the wave lip */
    background-repeat:repeat-x;
    background-size:120px 14px;   /* matches the SVG viewBox */
    opacity:.55;
    pointer-events:none;
}

/* nearer wave */
.btn-subscribe-green::before{
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'><path d='M0 8 Q30 0 60 8 T120 8 V14 H0 Z' fill='%23ffffff'/></svg>");
    animation:wave-move 2.8s linear infinite;
}

/* farther wave (slower + lower opacity) */
.btn-subscribe-green::after{
    bottom:-2px;
    opacity:.35;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'><path d='M0 8 Q30 0 60 8 T120 8 V14 H0 Z' fill='%23ffffff'/></svg>");
    animation:wave-move 4.2s linear infinite reverse;
}

/* optional subtle pulse to draw attention */
@keyframes pulse-ring-green{
    0%{ box-shadow:0 0 0 0 rgba(19, 179, 46, 0.45); }
    70%{ box-shadow:0 0 0 14px rgba(22,202,139,0); }
    100%{ box-shadow:0 0 0 0 rgba(22,202,139,0); }
}
.btn-subscribe-green{
    animation:pulse-ring-green 2.6s ease-out infinite;
}

/* wave motion */
@keyframes wave-move{
    from{ background-position-x:0; }
    to{   background-position-x:-120px; }
}


.btn-subscribe-red{
    position:relative;
    display:inline-block;
    padding:15px 25px;
    border-radius:999px;
    background: #ae1224;          /* requested color */
    color:#fff;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    overflow:hidden;
    outline:0;
    box-shadow:0 6px 18px rgba(151, 36, 36, 0.68);
    transition:transform .25s ease, box-shadow .25s ease;
}

/* gentle pop on hover/focus */
.btn-subscribe-red:hover,
.btn-subscribe-red:focus{
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(151, 36, 36, 0.42);
}

/* animated “wave” overlay (two layers for parallax) */
.btn-subscribe-red::before,
.btn-subscribe-red::after{
    content:"";
    position:absolute;
    left:0; right:0;
    height:14px;
    bottom:-4px;                  /* slightly overlaps outside for the wave lip */
    background-repeat:repeat-x;
    background-size:120px 14px;   /* matches the SVG viewBox */
    opacity:.55;
    pointer-events:none;
}

/* nearer wave */
.btn-subscribe-red::before{
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'><path d='M0 8 Q30 0 60 8 T120 8 V14 H0 Z' fill='%23ffffff'/></svg>");
    animation:wave-move 2.8s linear infinite;
}

/* farther wave (slower + lower opacity) */
.btn-subscribe-red::after{
    bottom:-2px;
    opacity:.35;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'><path d='M0 8 Q30 0 60 8 T120 8 V14 H0 Z' fill='%23ffffff'/></svg>");
    animation:wave-move 4.2s linear infinite reverse;
}

/* optional subtle pulse to draw attention */
@keyframes pulse-ring-red{
    0%{ box-shadow:0 0 0 0 rgba(179, 19, 19, 0.45); }
    70%{ box-shadow:0 0 0 14px rgba(22,202,139,0); }
    100%{ box-shadow:0 0 0 0 rgba(22,202,139,0); }
}
.btn-subscribe-red{
    animation:pulse-ring-red 2.6s ease-out infinite;
}

/* wave motion */
@keyframes wave-move{
    from{ background-position-x:0; }
    to{   background-position-x:-120px; }
}



.btn-subscribe-blue{
    position:relative;
    display:inline-block;
    padding:15px 25px;
    border-radius:999px;
    background: #062c5e;          /* requested color */
    color:#fff;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    overflow:hidden;
    outline:0;
    box-shadow:0 6px 18px rgba(10, 64, 133, 0.72);
    transition:transform .25s ease, box-shadow .25s ease;
}

/* gentle pop on hover/focus */
.btn-subscribe-blue:hover,
.btn-subscribe-blue:focus{
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(0, 51, 115, 0.38);
}

/* animated “wave” overlay (two layers for parallax) */
.btn-subscribe-blue::before,
.btn-subscribe-blue::after{
    content:"";
    position:absolute;
    left:0; right:0;
    height:14px;
    bottom:-4px;                  /* slightly overlaps outside for the wave lip */
    background-repeat:repeat-x;
    background-size:120px 14px;   /* matches the SVG viewBox */
    opacity:.55;
    pointer-events:none;
}

/* nearer wave */
.btn-subscribe-blue::before{
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'><path d='M0 8 Q30 0 60 8 T120 8 V14 H0 Z' fill='%23ffffff'/></svg>");
    animation:wave-move 2.8s linear infinite;
}

/* farther wave (slower + lower opacity) */
.btn-subscribe-blue::after{
    bottom:-2px;
    opacity:.35;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'><path d='M0 8 Q30 0 60 8 T120 8 V14 H0 Z' fill='%23ffffff'/></svg>");
    animation:wave-move 4.2s linear infinite reverse;
}

/* optional subtle pulse to draw attention */
@keyframes pulse-ring-blue{
    0%{ box-shadow:0 0 0 0 rgba(5, 34, 85, 0.45); }
    70%{ box-shadow:0 0 0 14px rgba(22,202,139,0); }
    100%{ box-shadow:0 0 0 0 rgba(22,202,139,0); }
}
.btn-subscribe-blue{
    animation:pulse-ring-blue 2.6s ease-out infinite;
}

/* wave motion */
@keyframes wave-move{
    from{ background-position-x:0; }
    to{   background-position-x:-120px; }
}


.btn-subscribe-orange{
    position:relative;
    display:inline-block;
    padding:15px 25px;
    border-radius:999px;
    background: #bc8012;          /* requested color */
    color:#fff;
    font-weight:600;
    line-height:1;
    text-decoration:none;
    overflow:hidden;
    outline:0;
    box-shadow:0 6px 18px rgba(159, 112, 14, 0.72);
    transition:transform .25s ease, box-shadow .25s ease;
}

/* gentle pop on hover/focus */
.btn-subscribe-orange:hover,
.btn-subscribe-orange:focus{
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(186, 132, 14, 0.38);
}

/* animated “wave” overlay (two layers for parallax) */
.btn-subscribe-orange::before,
.btn-subscribe-orange::after{
    content:"";
    position:absolute;
    left:0; right:0;
    height:14px;
    bottom:-4px;                  /* slightly overlaps outside for the wave lip */
    background-repeat:repeat-x;
    background-size:120px 14px;   /* matches the SVG viewBox */
    opacity:.55;
    pointer-events:none;
}

/* nearer wave */
.btn-subscribe-orange::before{
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'><path d='M0 8 Q30 0 60 8 T120 8 V14 H0 Z' fill='%23ffffff'/></svg>");
    animation:wave-move 2.8s linear infinite;
}

/* farther wave (slower + lower opacity) */
.btn-subscribe-orange::after{
    bottom:-2px;
    opacity:.35;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='14' viewBox='0 0 120 14'><path d='M0 8 Q30 0 60 8 T120 8 V14 H0 Z' fill='%23ffffff'/></svg>");
    animation:wave-move 4.2s linear infinite reverse;
}

/* optional subtle pulse to draw attention */
@keyframes pulse-ring-orange{
    0%{ box-shadow:0 0 0 0 rgba(202, 124, 25, 0.45); }
    70%{ box-shadow:0 0 0 14px rgba(22,202,139,0); }
    100%{ box-shadow:0 0 0 0 rgba(22,202,139,0); }
}
.btn-subscribe-orange{
    animation:pulse-ring-orange 2.6s ease-out infinite;
}

/* wave motion */
@keyframes wave-move{
    from{ background-position-x:0; }
    to{   background-position-x:-120px; }
}
.bg-sky{
    background-color: #33589f;
}




.edu-bg-blue{
    background: linear-gradient(180deg, #2f6fa5 0%, #13476a 100%);
}
.edu-bg-green{
    background: linear-gradient(180deg, #10cc78 0%, #038f54 100%);
}
.edu-bg-sky{
    background: linear-gradient(180deg, #14accf 0%, #038a95 100%);
}
.edu-bg-yellow{
    background: linear-gradient(180deg, #efb21a 0%, #956602 100%);
}
.edu-bg-orange{
    background: linear-gradient(180deg, #dc4f1d 0%, #9e2402 100%);
}
.edu-bg-purple{
    background: linear-gradient(180deg, #3214b6 0%, #2b0683 100%);
}
.edu-card {
    color: #fff;
    border-radius: 22px;
    padding: 24px 28px;
    box-shadow: 0 10px 24px rgba(0,0,0,.15) inset,
    0 10px 20px rgba(0,0,0,.10);
}
.edu-card .title {
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: .2px;
    font-size: clamp(2rem, 3.6vw, 2.25rem); /* responsive */
    margin-bottom: 10px;
}
.edu-card .subtitle {
    font-size: clamp(1rem, 1.5vw, 1.1rem);
    opacity: .95;
}
.edu-card .divider {
    height: 1px;
    background: rgba(255,255,255,.35);
    margin: 28px 0 20px;
}
.edu-card .icon-wrap {
    width: 90px;
    height: 90px;
    border-radius: 17px;
    border: 1px solid rgba(255,255,255,.35);
    display: grid;
    place-items: center;
    background: rgba(255,255,255,.05);
    backdrop-filter: blur(2px);
}
.edu-card .icon-wrap i {
    font-size: 40px;
    color: #fff;
    opacity: .95;
}
.edu-card .cta {
    font-weight: 600;
    color: #fff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 12px;
    transition: transform .15s ease, background .15s ease;
}
.edu-card .cta:hover {
    background: rgba(255,255,255,.12);
    transform: translateY(-1px);
    color: #fff;
}
/* small screens padding */
@media (max-width: 576px) {
    .edu-card { padding: 28px; border-radius: 18px; }
    .edu-card .icon-wrap { width: 92px; height: 92px; border-radius: 18px; }
}
p{
    text-align: justify !important;
}
.card-soft{
    border: 1px solid #e7eaf1;
    background: #ffffff;           /* very light gray-blue */
    box-shadow: 0 2px 14px rgba(9,30,66,0.06);
}

/* Headings weight similar to screenshot */
.fw-700{ font-weight: 700; }

/* Muted body text */
.text-secondary{ color: #5f6b7a !important; }

/* Logo tile on the left */
.logo-box{
    background: #fafbff;
    border: 1px solid #eef1f6;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,0.02);
}

/* Keep logos contained without distortion */
.object-contain{
    object-fit: contain;
    width: 100%;
    height: 100%;
}

/* Rounded corners consistent with screenshot */
.rounded-4{ border-radius: 12px !important; }

/* Spacing tweaks for small screens */
@media (max-width: 575.98px){
    .logo-box{ height: 92px; }
}