body{
    font-family:'Poppins',sans-serif;
    background:#fff;
    overflow-x:hidden;
    padding-top:74px;
}

img,
svg,
iframe{
    max-width:100%;
}

a,
button,
input,
select,
textarea{
    max-width:100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a,
button,
label,
li{
    overflow-wrap:anywhere;
}

.btn{
    white-space:normal;
}

.navbar-brand{
    max-width:70vw;
    white-space:normal;
    line-height:1.2;
}

.site-navbar{
    min-height:74px;
    z-index:1030;
}

.site-navbar .container{
    min-height:56px;
}

.hero-section{
    background:#f8fafc;
}

.card{
    border:none;
    border-radius:20px;
}

.card:hover{
    transform:translateY(-5px);
    transition:.3s;
}

section{
    overflow:hidden;
}

h1,h2,h3,h4{
    color:#0f172a;
}

.text-primary{
    color:#2563eb!important;
}

.btn-primary{
    background:#2563eb;
    border:none;
}

.btn-primary:hover{
    background:#1d4ed8;
}

.navbar .nav-link{
    color:#0f172a;
    font-weight:500;
    margin:0 6px;
    padding:9px 4px;
    position:relative;
    transition:color .3s ease;
}

.navbar .nav-link::after{
    content:"";
    width:0;
    height:2px;
    background:#2563eb;
    border-radius:999px;
    position:absolute;
    left:4px;
    right:4px;
    bottom:2px;
    transition:width .3s ease;
}

.navbar .nav-link:hover,
.navbar .nav-link.active{
    color:#2563eb!important;
}

.navbar .nav-link:hover::after,
.navbar .nav-link.active::after{
    width:calc(100% - 8px);
}

.home-marquee{
    background:#0f172a;
    overflow:hidden;
    padding:12px 0;
}

.home-marquee-track{
    display:flex;
    gap:18px;
    width:max-content;
    animation:homeMarquee 58s linear infinite;
}

.home-marquee:hover .home-marquee-track{
    animation-play-state:paused;
}

.marquee-item{
    min-width:300px;
    height:74px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:8px;
    background:rgba(255,255,255,.08);
    color:#fff;
    display:flex;
    align-items:center;
    gap:14px;
    padding:10px 18px 10px 10px;
}

.marquee-item img{
    width:58px;
    height:54px;
    border-radius:8px;
    object-fit:cover;
}

.marquee-item span{
    font-weight:600;
    white-space:nowrap;
}

@keyframes homeMarquee{
    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }
}

.home-hero{
    background:#fff;
    min-height:620px;
    padding:70px 0 42px;
    position:relative;
}

.hero-kicker{
    background:#ede9fe;
    border-radius:8px;
    color:#6d28d9;
    display:inline-flex;
    font-weight:800;
    margin-bottom:18px;
    padding:8px 14px;
}

.hero-title{
    color:#202124;
    font-size:64px;
    font-weight:900;
    line-height:.98;
    margin-bottom:22px;
    max-width:560px;
}

.hero-title span{
    display:inline-block;
    position:relative;
    z-index:1;
}

.hero-title span::after{
    content:"";
    background:#ffd33d;
    border:5px solid #f2c100;
    border-radius:50%;
    height:32px;
    position:absolute;
    left:-12px;
    right:-12px;
    bottom:0;
    z-index:-1;
}

.hero-copy{
    color:#334155;
    font-size:17px;
    max-width:500px;
    margin-bottom:26px;
}

.home-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-bottom:26px;
}

.home-actions .btn,
.home-cta .btn,
.bg-primary.text-white .btn{
    min-width:150px;
}

.hero-logo-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    max-width:520px;
}

.hero-logo-badge{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:8px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px;
    box-shadow:0 10px 24px rgba(15,23,42,.08);
}

.hero-logo-badge > span:last-child{
    color:#0f172a;
    font-size:14px;
    font-weight:800;
}

.hero-mark{
    width:78px;
    height:52px;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 78px;
    position:relative;
    overflow:hidden;
}

.skill-india-mark{
    background:#fff;
    border:1px solid #e2e8f0;
    flex-direction:column;
    gap:0;
    line-height:1;
}

