:root {
    --primary:#046bd2;
    --primary-dark:#045cb4;
    --dark:#1c1c40;
    --dark-lighter:#2a2a5a;
    --text:#334155;
    --text-light:#94a3b8;
    --white:#ffffff;
    --light-bg:#f9fafb;
    --border:#e2e8f0;
    --gradient:linear-gradient( 135deg,#046bd2,#045cb4 );
    --shadow:0 10px 40px rgba(4,107,210,0.15);
    --shadow-dark:0 20px 60px rgba(28,28,64,0.3);
    --transition:all 0.3s ease;
    --font:'Baloo Da 2',sans-serif
}

*,*::before,*::after {
    margin:0;
    padding:0;
    box-sizing:border-box
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:80px
}

body {
    font-family:var(--font);
    font-size:16px;
    line-height:1.65;
    color:var(--text);
    background:var(--white);
    overflow-x:hidden
}

a {
    text-decoration:none;
    color:var(--primary);
    transition:var(--transition)
}

a:hover {
    color:var(--primary-dark)
}

img {
    max-width:100%;
    height:auto
}

ul {
    list-style:none
}

.container {
    max-width:1200px;
    margin:0 auto;
    padding:0 20px
}

.section {
    padding:100px 0
}

.highlight {
    color:var(--primary)
}

.section-header {
    text-align:center;
    margin-bottom:60px
}

.section-subtitle {
    display:inline-block;
    font-size:14px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:3px;
    color:var(--primary);
    margin-bottom:10px
}

.section-title {
    font-size:42px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:15px
}

.title-line {
    width:60px;
    height:4px;
    background:var(--gradient);
    margin:0 auto;
    border-radius:2px
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:15px 35px;
    font-family:var(--font);
    font-size:16px;
    font-weight:600;
    border-radius:50px;
    transition:var(--transition);
    cursor:pointer;
    border:2px solid transparent
}

.btn-primary {
    background:linear-gradient( 135deg,#0787ef,#046bd2 );
    color:var(--white);
    border-color:#0787ef;
    box-shadow:0 10px 28px rgba(4,107,210,0.30)
}

.btn-primary:hover {
    transform:translateY(-3px);
    box-shadow:0 15px 35px rgba(4,107,210,0.42);
    color:var(--white)
}

.btn-outline {
    background:transparent;
    color:var(--white);
    border-color:rgba(255,255,255,0.85)
}

.btn-outline:hover {
    background:rgba(255,255,255,0.95);
    color:var(--dark);
    transform:translateY(-3px)
}

.btn-full {
    width:100%;
    justify-content:center
}

.site-header {
    position:fixed;
    top:0;
    left:0;
    width:100%;
    z-index:1000;
    padding:15px 0;
    transition:var(--transition)
}

.site-header.scrolled {
    background:var(--dark);
    padding:10px 0;
    box-shadow:0 5px 20px rgba(0,0,0,0.3)
}

.header-inner {
    display:flex;
    align-items:center;
    justify-content:space-between
}

.logo img {
    height:40px;
    width:auto
}

.main-nav ul {
    display:flex;
    gap:30px
}

.main-nav a {
    color:var(--white);
    font-weight:500;
    font-size:15px;
    position:relative;
    padding:5px 0
}

.main-nav a::after {
    content:'';
    position:absolute;
    bottom:0;
    left:0;
    width:0;
    height:2px;
    background:var(--primary);
    transition:var(--transition)
}

.main-nav a:hover::after,.main-nav a.active::after {
    width:100%
}

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

.header-social {
    display:flex;
    gap:12px
}

.header-social a {
    width:35px;
    height:35px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,0.3);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--white);
    font-size:14px;
    transition:var(--transition)
}

.header-social a:hover {
    background:var(--primary);
    border-color:var(--primary);
    transform:translateY(-2px);
    color:var(--white)
}

.mobile-toggle {
    display:none;
    flex-direction:column;
    gap:5px;
    background:none;
    border:none;
    cursor:pointer;
    padding:5px
}

.mobile-toggle span {
    width:25px;
    height:3px;
    background:var(--white);
    border-radius:3px;
    transition:var(--transition)
}

.hero-section {
    min-height:100vh;
    display:flex;
    align-items:center;
    background:radial-gradient( circle at 78% 46%,rgba(4,107,210,0.12),transparent 28% ),radial-gradient( circle at 88% 85%,rgba(26,184,148,0.08),transparent 24% ),var(--dark);
    position:relative;
    overflow:hidden;
    padding:110px 0 70px
}

.hero-section::before {
    content:'';
    position:absolute;
    width:520px;
    height:520px;
    right:-180px;
    top:80px;
    border-radius:50%;
    background:rgba(4,107,210,0.08);
    filter:blur(20px);
    pointer-events:none
}

.hero-section::after {
    content:'';
    position:absolute;
    width:320px;
    height:320px;
    left:-170px;
    bottom:-160px;
    border-radius:50%;
    background:rgba(26,184,148,0.06);
    filter:blur(15px);
    pointer-events:none
}

.hero-particles {
    position:absolute;
    inset:0;
    opacity:0.35;
    pointer-events:none
}

.hero-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(460px,0.9fr);
    gap:55px;
    align-items:center;
    position:relative;
    z-index:2
}

.hero-content {
    position:relative;
    z-index:5
}

.hero-subtitle {
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:14px;
    font-weight:700;
    color:#12a9ff;
    margin-bottom:16px;
    letter-spacing:3px;
    text-transform:uppercase
}

.hero-subtitle::before {
    content:'';
    width:28px;
    height:2px;
    background:#12a9ff;
    border-radius:2px
}

.hero-title {
    font-size:clamp(48px,5vw,70px);
    font-weight:800;
    color:var(--white);
    line-height:1.08;
    margin-bottom:14px;
    letter-spacing:-1.5px
}

.hero-title .highlight {
    background:linear-gradient( 90deg,#0786ee,#12b7ff );
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent
}

.hero-role {
    font-size:28px;
    font-weight:600;
    color:#a7b2c9;
    margin-bottom:20px
}

.hero-description {
    max-width:620px;
    font-size:16px;
    color:rgba(255,255,255,0.68);
    line-height:1.9;
    margin-bottom:30px
}

.hero-buttons {
    display:flex;
    gap:14px;
    margin-bottom:45px
}

.hero-buttons .btn {
    min-width:135px;
    justify-content:center
}

.hero-stats {
    display:grid;
    grid-template-columns:repeat(4,minmax(90px,1fr));
    gap:16px;
    padding-top:25px;
    border-top:1px solid rgba(255,255,255,0.10);
    max-width:660px
}

.stat-item {
    text-align:left
}

.stat-number {
    font-size:34px;
    font-weight:800;
    color:#0787ef
}

.stat-plus {
    font-size:22px;
    font-weight:800;
    color:#0787ef
}

.stat-label {
    display:block;
    font-size:12px;
    color:#96a2bb;
    margin-top:3px;
    white-space:nowrap
}

.hero-image {
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:560px;
    position:relative
}

.hero-visual {
    width:min(540px,100%);
    height:570px;
    position:relative;
    isolation:isolate
}

.orb-main {
    position:absolute;
    width:430px;
    height:430px;
    top:65px;
    left:54px;
    border-radius:50%;
    background:radial-gradient( circle at 35% 30%,rgba(18,183,255,0.95),rgba(4,107,210,0.75) 48%,rgba(26,184,148,0.35) 100% );
    box-shadow:0 0 0 1px rgba(18,183,255,0.35),0 0 80px rgba(4,107,210,0.25);
    z-index:0
}

.hero-ring {
    position:absolute;
    border:1px solid rgba(18,183,255,0.20);
    border-radius:50%;
    pointer-events:none;
    z-index:-1
}

.ring-one {
    width:505px;
    height:505px;
    top:28px;
    left:17px
}

.ring-two {
    width:590px;
    height:590px;
    top:-15px;
    left:-25px;
    border-color:rgba(26,184,148,0.10)
}

.image-wrapper {
    position:absolute;
    width:430px;
    height:430px;
    left:54px;
    top:65px;
    border-radius:50%;
    overflow:hidden;
    background:#101735;
    border:2px solid rgba(255,255,255,0.18);
    box-shadow:0 30px 80px rgba(0,0,0,0.42),0 0 70px rgba(4,107,210,0.28),0 0 0 8px rgba(4,107,210,0.08);
    z-index:2;
    transform:translateZ(0);
    transition:transform 0.45s ease,box-shadow 0.45s ease
}

.image-wrapper img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center top;
    display:block
}

.image-shine {
    position:absolute;
    inset:0;
    background:linear-gradient( 120deg,rgba(255,255,255,0.16),transparent 28%,transparent 72%,rgba(18,183,255,0.08) );
    z-index:3;
    pointer-events:none
}

.image-wrapper:hover {
    transform:translateY(-8px);
    box-shadow:0 35px 90px rgba(0,0,0,0.48),0 0 90px rgba(4,107,210,0.30),0 0 0 8px rgba(4,107,210,0.10)
}