.skill-india-mark::before{
    content:"";
    width:16px;
    height:42px;
    background:#f97316;
    position:absolute;
    left:21px;
    top:5px;
}

.skill-india-mark b,
.skill-india-mark em{
    color:#1e2875;
    font-size:15px;
    font-style:normal;
    font-weight:900;
    position:relative;
    z-index:1;
}

.skill-india-mark em{
    color:#15803d;
}

.iti-mark{
    background:#eff6ff;
    border:1px solid #bfdbfe;
    color:#1d4ed8;
    gap:7px;
}

.iti-mark i{
    font-size:22px;
}

.iti-mark b{
    font-size:18px;
    font-weight:900;
}

.scvt-mark{
    background:#f0fdf4;
    border:1px solid #bbf7d0;
    background:#16a34a;
    color:#fff;
    gap:7px;
}

.scvt-mark i{
    font-size:18px;
}

.scvt-mark b{
    font-size:15px;
    font-weight:900;
}

.ncvt-mark{
    background:#fff1f2;
    border:1px solid #fecdd3;
    color:#be123c;
    gap:7px;
}

.ncvt-mark i{
    font-size:20px;
}

.ncvt-mark b{
    font-size:15px;
    font-weight:900;
}

.hero-visual{
    min-height:520px;
    position:relative;
}

.hero-visual img{
    width:72%;
    height:500px;
    object-fit:cover;
    object-position:center;
    border-radius:8px;
    position:absolute;
    right:32px;
    bottom:0;
    z-index:3;
    box-shadow:0 24px 60px rgba(15,23,42,.16);
}

.hero-shape{
    position:absolute;
    z-index:1;
}

.hero-shape-one{
    width:430px;
    height:300px;
    border-radius:220px 220px 0 0;
    background:#ddd6fe;
    left:10px;
    bottom:0;
}

.hero-shape-two{
    width:220px;
    height:150px;
    background:#d946ef;
    border-radius:8px;
    right:56px;
    top:128px;
}

.hero-symbol{
    color:#8b5cf6;
    font-weight:900;
    position:absolute;
    z-index:4;
}

.hero-symbol-star{
    color:#d946ef;
    font-size:92px;
    right:8px;
    top:14px;
    line-height:1;
}

.hero-symbol-hash{
    font-size:78px;
    left:148px;
    bottom:54px;
    line-height:1;
}

.hero-symbol-ring{
    width:72px;
    height:72px;
    border:10px solid #d946ef;
    border-radius:50%;
    right:18px;
    bottom:76px;
    z-index:2;
}

.hero-badge-card{
    background:rgba(255,255,255,.96);
    border-radius:8px;
    display:flex;
    gap:12px;
    align-items:center;
    position:absolute;
    left:22px;
    right:42px;
    bottom:24px;
    max-width:360px;
    padding:16px;
    z-index:5;
    box-shadow:0 16px 40px rgba(15,23,42,.18);
}

.hero-badge-card i{
    width:44px;
    height:44px;
    border-radius:8px;
    background:#eff6ff;
    color:#2563eb;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 44px;
}

.hero-badge-card strong,
.hero-badge-card span{
    display:block;
}

.hero-badge-card span{
    color:#64748b;
    font-size:14px;
}

.recognition-strip{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:8px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    overflow:hidden;
}

.recognition-item{
    display:flex;
    align-items:center;
    gap:14px;
    padding:18px;
    border-right:1px solid #e2e8f0;
}

.recognition-item:last-child{
    border-right:0;
}

.recognition-logo{
    width:68px;
    height:68px;
    border-radius:8px;
    background:#eff6ff;
    color:#2563eb;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 68px;
    box-shadow:inset 0 0 0 1px rgba(37,99,235,.12);
}

.recognition-logo strong{
    color:inherit;
    font-size:18px;
    font-weight:900;
    letter-spacing:0;
}

.recognition-logo-iti{
    background:#eef2ff;
    color:#1d4ed8;
}

.recognition-logo-skill{
    background:#fff7ed;
    color:#ea580c;
}