.floating-card {
    position:absolute;
    display:flex;
    align-items:center;
    gap:11px;
    padding:12px 16px 12px 12px;
    min-width:190px;
    border:1px solid rgba(255,255,255,0.15);
    border-radius:16px;
    background:rgba(17,27,55,0.68);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:0 15px 35px rgba(0,0,0,0.25),inset 0 1px 0 rgba(255,255,255,0.07);
    color:var(--white);
    z-index:5;
    animation:float-card 5s ease-in-out infinite
}

.floating-card strong,.floating-card span {
    display:block
}

.floating-card strong {
    font-size:14px;
    line-height:1.2;
    color:#ffffff
}

.floating-card span {
    font-size:10px;
    color:#9da9c1;
    margin-top:3px
}

.floating-icon {
    width:39px;
    height:39px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background:linear-gradient( 135deg,#0787ef,#12b794 );
    box-shadow:0 8px 20px rgba(4,107,210,0.25);
    flex-shrink:0
}

.card-top {
    top:45px;
    right:2px
}

.card-left {
    left:0;
    bottom:105px;
    animation-delay:-1.5s
}

.card-right {
    right:-10px;
    bottom:25px;
    animation-delay:-3s
}

.tech-dot {
    position:absolute;
    border-radius:50%;
    z-index:4
}

.dot-one {
    width:11px;
    height:11px;
    top:105px;
    left:40px;
    background:#12b7ff;
    box-shadow:0 0 18px #12b7ff
}

.dot-two {
    width:17px;
    height:17px;
    right:65px;
    top:210px;
    background:#1ab894;
    box-shadow:0 0 20px rgba(26,184,148,0.7)
}

.dot-three {
    width:8px;
    height:8px;
    left:60px;
    bottom:70px;
    background:#0787ef;
    box-shadow:0 0 15px #0787ef
}

@keyframes float-card {
    0%,100% {
        transform:translateY(0)
    }

    50% {
        transform:translateY(-8px)
    }

}

@keyframes bounce {
    0%,20%,50%,80%,100% {
        transform:translateY(0)
    }

    40% {
        transform:translateY(-10px)
    }

    60% {
        transform:translateY(-5px)
    }

}

.hero-scroll {
    position:absolute;
    bottom:25px;
    left:50%;
    transform:translateX(-50%);
    z-index:3
}

.hero-scroll a {
    color:rgba(255,255,255,0.7);
    font-size:18px;
    animation:bounce 2s infinite
}

.about-section {
    background:var(--white)
}

.about-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:start
}

.about-content h3 {
    font-size:28px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:20px
}

.about-content p {
    color:var(--text);
    margin-bottom:15px;
    line-height:1.8
}

.about-info {
    margin:25px 0;
    display:grid;
    gap:12px
}

.info-item {
    display:flex;
    gap:10px
}

.info-label {
    font-weight:600;
    color:var(--dark);
    min-width:100px
}

.info-value {
    color:var(--text)
}

.about-services h3 {
    font-size:28px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:25px
}

.service-card {
    display:flex;
    gap:20px;
    padding:20px;
    border-radius:12px;
    transition:var(--transition);
    margin-bottom:15px;
    border:1px solid var(--border)
}

.service-card:hover {
    background:var(--light-bg);
    transform:translateX(5px);
    box-shadow:var(--shadow);
    border-color:var(--primary)
}

.service-icon {
    width:50px;
    height:50px;
    border-radius:12px;
    background:var(--gradient);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--white);
    font-size:20px;
    flex-shrink:0
}

.service-info h4 {
    font-size:17px;
    font-weight:600;
    color:var(--dark);
    margin-bottom:5px
}

.service-info p {
    font-size:14px;
    color:var(--text-light);
    line-height:1.6
}

.skills-section {
    background:var(--light-bg)
}

.skills-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px
}

.skill-item {
    margin-bottom:25px
}

.skill-header {
    display:flex;
    justify-content:space-between;
    margin-bottom:10px
}

.skill-name {
    font-weight:600;
    font-size:15px;
    color:var(--dark)
}

.skill-percent {
    font-weight:700;
    font-size:15px;
    color:var(--primary)
}

.skill-bar {
    width:100%;
    height:10px;
    background:var(--border);
    border-radius:10px;
    overflow:hidden
}

.skill-progress {
    height:100%;
    background:var(--gradient);
    border-radius:10px;
    width:0;
    transition:width 1.5s ease-in-out
}

.experience-section {
    background:var(--white)
}

.timeline {
    position:relative;
    max-width:800px;
    margin:0 auto;
    padding-left:50px
}

.timeline::before {
    content:'';
    position:absolute;
    left:20px;
    top:0;
    bottom:0;
    width:3px;
    background:var(--gradient);
    border-radius:3px
}

.timeline-item {
    position:relative;
    margin-bottom:40px
}

.timeline-dot {
    position:absolute;
    left:-38px;
    top:25px;
    width:16px;
    height:16px;
    border-radius:50%;
    background:var(--primary);
    border:3px solid var(--white);
    box-shadow:0 0 0 4px var(--primary)
}

.timeline-content {
    background:var(--white);
    padding:30px;
    border-radius:16px;
    box-shadow:0 5px 30px rgba(0,0,0,0.08);
    border:1px solid var(--border);
    transition:var(--transition)
}

.timeline-content:hover {
    transform:translateY(-5px);
    box-shadow:var(--shadow);
    border-color:var(--primary)
}

.timeline-header {
    margin-bottom:15px
}

.timeline-header h3 {
    font-size:22px;
    font-weight:700;
    color:var(--dark)
}

.timeline-company {
    font-size:16px;
    color:var(--primary);
    font-weight:500
}

.timeline-badge {
    display:inline-block;
    padding:4px 14px;
    background:rgba(4,107,210,0.1);
    color:var(--primary);
    font-size:12px;
    font-weight:600;
    border-radius:20px;
    margin-bottom:15px
}

.timeline-badge.past {
    background:rgba(148,163,184,0.2);
    color:var(--text-light)
}

.timeline-details {
    list-style:none
}

.timeline-details li {
    padding:6px 0;
    padding-left:20px;
    position:relative;
    color:var(--text);
    font-size:15px
}

.timeline-details li::before {
    content:'';
    position:absolute;
    left:0;
    top:14px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--primary)
}

.education-section {
    background:var(--light-bg)
}

.education-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px
}

.edu-card {
    background:var(--white);
    padding:35px;
    border-radius:16px;
    text-align:center;
    border:1px solid var(--border);
    transition:var(--transition)
}

.edu-card:hover {
    transform:translateY(-8px);
    box-shadow:var(--shadow);
    border-color:var(--primary)
}

.edu-icon {
    width:70px;
    height:70px;
    border-radius:50%;
    background:var(--gradient);
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 20px;
    color:var(--white);
    font-size:28px
}

.edu-card h3 {
    font-size:20px;
    font-weight:700;
    color:var(--dark);
    margin-bottom:8px
}

.edu-card h4 {
    font-size:15px;
    font-weight:500;
    color:var(--primary);
    margin-bottom:10px
}

.edu-institution {
    font-size:14px;
    color:var(--text-light)
}

.partners-section {
    background:var(--white)
}

.partners-grid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:30px;
    align-items:center
}

.partner-logo {
    background:var(--white);
    padding:25px;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--border);
    transition:var(--transition);
    min-height:100px
}

.partner-logo:hover {
    transform:translateY(-5px);
    box-shadow:var(--shadow);
    border-color:var(--primary)
}

.partner-logo img {
    max-height:60px;
    max-width:120px;
    object-fit:contain;
    filter:grayscale(50%);
    transition:var(--transition)
}

.partner-logo:hover img {
    filter:grayscale(0)
}

.contact-section {
    background:var(--light-bg);
    position:relative;
    overflow:hidden
}

.contact-modern-grid {
    display:grid;
    grid-template-columns:1.05fr 0.95fr;
    gap:70px;
    align-items:center;
    margin-top:10px
}

.contact-modern-content {
    max-width:650px
}

.contact-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:#087fe8;
    font-size:11px;
    font-weight:700;
    letter-spacing:1.7px;
    margin-bottom:18px
}

.contact-eyebrow i {
    font-size:7px;
    color:#08b7ff;
    text-shadow:0 0 8px rgba(8,183,255,0.7)
}

.contact-modern-content h3 {
    margin:0 0 20px;
    color:var(--dark);
    font-size:clamp(32px,4vw,48px);
    line-height:1.15;
    font-weight:700;
    letter-spacing:-1px
}

.contact-modern-content h3 span {
    color:var(--primary)
}

.contact-modern-content p {
    max-width:620px;
    margin:0 0 15px;
    color:var(--text);
    font-size:15px;
    line-height:1.85
}