.recognition-logo-scvt{
    background:#f0fdf4;
    color:#16a34a;
}

.recognition-logo-ncvt{
    background:#fdf2f8;
    color:#db2777;
}

.recognition-item strong,
.recognition-item span{
    display:block;
}

.recognition-item span{
    color:#64748b;
    font-size:13px;
}

.quick-card{
    background:#fff;
    border-radius:8px;
    color:#0f172a;
    display:flex;
    align-items:center;
    gap:14px;
    padding:22px;
    text-decoration:none;
    height:100%;
    transition:transform .3s ease, color .3s ease, box-shadow .3s ease;
}

.quick-card i{
    width:46px;
    height:46px;
    border-radius:8px;
    background:#eff6ff;
    color:#2563eb;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 46px;
    font-size:20px;
}

.quick-card span{
    font-weight:700;
}

.quick-card:hover{
    color:#2563eb;
    transform:translateY(-5px);
    box-shadow:0 16px 40px rgba(15,23,42,.14)!important;
}

.home-image-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.home-image-grid img{
    width:100%;
    height:360px;
    border-radius:8px;
    object-fit:cover;
    box-shadow:0 16px 40px rgba(15,23,42,.12);
}

.home-image-grid img:first-child{
    margin-top:34px;
}

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

.home-check-list div{
    color:#334155;
    display:flex;
    align-items:center;
    gap:10px;
}

.home-check-list i{
    width:24px;
    height:24px;
    border-radius:50%;
    background:#dcfce7;
    color:#16a34a;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:12px;
}

.trade-card,
.step-card{
    background:#fff;
    border-radius:8px;
    height:100%;
    padding:28px;
    transition:transform .3s ease, box-shadow .3s ease;
}

.trade-card:hover,
.step-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 45px rgba(15,23,42,.14)!important;
}

.trade-card i{
    width:56px;
    height:56px;
    border-radius:8px;
    background:#eff6ff;
    color:#2563eb;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    margin-bottom:18px;
}

.trade-card p,
.step-card p{
    color:#64748b;
    margin-bottom:0;
}

.step-card span{
    color:#2563eb;
    font-size:38px;
    font-weight:800;
    line-height:1;
}

.step-card h4{
    margin-top:18px;
}

.facility-card{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:8px;
    height:100%;
    padding:28px 18px;
    text-align:center;
    transition:background .3s ease, transform .3s ease;
}

.facility-card i{
    color:#2563eb;
    font-size:34px;
    margin-bottom:16px;
}

.facility-card:hover{
    background:#eff6ff;
    transform:translateY(-5px);
}

.home-gallery-img{
    width:100%;
    height:260px;
    border-radius:8px;
    object-fit:cover;
    box-shadow:0 14px 35px rgba(15,23,42,.12);
    transition:transform .3s ease;
}

.home-gallery-img:hover{
    transform:translateY(-5px);
}

.placement-partners{
    background:#f8fafc;
}

.partner-marquee{
    overflow:hidden;
    padding:8px 0;
}

.partner-track{
    display:flex;
    gap:16px;
    width:max-content;
    animation:partnerMarquee 160s linear infinite;
}

.partner-marquee:hover .partner-track{
    animation-play-state:paused;
}

.partner-card{
    width:230px;
    min-height:86px;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:8px;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:14px;
    padding:16px 18px;
    box-shadow:0 10px 24px rgba(15,23,42,.07);
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}

.partner-card:hover{
    border-color:rgba(37,99,235,.35);
    box-shadow:0 16px 36px rgba(15,23,42,.12);
    transform:translateY(-3px);
}