.contact-primary-btn {
    position:relative;
    display:flex;
    align-items:center;
    width:fit-content;
    min-width:360px;
    margin-top:28px;
    padding:13px 18px;
    color:#ffffff;
    text-decoration:none;
    background:linear-gradient(135deg,#0787ef,#046bd2);
    border:1px solid rgba(255,255,255,0.15);
    border-radius:14px;
    box-shadow:0 15px 35px rgba(7,135,239,0.20);
    transition:transform 0.3s ease,box-shadow 0.3s ease
}

.contact-primary-btn:hover {
    color:#ffffff;
    transform:translateY(-4px);
    box-shadow:0 20px 40px rgba(7,135,239,0.30)
}

.contact-btn-icon {
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-right:13px;
    border-radius:12px;
    background:rgba(255,255,255,0.14);
    font-size:21px
}

.contact-primary-btn strong {
    display:block;
    font-size:14px;
    font-weight:700
}

.contact-primary-btn small {
    display:block;
    margin-top:3px;
    color:rgba(255,255,255,0.72);
    font-size:11px
}

.contact-arrow {
    margin-left:auto;
    padding-left:18px;
    font-size:13px;
    transition:transform 0.3s ease
}

.contact-primary-btn:hover .contact-arrow {
    transform:translateX(5px)
}

.contact-modern-options {
    display:flex;
    flex-direction:column;
    gap:12px;
    width:100%;
    max-width:560px;
    margin-left:auto
}

.modern-contact-item {
    position:relative;
    display:flex;
    align-items:center;
    width:100%;
    min-height:78px;
    padding:14px 17px;
    text-decoration:none;
    background:#ffffff;
    border:1px solid var(--border);
    border-radius:14px;
    box-shadow:0 8px 25px rgba(14,27,99,0.045);
    transition:transform 0.3s ease,border-color 0.3s ease,box-shadow 0.3s ease
}

.modern-contact-item:hover {
    color:inherit;
    transform:translateX(-5px);
    border-color:#0a8cf0;
    box-shadow:0 15px 35px rgba(7,135,239,0.12)
}

.modern-contact-icon {
    flex-shrink:0;
    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-right:14px;
    border-radius:12px;
    color:#087fe8;
    background:#edf7ff;
    font-size:17px;
    transition:background 0.3s ease,color 0.3s ease
}

.modern-contact-item:hover .modern-contact-icon {
    color:#ffffff;
    background:#087fe8
}

.modern-contact-text {
    min-width:0
}

.modern-contact-text span {
    display:block;
    margin-bottom:3px;
    color:#7b879e;
    font-size:10px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:0.8px
}

.modern-contact-text strong {
    display:block;
    color:var(--dark);
    font-size:14px;
    font-weight:600;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}

.modern-contact-arrow {
    flex-shrink:0;
    margin-left:auto;
    color:#a3aec0;
    font-size:11px;
    transition:color 0.3s ease,transform 0.3s ease
}

.modern-contact-item:hover .modern-contact-arrow {
    color:#087fe8;
    transform:translate(2px,-2px)
}

.site-footer {
    position:relative;
    background:radial-gradient(circle at 10% 20%,rgba(4,107,210,0.12),transparent 30%),radial-gradient(circle at 90% 80%,rgba(18,183,255,0.08),transparent 28%),var(--dark);
    color:var(--white);
    overflow:hidden;
    padding:0
}

.site-footer::before {
    content:'';
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:linear-gradient(90deg,transparent,#0787ef,#12b7ff,#0787ef,transparent)
}

.site-footer .container {
    position:relative;
    z-index:2
}

.footer-main {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding:48px 0 38px
}

.footer-brand {
    max-width:620px
}

.footer-brand img {
    height:42px;
    width:auto;
    margin-bottom:14px
}

.footer-brand p {
    color:rgba(255,255,255,0.62);
    font-size:14px;
    line-height:1.75;
    margin:0
}

.footer-tagline {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:14px;
    color:#12b7ff;
    font-size:13px;
    font-weight:600
}

.footer-tagline i {
    font-size:9px
}

.footer-social {
    flex-shrink:0
}

.footer-social h4 {
    color:var(--white);
    font-size:16px;
    margin:0 0 13px
}

.social-icons {
    display:flex;
    gap:9px;
    flex-wrap:wrap
}

.social-icons a {
    width:40px;
    height:40px;
    border-radius:50%;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.10);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--white);
    font-size:15px;
    transition:var(--transition)
}

.social-icons a:hover {
    background:var(--primary);
    border-color:var(--primary);
    transform:translateY(-4px);
    color:var(--white);
    box-shadow:0 8px 20px rgba(4,107,210,0.28)
}

.footer-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:16px 0;
    border-top:1px solid rgba(255,255,255,0.10);
    color:rgba(255,255,255,0.45);
    font-size:13px
}

.footer-bottom p {
    margin:0
}

.footer-bottom strong {
    color:#12b7ff
}

.footer-bottom-right {
    display:flex;
    align-items:center;
    gap:7px;
    color:rgba(255,255,255,0.38)
}

.footer-bottom-right i {
    color:#12b7ff;
    font-size:10px
}

@media (max-width:768px) {
    .footer-main {
        flex-direction:column;
        align-items:flex-start;
        gap:28px;
        padding:42px 0 30px
    }

    .footer-social {
        width:100%
    }

}

@media (max-width:480px) {
    .footer-brand img {
        height:38px
    }

    .footer-bottom {
        flex-direction:column;
        justify-content:center;
        text-align:center;
        gap:7px;
        font-size:12px
    }

}

@media (max-width:768px) {
    html,body {
        width:100%;
        max-width:100%;
        overflow-x:hidden
    }

    .container,section,header,footer,main {
        max-width:100%
    }

    img {
        max-width:100%;
        height:auto
    }

}

.back-to-top {
    position:fixed;
    bottom:30px;
    right:30px;
    width:45px;
    height:45px;
    border-radius:50%;
    background:var(--gradient);
    color:var(--white);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    box-shadow:var(--shadow);
    opacity:0;
    visibility:hidden;
    transform:translateY(20px);
    transition:var(--transition);
    z-index:999
}

.back-to-top.visible {
    opacity:1;
    visibility:visible;
    transform:translateY(0)
}

.back-to-top:hover {
    transform:translateY(-5px);
    color:var(--white)
}

[data-aos] {
    opacity:0;
    transform:translateY(30px);
    transition:all 0.6s ease
}

[data-aos="fade-right"] {
    transform:translateX(-30px)
}

[data-aos="fade-left"] {
    transform:translateX(30px)
}

[data-aos].aos-animate {
    opacity:1;
    transform:translate(0)
}

@media (max-width:1024px) {
    .hero-grid {
        grid-template-columns:1fr 0.9fr;
        gap:25px
    }

    .hero-title {
        font-size:46px
    }

    .hero-visual {
        transform:scale(0.88);
        transform-origin:center;
        margin:-30px
    }

    .partners-grid {
        grid-template-columns:repeat(4,1fr)
    }

}

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

    .section-title {
        font-size:32px
    }

    .main-nav {
        position:fixed;
        top:0;
        right:-100%;
        width:280px;
        height:100vh;
        background:var(--dark);
        padding:80px 30px 30px;
        transition:var(--transition);
        box-shadow:-5px 0 20px rgba(0,0,0,0.3)
    }

    .main-nav.active {
        right:0
    }

    .main-nav ul {
        flex-direction:column;
        gap:20px
    }

    .main-nav a {
        font-size:18px
    }

    .header-social {
        display:none
    }

    .mobile-toggle {
        display:flex;
        z-index:1001
    }

    .mobile-toggle.active span:nth-child(1) {
        transform:rotate(45deg) translate(5px,5px)
    }

    .mobile-toggle.active span:nth-child(2) {
        opacity:0
    }

    .mobile-toggle.active span:nth-child(3) {
        transform:rotate(-45deg) translate(7px,-6px)
    }

    .hero-grid {
        grid-template-columns:1fr;
        text-align:center
    }

    .hero-content {
        order:2
    }

    .hero-image {
        order:1;
        min-height:500px
    }

    .hero-title {
        font-size:40px
    }

    .hero-role {
        font-size:23px
    }

    .hero-description {
        margin-left:auto;
        margin-right:auto
    }

    .hero-buttons {
        justify-content:center
    }

    .hero-stats {
        grid-template-columns:repeat(2,1fr);
        gap:18px 12px;
        max-width:600px;
        margin:0 auto
    }

    .stat-item {
        text-align:center
    }

    .hero-visual {
        transform:scale(0.82);
        transform-origin:center;
        margin:-60px 0
    }

    .about-grid,.skills-grid {
        grid-template-columns:1fr;
        gap:40px
    }

    .contact-modern-grid {
        grid-template-columns:1fr;
        gap:45px
    }

    .contact-modern-content {
        max-width:750px
    }

    .contact-modern-options {
        max-width:750px;
        margin-left:0
    }

    .education-grid {
        grid-template-columns:1fr
    }

    .partners-grid {
        grid-template-columns:repeat(3,1fr);
        gap:15px
    }

    .footer-grid {
        grid-template-columns:1fr;
        gap:30px
    }

    .timeline {
        padding-left:40px
    }

    .timeline::before {
        left:15px
    }

    .timeline-dot {
        left:-33px
    }

}