.partner-logo{
    width:52px;
    height:52px;
    border-radius:8px;
    background:linear-gradient(135deg,#eff6ff,#dbeafe);
    border:1px solid rgba(37,99,235,.16);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 52px;
    padding:9px;
    position:relative;
}

.partner-logo img{
    max-width:34px;
    max-height:34px;
    object-fit:contain;
    display:block;
    position:relative;
    z-index:2;
}

.partner-logo strong{
    color:#2563eb;
    font-size:14px;
    font-weight:900;
    letter-spacing:0;
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:1;
}

.partner-card span{
    color:#0f172a;
    font-size:15px;
    font-weight:700;
    text-align:left;
    line-height:1.25;
}

@keyframes partnerMarquee{
    from{
        transform:translateX(0);
    }

    to{
        transform:translateX(-50%);
    }
}

.home-cta{
    background:linear-gradient(135deg,#2563eb,#0f172a);
}

.login-toggle{
    display:inline-flex;
    align-items:center;
    gap:4px;
    border-radius:8px;
    padding:9px 18px;
}

.login-menu{
    border:0;
    border-radius:8px;
    padding:10px;
    margin-top:12px;
    box-shadow:0 18px 40px rgba(15,23,42,.14);
}

.login-menu .dropdown-item{
    border-radius:6px;
    color:#0f172a;
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    transition:background .25s ease, color .25s ease, transform .25s ease;
}

.login-menu .dropdown-item:hover,
.login-menu .dropdown-item:focus{
    background:#eff6ff;
    color:#2563eb;
    transform:translateX(4px);
}

.login-page-shell{
    min-height:calc(100vh - 74px);
    background:linear-gradient(135deg,#f8fafc 0%,#eef6ff 48%,#fff7ed 100%);
    padding:52px 16px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.login-panel-wrap{
    width:min(1120px,100%);
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:8px;
    box-shadow:0 24px 70px rgba(15,23,42,.12);
    display:grid;
    grid-template-columns:minmax(320px,1fr) minmax(360px,470px);
    overflow:hidden;
}

.login-visual{
    min-height:640px;
    padding:30px 34px;
    background:#fff;
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.login-brand{
    color:#0f172a;
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-size:20px;
    font-weight:800;
    text-decoration:none;
}

.login-brand span{
    width:42px;
    height:42px;
    border-radius:8px;
    background:#eff6ff;
    color:#2563eb;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
}

.login-illustration{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:390px;
}

.login-illustration img{
    width:100%;
    max-width:520px;
    height:auto;
    display:block;
}

.login-note{
    width:min(420px,100%);
    border:1px solid #dbeafe;
    border-radius:8px;
    background:#f8fbff;
    display:flex;
    align-items:flex-start;
    gap:14px;
    padding:18px;
}

.login-note span{
    width:44px;
    height:44px;
    border-radius:8px;
    background:#dcfce7;
    color:#16a34a;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 44px;
}

.login-note strong{
    color:#0f172a;
    display:block;
    margin-bottom:3px;
}

.login-note p{
    color:#64748b;
    margin:0;
}

.login-form-side{
    background:#fff;
    border-left:1px solid #e2e8f0;
    padding:58px 44px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.role-switch{
    background:#f1f5f9;
    border:1px solid #e2e8f0;
    border-radius:8px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    padding:6px;
    margin-bottom:34px;
}

.role-switch-btn{
    min-height:48px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#475569;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    font-weight:800;
    transition:background .25s ease,color .25s ease,box-shadow .25s ease;
}

.role-switch-btn.active{
    background:#2563eb;
    color:#fff;
    box-shadow:0 10px 24px rgba(37,99,235,.24);
}

.login-heading span{
    color:#2563eb;
    display:block;
    font-size:13px;
    font-weight:800;
    letter-spacing:0;
    margin-bottom:10px;
    text-transform:uppercase;
}

.login-heading h1{
    color:#0f172a;
    font-size:32px;
    font-weight:900;
    line-height:1.18;
    margin-bottom:10px;
}

.login-heading p{
    color:#64748b;
    margin-bottom:30px;
}

.portal-login-form{
    display:grid;
    gap:20px;
}

.form-field label{
    color:#0f172a;
    display:block;
    font-size:14px;
    font-weight:800;
    margin-bottom:9px;
}

.input-shell{
    height:52px;
    border:1px solid #d7dee8;
    border-radius:8px;
    background:#fff;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 14px;
    transition:border-color .25s ease,box-shadow .25s ease;
}

.input-shell:focus-within{
    border-color:#2563eb;
    box-shadow:0 0 0 4px rgba(37,99,235,.12);
}

.input-shell > i{
    color:#94a3b8;
    flex:0 0 auto;
}

.input-shell input{
    width:100%;
    min-width:0;
    border:0;
    outline:0;
    color:#0f172a;
    font:inherit;
}

.input-shell input::placeholder{
    color:#94a3b8;
}

.password-toggle{
    width:36px;
    height:36px;
    border:0;
    border-radius:8px;
    background:#f8fafc;
    color:#64748b;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 36px;
    transition:background .25s ease,color .25s ease;
}

.password-toggle:hover,
.password-toggle:focus{
    background:#eff6ff;
    color:#2563eb;
}

.login-options{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    color:#64748b;
    font-size:14px;
}

.login-options label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
}

.login-options input{
    width:16px;
    height:16px;
    accent-color:#2563eb;
}

.login-options a{
    color:#2563eb;
    font-weight:800;
    text-decoration:none;
    white-space:nowrap;
}

.login-options a:hover{
    color:#1d4ed8;
}

.login-submit{
    height:52px;
    border:0;
    border-radius:8px;
    background:#2563eb;
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    font-weight:800;
    box-shadow:0 14px 30px rgba(37,99,235,.25);
    transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}

.login-submit:hover,
.login-submit:focus{
    background:#1d4ed8;
    transform:translateY(-2px);
    box-shadow:0 18px 36px rgba(37,99,235,.3);
}

.fee-highlight-card{
    background:#fff;
    border:1px solid #dbeafe;
    border-radius:8px;
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding:26px;
}

.fee-highlight-card > i{
    width:58px;
    height:58px;
    border-radius:8px;
    background:#eff6ff;
    color:#2563eb;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 58px;
    font-size:24px;
}

.fee-highlight-card h4{
    margin-bottom:8px;
}

.fee-highlight-card p{
    color:#64748b;
    margin:0;
}

.process-card{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:8px;
    display:grid;
    gap:24px;
    max-width:980px;
    margin:0 auto;
    padding:34px;
    position:relative;
}

.process-line{
    width:3px;
    background:linear-gradient(180deg,#2563eb,#14b8a6,#f59e0b);
    border-radius:999px;
    position:absolute;
    left:45px;
    top:52px;
    bottom:52px;
    box-shadow:0 0 18px rgba(37,99,235,.45);
}

.process-step{
    display:grid;
    grid-template-columns:24px 1fr;
    gap:22px;
    position:relative;
    z-index:1;
}

.process-dot{
    width:20px;
    height:20px;
    border:4px solid #fff;
    border-radius:50%;
    background:#2563eb;
    box-shadow:0 0 0 5px rgba(37,99,235,.14),0 0 24px rgba(37,99,235,.65);
    margin-top:7px;
}

.process-step:nth-child(2n) .process-dot{
    background:#14b8a6;
    box-shadow:0 0 0 5px rgba(20,184,166,.14),0 0 24px rgba(20,184,166,.65);
}

.process-step:nth-child(3n) .process-dot{
    background:#f59e0b;
    box-shadow:0 0 0 5px rgba(245,158,11,.16),0 0 24px rgba(245,158,11,.65);
}

.process-content{
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:8px;
    padding:18px 20px;
}

.process-content strong{
    color:#0f172a;
    display:block;
    font-size:17px;
    margin-bottom:6px;
}

.process-content p{
    color:#64748b;
    margin:0;
}

.fees-table-card{
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:8px;
    overflow:hidden;
}

.fees-table{
    min-width:820px;
}

.fees-table thead th{
    background:#0f172a;
    color:#fff;
    font-size:14px;
    padding:16px;
    white-space:nowrap;
}

.fees-table tbody td{
    color:#334155;
    padding:17px 16px;
    vertical-align:middle;
}

.fees-table tbody tr:nth-child(even) td{
    background:#f8fafc;
}

.trade-name{
    color:#0f172a;
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-weight:800;
}

.trade-name i{
    width:34px;
    height:34px;
    border-radius:8px;
    background:#eff6ff;
    color:#2563eb;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 34px;
}

.fee-info-card{
    height:100%;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:8px;
    padding:24px;
}

.fee-info-card i{
    width:46px;
    height:46px;
    border-radius:8px;
    background:#eff6ff;
    color:#2563eb;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
}

.fee-info-card h5{
    margin-bottom:8px;
}

.fee-info-card p{
    color:#64748b;
    margin:0;
}

.gallery-card{
    background:#fff;
    border-radius:8px;
    overflow:hidden;
    height:100%;
    transition:transform .3s ease, box-shadow .3s ease;
}

.gallery-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 45px rgba(15,23,42,.16)!important;
}

.gallery-art{
    min-height:240px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    position:relative;
}

.gallery-art::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.28));
}

.gallery-art i{
    font-size:58px;
    position:relative;
    z-index:1;
}

.gallery-art-one{
    background:linear-gradient(135deg,#2563eb,#0891b2);
}

.gallery-art-two{
    background:linear-gradient(135deg,#f59e0b,#ef4444);
}

.gallery-art-three{
    background:linear-gradient(135deg,#0f172a,#2563eb);
}

.gallery-art-four{
    background:linear-gradient(135deg,#16a34a,#14b8a6);
}

.gallery-art-five{
    background:linear-gradient(135deg,#7c3aed,#db2777);
}

.gallery-art-six{
    background:linear-gradient(135deg,#ea580c,#ca8a04);
}

.gallery-content{
    padding:22px;
}

.gallery-content p{
    color:#64748b;
    margin-bottom:0;
}

.contact-info-list{
    display:grid;
    gap:18px;
}

.contact-info-item{
    display:flex;
    gap:16px;
    align-items:flex-start;
}

.contact-info-item span{
    width:46px;
    height:46px;
    border-radius:8px;
    background:#eff6ff;
    color:#2563eb;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 46px;
    font-size:20px;
}

.contact-info-item h6{
    color:#0f172a;
    font-weight:700;
    margin-bottom:4px;
}

.contact-info-item p{
    color:#64748b;
    margin-bottom:0;
}

.contact-info-item a{
    color:#64748b;
    text-decoration:none;
    transition:color .25s ease;
}

.contact-info-item a:hover{
    color:#2563eb;
}

.contact-map{
    border-radius:8px;
    overflow:hidden;
    min-height:280px;
    background:#e2e8f0;
}

.contact-map iframe{
    width:100%;
    height:280px;
    border:0;
    display:block;
}

.footer-section{
    background:linear-gradient(135deg,rgba(0,0,0,.88),rgba(15,23,42,.82));
    color:#fff;
    padding:72px 0 24px;
    backdrop-filter:blur(14px);
    border-top:1px solid rgba(255,255,255,.12);
    box-shadow:0 -18px 50px rgba(15,23,42,.14);
}

.footer-logo{
    width:90px;
    max-height:90px;
    object-fit:contain;
}

.footer-text{
    color:rgba(255,255,255,.72);
    line-height:1.8;
}

.footer-title{
    font-size:24px;
    font-weight:700;
    margin-bottom:25px;
    color:#fff;
    position:relative;
    padding-bottom:12px;
}

.footer-title::after{
    content:"";
    width:44px;
    height:3px;
    background:#2563eb;
    border-radius:999px;
    position:absolute;
    left:0;
    bottom:0;
}

.footer-links{
    list-style:none;
    padding:0;
}

.footer-links li{
    margin-bottom:15px;
    color:rgba(255,255,255,.72);
}

.footer-links a{
    color:rgba(255,255,255,.72);
    display:inline-block;
    position:relative;
    text-decoration:none;
    padding-bottom:7px;
    transition:color .3s ease, transform .3s ease;
}

.footer-links a::after,
.footer-bottom a::after{
    content:"";
    width:0;
    height:2px;
    background:#3b82f6;
    border-radius:999px;
    position:absolute;
    left:0;
    bottom:0;
    transition:width .32s ease;
}

.footer-links a:hover{
    color:#fff;
    transform:translateX(6px);
}

.footer-links a:hover::after,
.footer-bottom a:hover::after{
    width:100%;
}

.contact-item{
    margin-bottom:20px;
    color:rgba(255,255,255,.72);
    display:flex;
    gap:12px;
}

.contact-item i{
    color:#3b82f6;
    margin-top:4px;
}

.footer-map{
    width:100%;
    margin-top:14px;
    border-radius:8px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.14);
    background:rgba(255,255,255,.08);
}

.footer-map iframe{
    width:100%;
    height:160px;
    border:0;
    display:block;
    filter:saturate(.85);
}

.social-icons{
    margin-top:25px;
}

.social-icons a{
    width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    color:#fff;
    margin-right:10px;
    text-decoration:none;
    background:rgba(255,255,255,.06);
    transition:background .3s ease, border-color .3s ease, transform .3s ease;
}

.social-icons a:hover{
    color:#fff;
    transform:translateY(-3px);
}

.social-icons a.facebook:hover,
.social-icons a:has(.fa-facebook-f):hover{
    background:#1877f2;
    border-color:#1877f2;
}

.social-icons a.twitter:hover,
.social-icons a:has(.fa-twitter):hover{
    background:#1da1f2;
    border-color:#1da1f2;
}

.social-icons a.linkedin:hover,
.social-icons a:has(.fa-linkedin-in):hover{
    background:#0a66c2;
    border-color:#0a66c2;
}

.social-icons a.instagram:hover,
.social-icons a:has(.fa-instagram):hover{
    background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4);
    border-color:#dd2a7b;
}

.footer-divider{
    border-color:rgba(255,255,255,.1);
    margin:40px 0 25px;
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:rgba(255,255,255,.68);
    flex-wrap:wrap;
    gap:16px;
}

.footer-bottom a{
    color:rgba(255,255,255,.72);
    display:inline-block;
    position:relative;
    text-decoration:none;
    margin-left:20px;
    padding-bottom:7px;
    transition:color .3s ease;
}

.footer-bottom a:hover{
    color:#fff;
}

@media(max-width:992px){

.navbar-collapse{
    padding-top:14px;
}

.navbar-nav{
    gap:6px;
}

.login-toggle{
    width:100%;
    justify-content:center;
    margin-top:6px;
}

.home-hero{
    min-height:auto;
    padding:54px 0 34px;
}

.hero-title{
    font-size:50px;
}

.hero-visual{
    min-height:470px;
}

.hero-visual img{
    width:74%;
    height:430px;
    right:20px;
}

.recognition-strip{
    grid-template-columns:repeat(2,1fr);
}

.recognition-item:nth-child(2){
    border-right:0;
}

.recognition-item:nth-child(-n+2){
    border-bottom:1px solid #e2e8f0;
}

.login-panel-wrap{
    grid-template-columns:1fr;
}

.login-visual{
    min-height:auto;
    gap:22px;
}

.login-form-side{
    border-left:0;
    border-top:1px solid #e2e8f0;
}

}

@media(max-width:768px){

.navbar .nav-link{
    display:inline-block;
    margin:4px 0;
}

@media(max-width:576px){

section{
    scroll-margin-top:72px;
}

.py-5{
    padding-top:2.4rem!important;
    padding-bottom:2.4rem!important;
}

.display-5{
    font-size:2rem;
}

.lead{
    font-size:1rem;
}

.hero-title{
    font-size:36px;
}

.hero-copy{
    font-size:16px;
}

.hero-visual{
    min-height:340px;
}

.hero-visual img{
    width:84%;
    height:300px;
    right:0;
}

.hero-shape-one{
    width:230px;
    height:170px;
}

.hero-shape-two{
    width:120px;
    height:90px;
    right:18px;
    top:82px;
}

.hero-symbol-star{
    font-size:48px;
}

.hero-symbol-hash{
    font-size:42px;
    left:44px;
    bottom:44px;
}

.hero-symbol-ring{
    width:44px;
    height:44px;
    border-width:7px;
    bottom:66px;
}

.hero-badge-card{
    align-items:flex-start;
    padding:12px;
}

.hero-badge-card i{
    width:38px;
    height:38px;
    flex-basis:38px;
}

.hero-badge-card span{
    font-size:13px;
}

.quick-card{
    padding:18px;
}

.home-gallery-img{
    height:220px;
}

.card-body.p-4,
.card-body.p-lg-5{
    padding:1.25rem!important;
}

.contact-map,
.contact-map iframe{
    min-height:230px;
    height:230px;
}

.login-page-shell{
    padding:18px 10px;
}

.login-brand{
    font-size:18px;
}

.role-switch{
    grid-template-columns:1fr;
}

.input-shell{
    height:50px;
}

.footer-section{
    padding:48px 0 22px;
}

.footer-bottom{
    flex-direction:column;
}

}

.navbar-brand{
    font-size:17px;
}

.marquee-item{
    min-width:230px;
    height:auto;
}

.marquee-item span{
    white-space:normal;
}

.home-hero{
    padding:48px 0 32px;
}

.hero-title{
    font-size:44px;
}

.hero-title span::after{
    height:24px;
    left:-8px;
    right:-8px;
}

.hero-logo-row{
    grid-template-columns:1fr;
}

.home-actions{
    flex-direction:column;
    align-items:stretch;
}

.home-actions .btn,
.home-cta .btn,
.bg-primary.text-white .btn{
    width:100%;
    margin:0 0 10px!important;
}

.hero-visual{
    min-height:430px;
}

.hero-visual img{
    width:78%;
    height:380px;
    right:8px;
}

.hero-shape-one{
    width:300px;
    height:220px;
}

.hero-shape-two{
    width:160px;
    height:115px;
    right:26px;
    top:96px;
}

.hero-symbol-star{
    font-size:68px;
    right:0;
}

.hero-symbol-hash{
    font-size:58px;
    left:80px;
}

.hero-symbol-ring{
    width:58px;
    height:58px;
    right:4px;
}

.hero-badge-card{
    left:12px;
    right:12px;
    bottom:14px;
}

.home-image-grid{
    grid-template-columns:1fr;
}

.home-image-grid img,
.home-image-grid img:first-child{
    height:260px;
    margin-top:0;
}

.recognition-strip{
    grid-template-columns:1fr;
}

.recognition-item{
    border-right:0;
    border-bottom:1px solid #e2e8f0;
}

.recognition-item:last-child{
    border-bottom:0;
}

.trade-card,
.step-card{
    padding:22px;
}

.gallery-art{
    min-height:190px;
}

.contact-info-item{
    gap:12px;
}

.contact-info-item span{
    width:40px;
    height:40px;
    flex-basis:40px;
}

.partner-card{
    width:200px;
}

.partner-card span{
    font-size:14px;
}

.fee-highlight-card{
    flex-direction:column;
}

.process-card{
    padding:24px 18px;
}

.process-line{
    left:29px;
    top:42px;
    bottom:42px;
}

.process-step{
    gap:16px;
}

.process-content{
    padding:16px;
}

.fees-table thead th,
.fees-table tbody td{
    padding:14px;
}

.login-page-shell{
    padding:28px 12px;
}

.login-panel-wrap{
    grid-template-columns:1fr;
}

.login-visual{
    min-height:auto;
    padding:24px 20px 18px;
    gap:22px;
}

.login-illustration{
    min-height:auto;
}

.login-illustration img{
    max-width:360px;
}

.login-note{
    padding:14px;
}

.login-form-side{
    border-left:0;
    border-top:1px solid #e2e8f0;
    padding:30px 20px;
}

.role-switch{
    margin-bottom:26px;
}

.role-switch-btn{
    font-size:14px;
    min-height:46px;
}

.login-heading h1{
    font-size:26px;
}

.login-options{
    align-items:flex-start;
    flex-direction:column;
}

.footer-bottom{
    text-align:center;
    gap:15px;
    justify-content:center;
}

.footer-bottom a{
    margin:0 10px;
}

}
.login-error {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 15px;
    padding: 11px 13px;
    border: 1px solid #f2c7ca;
    border-radius: 9px;
    color: #b93640;
    background: #fff0f1;
    font-size: 13px;
    font-weight: 600;
}