@media (max-width:480px) {
    .hero-section {
        padding-top:95px
    }

    .hero-title {
        font-size:31px
    }

    .hero-subtitle {
        font-size:11px;
        letter-spacing:2px
    }

    .hero-role {
        font-size:20px
    }

    .hero-description {
        font-size:14px
    }

    .hero-image {
        min-height:410px
    }

    .hero-visual {
        transform:scale(0.62);
        margin:-105px 0
    }

    .hero-buttons {
        flex-wrap:wrap
    }

    .hero-stats {
        grid-template-columns:repeat(2,1fr)
    }

    .stat-number {
        font-size:28px
    }

    .btn {
        padding:12px 25px;
        font-size:14px
    }

    .partners-grid {
        grid-template-columns:repeat(2,1fr)
    }

    .timeline-content {
        padding:20px
    }

}

html,body {
    cursor:none
}

.custom-cursor,.custom-cursor-ring {
    position:fixed;
    left:0;
    top:0;
    pointer-events:none;
    user-select:none;
    transform:translate(-50%,-50%);
    will-change:left,top,width,height
}

.custom-cursor {
    width:10px;
    height:10px;
    border-radius:50%;
    background:#12B7FF;
    z-index:100000;
    opacity:0;
    box-shadow:0 0 8px rgba(18,183,255,0.95),0 0 22px rgba(18,183,255,0.55),0 0 38px rgba(4,107,210,0.30);
    transition:width .22s ease,height .22s ease,background .22s ease,box-shadow .22s ease,opacity .15s ease
}

.custom-cursor-ring {
    width:42px;
    height:42px;
    border:1.5px solid rgba(18,183,255,0.72);
    border-radius:50%;
    z-index:99999;
    opacity:0;
    box-shadow:0 0 18px rgba(4,107,210,0.12);
    transition:width .30s cubic-bezier(.2,.8,.2,1),height .30s cubic-bezier(.2,.8,.2,1),border-color .25s ease,background .25s ease,box-shadow .25s ease,opacity .15s ease
}

.custom-cursor.hover {
    width:17px;
    height:17px;
    background:#12B7FF;
    box-shadow:0 0 10px rgba(26,184,148,0.95),0 0 28px rgba(18,183,255,0.50),0 0 42px rgba(26,184,148,0.25)
}

.custom-cursor-ring.hover {
    width:62px;
    height:62px;
    border-color:#12B7FF;
    background:rgba(26,184,148,0.055);
    box-shadow:0 0 0 1px rgba(26,184,148,0.08),0 0 25px rgba(26,184,148,0.16),0 0 45px rgba(18,183,255,0.10)
}

@media (max-width:768px),(pointer:coarse) {
    html,body {
        cursor:auto
    }

    .custom-cursor,.custom-cursor-ring {
        display:none !important
    }

}

.partners-slider {
    width:100%;
    overflow:hidden;
    position:relative;
    padding:10px 0 25px;
    margin-top:50px
}

.partners-track {
    display:flex;
    align-items:center;
    gap:30px;
    width:max-content;
    animation:partnersScroll 35s linear infinite;
    will-change:transform
}

.partners-slider:hover .partners-track {
    animation-play-state:paused
}

.partner-card {
    width:208px;
    height:112px;
    flex:0 0 208px;
    background:#ffffff;
    border:1px solid #dce5ef;
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    box-sizing:border-box;
    transition:transform 0.3s ease,box-shadow 0.3s ease,border-color 0.3s ease
}

.partner-card img {
    max-width:85%;
    max-height:70px;
    width:auto;
    height:auto;
    object-fit:contain;
    display:block;
    transition:transform 0.3s ease
}

.partner-card:hover {
    transform:translateY(-5px);
    border-color:#046bd2;
    box-shadow:0 10px 25px rgba(4,107,210,0.12)
}

.partner-card:hover img {
    transform:scale(1.06)
}

@keyframes partnersScroll {
    from {
        transform:translateX(0)
    }

    to {
        transform:translateX(calc(-50% - 15px))
    }

}

@media (max-width:768px) {
    .partners-track {
        gap:18px;
        animation-duration:28s
    }

    .partner-card {
        width:170px;
        height:100px;
        flex-basis:170px
    }

    .partner-card img {
        max-width:82%;
        max-height:60px
    }

}

@media (max-width:480px) {
    .partners-track {
        gap:15px;
        animation-duration:24s
    }

    .partner-card {
        width:150px;
        height:90px;
        flex-basis:150px;
        border-radius:10px;
        padding:15px
    }

    .partner-card img {
        max-height:52px
    }

}

.section-description {
    max-width:700px;
    margin:8px auto 0;
    text-align:center;
    font-size:15px;
    line-height:1.6;
    color:#6b7280
}

.title-line {
    margin-top:12px
}

.partners-slider {
    margin-top:28px
}

.site-footer {
    background:#1d2148;
    color:#ffffff;
    padding:48px 0 0;
    position:relative;
    overflow:hidden
}

.site-footer::before {
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:#0ea5e9
}

.footer-container {
    width:min(1180px,calc(100% - 60px));
    margin:0 auto;
    display:grid;
    grid-template-columns:1.4fr 1fr 0.75fr;
    gap:80px;
    align-items:start;
    padding-bottom:38px
}

.footer-about h2 {
    margin:0 0 18px;
    font-size:30px;
    font-weight:600;
    color:#ffffff;
    letter-spacing:-0.5px
}

.footer-about p {
    max-width:520px;
    margin:0;
    font-size:14px;
    line-height:1.9;
    color:#aeb5d3
}

.footer-tagline {
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:20px;
    color:#0ea5e9;
    font-size:13px;
    font-weight:600
}

.footer-tagline span {
    width:10px;
    height:10px;
    background:#0ea5e9;
    border-radius:50%;
    box-shadow:0 0 12px rgba(14,165,233,0.6)
}

.footer-expertise h3,.footer-social h3 {
    position:relative;
    margin:2px 0 22px;
    font-size:16px;
    font-weight:600;
    color:#ffffff
}

.footer-expertise h3::after,.footer-social h3::after {
    content:"";
    display:block;
    width:28px;
    height:2px;
    margin-top:10px;
    background:#0ea5e9;
    border-radius:10px
}

.expertise-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:28px;
    row-gap:14px
}

.expertise-item {
    display:flex;
    align-items:center;
    gap:10px;
    color:#aeb5d3;
    font-size:13px;
    transition:0.3s ease
}

.expertise-item i {
    width:16px;
    color:#0ea5e9;
    font-size:13px;
    text-align:center
}

.expertise-item:hover {
    color:#ffffff;
    transform:translateX(3px)
}

.footer-social {
    justify-self:end
}

.social-links {
    display:flex;
    align-items:center;
    gap:10px
}

.social-links a {
    width:38px;
    height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,0.07);
    border:1px solid rgba(255,255,255,0.12);
    color:#ffffff;
    text-decoration:none;
    transition:all 0.3s ease
}

.social-links a i {
    font-size:14px
}

.social-links a:hover {
    background:#0ea5e9;
    border-color:#0ea5e9;
    transform:translateY(-4px);
    box-shadow:0 8px 20px rgba(14,165,233,0.25)
}

.footer-bottom {
    width:min(1180px,calc(100% - 60px));
    margin:0 auto;
    padding:18px 0;
    border-top:1px solid rgba(255,255,255,0.10);
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#8991b5;
    font-size:12px
}

.footer-bottom p {
    margin:0
}

.footer-bottom strong {
    color:#0ea5e9;
    font-weight:600
}

.footer-role {
    display:flex;
    align-items:center;
    gap:8px
}

.footer-role span {
    width:9px;
    height:9px;
    background:#0ea5e9;
    border-radius:50%;
    box-shadow:0 0 10px rgba(14,165,233,0.5)
}

@media (max-width:900px) {
    .footer-container {
        grid-template-columns:1fr 1fr;
        gap:40px
    }

    .footer-about {
        grid-column:1 / -1
    }

    .footer-social {
        justify-self:start
    }

}

@media (max-width:600px) {
    .site-footer {
        padding-top:40px
    }

    .footer-container {
        width:min(100% - 40px,500px);
        grid-template-columns:1fr;
        gap:35px;
        padding-bottom:30px
    }

    .footer-about {
        grid-column:auto
    }

    .footer-social {
        justify-self:start
    }

    .expertise-list {
        grid-template-columns:1fr;
        row-gap:12px
    }

    .footer-bottom {
        width:min(100% - 40px,500px);
        flex-direction:column;
        align-items:flex-start;
        gap:10px
    }

}

.footer-school {
    margin-top:26px;
    display:flex;
    align-items:center;
    gap:10px
}

.school-dot {
    width:8px;
    height:8px;
    background:#08b7ff;
    border-radius:50%;
    flex-shrink:0;
    box-shadow:0 0 12px rgba(8,183,255,0.6)
}

.footer-school a {
    display:block;
    color:#08b7ff;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    transition:0.3s ease
}

.footer-school a:hover {
    color:#ffffff
}

.footer-school small {
    display:block;
    margin-top:4px;
    color:#8f9ac5;
    font-size:11px
}

html,body {
    width:100%;
    max-width:100%;
    overflow-x:hidden
}

*,*::before,*::after {
    box-sizing:border-box
}

body {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}