:root {
    --white: #ffffff;
    --black: #000000;
    --bg-dark: #0a0a0a;
    --bg-light: #fafafa;
    --blue-500: #3b82f6;
    --indigo-300: #a5b4fc;
    --blue-300: #93c5fd;
    --violet-200: #ddd6fe;
    --blue-400: #60a5fa;
    --purple: #a855f7;
    --purple-light: #c084fc;
    --bg-glass: rgba(255, 255, 255, 0.9);
    --border-glass: rgba(0, 0, 0, 0.1);
    --text-bright: #0f172a;
    --text-muted: #64748b;
    --text-body: #334155;
    --bg-surface: #ffffff;
    --radius-pill: 9999px;
    --radius-card: 16px;
    --nav-transition: 300ms ease;
    --ease-out-expo: cubic-bezier(0.23, 1, 0.32, 1)
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

html {
    scroll-behavior: smooth;
    background-color: var(--ph-bg-base, #f8fafc);
    height: 100%
}

html.light,
body.light {
    background-color: var(--ph-bg-base, #f8fafc)
}

body {
    font-family: var(--ph-font-sans, "Lexend Deca", sans-serif);
    background-color: var(--ph-bg-base, #f8fafc);
    color: var(--ph-text-primary, #0f172a);
    min-height: 100vh;
    min-height: 100dvh;
    position: relative;
    margin: 0;
    display: flex;
    flex-direction: column
}

@media (min-width:1400px) {
    .container {
        max-width: 1440px
    }
}

.main-body {
    position: relative;
    z-index: 3;
    width: 100%;
    min-height: 100vh;
    min-height: 100svh;
    overflow-x: hidden
}

::selection {
    background-color: var(--purple);
    color: #ffffff
}

.project-card--clickable {
    cursor: pointer
}

.project-card-link-wrapper {
    display: block;
    text-decoration: none;
    color: inherit
}

.hidden {
    display: none !important
}

.logo {
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    position: relative
}

.logo-combined {
    height: 110px;
    width: auto;
    object-fit: contain;
    margin-top: -15px;
    margin-bottom: -15px
}

.logo-combined--dark {
    display: none !important
}

.logo-combined--light {
    display: block !important;
    height: 130px;
    width: auto;
    image-rendering: crisp-edges;
    margin-top: -25px;
    margin-bottom: -25px
}

body.light .logo-combined--dark {
    display: none !important
}

body.light .logo-combined--light {
    display: block !important;
    height: 130px;
    width: auto;
    image-rendering: crisp-edges;
    margin-top: -25px;
    margin-bottom: -25px
}

@media (min-width:577px) and (max-width:992px) {
    .logo-combined {
        height: 90px;
        width: auto
    }

    body.light .logo-combined--light {
        height: 105px
    }
}

@media (max-width:576px) {
    .logo-combined {
        height: 70px;
        width: auto
    }

    body.light .logo-combined--light {
        height: 85px
    }
}

@media (max-width:576px) {
    .logo-combined {
        height: 52px;
        width: auto
    }

    body.light .logo-combined--light {
        height: 68px
    }
}

.logo-main {
    width: 124px;
    height: auto;
    object-fit: contain;
    position: absolute;
    left: -20px;
    top: -29px;
    z-index: 100;
    pointer-events: none
}

.logo-text {
    width: 160px;
    height: auto;
    object-fit: contain;
    margin-left: 90px
}

@media (min-width:577px) and (max-width:992px) {
    .logo-main {
        width: 110px;
        left: -15px;
        top: -25px
    }

    .logo-text {
        width: 140px;
        margin-left: 70px
    }
}

@media (max-width:576px) {
    .logo-main {
        width: 80px;
        left: -10px;
        top: -15px
    }

    .logo-text {
        width: 110px;
        margin-left: 55px
    }
}

.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 14px 24px;
    border-bottom: none;
    background: transparent;
    pointer-events: none;
    transition: padding 0.3s ease
}

.navbar.is-open {
    border-radius: var(--radius-card);
    transition: border-radius 0ms ease 0ms
}

.navbar__inner {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 16px
}

@media (max-width:991.98px) {
    .navbar__inner {
        display: flex;
        justify-content: space-between
    }
}

.logo {
    justify-self: start
}

.navbar__links {
    justify-self: center
}

.navbar__actions {
    justify-self: end
}

.navbar__logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    flex-shrink: 0
}

.navbar__logo-img {
    width: 100px;
    height: 82px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    transition: transform 300ms, filter 300ms
}

.navbar__logo:hover .navbar__logo-img {
    transform: scale(1.08);
    filter: brightness(1.1)
}

.footer-logo__img {
    width: 28px;
    height: 28px;
    border-radius: 6px;
    object-fit: cover;
    flex-shrink: 0
}

.navbar__brand {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-bright);
    letter-spacing: -0.01em
}

.navbar__links {
    display: none;
    align-items: center;
    gap: 4px;
    position: relative
}

@media (min-width:992px) {
    .navbar__links {
        display: flex
    }
}

.pill-slider {
    display: none
}

.nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 18px;
    border-radius: var(--radius-pill);
    text-decoration: none;
    font-size: 0.875rem;
    color: #64748b;
    background: transparent;
    transition: color 250ms ease;
    z-index: 1;
    white-space: nowrap
}

@media (max-width:998px) {
    .nav-link {
        padding: 8px
    }
}

.nav-link:hover {
    color: #0f172a
}

.nav-link.active {
    color: #0242cd;
    font-weight: 600
}

.nav-link.active::after {
    content: "";
    position: absolute;
    bottom: 3px;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    height: 2px;
    background: linear-gradient(90deg, #0242cd, #096dfc);
    border-radius: 2px
}

.navbar__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0
}

.theme-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--border-glass);
    border-radius: 8px;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    transition: background 200ms, color 200ms, border-color 200ms
}

.theme-toggle:hover {
    background: rgba(255, 255, 255, 0.08);
    color: var(--text-bright);
    border-color: rgba(255, 255, 255, 0.2)
}

.cta-wrap {
    position: relative;
    display: none
}

@media (min-width:768px) {
    .cta-wrap {
        display: block
    }
}

.cta-glow {
    position: absolute;
    inset: -8px;
    border-radius: var(--radius-pill);
    background: #e5e7eb;
    opacity: 0.3;
    filter: blur(14px);
    pointer-events: none;
    transition: opacity 300ms, filter 300ms
}

.cta-wrap:hover .cta-glow {
    opacity: 0.55;
    filter: blur(22px)
}

.hamburger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.05);
    color: #6b7280;
    cursor: pointer;
    transition: background 200ms, color 200ms
}

.hamburger:hover {
    background: rgba(0, 0, 0, 0.1);
    color: #0f172a
}

@media (min-width:992px) {
    .hamburger {
        display: none
    }
}

.hamburger svg {
    width: 20px;
    height: 20px
}

.navbar__mobile {
    overflow: hidden;
    width: 100%;
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    background: var(--ph-bg-base, #ffffff);
    padding-inline: 16px;
    transition: max-height var(--nav-transition), opacity var(--nav-transition), padding var(--nav-transition)
}

body.light .navbar__mobile {
    background: #ffffff !important
}

.navbar__mobile.is-open {
    max-height: 85vh;
    overflow-y: auto;
    scrollbar-width: none;
    opacity: 1;
    pointer-events: auto;
    padding-top: 16px;
    padding-bottom: 24px;
    width: 100%
}

.navbar.is-open {
    z-index: 999999
}

.mobile-links {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px
}

.mobile-link {
    font-size: 1rem;
    color: var(--text-muted);
    text-decoration: none;
    transition: color 200ms;
    width: 100%;
    text-align: center
}

.mobile-link:hover {
    color: var(--text-bright)
}

.mob-nav {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0.25rem 0
}

.mob-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.07)
}

body.light .mob-item {
    border-bottom-color: rgba(0, 0, 0, 0.07)
}

.mob-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    padding: 0.9rem 0.25rem;
    font-family: "Lexend Deca", sans-serif;
    font-size: 0.97rem;
    font-weight: 500;
    color: #374151;
    text-decoration: none;
    cursor: pointer;
    text-align: left;
    transition: color 0.2s
}

.mob-btn:hover {
    color: #0f172a
}

body.light .mob-btn {
    color: #374151
}

body.light .mob-btn:hover {
    color: #0f172a
}

.mob-chevron {
    flex-shrink: 0;
    opacity: 0.45;
    transition: transform 0.25s ease
}

.mob-item.is-open .mob-chevron {
    transform: rotate(180deg)
}

.mob-sub {
    list-style: none;
    margin: 0;
    padding: 0 0 0.6rem 1rem;
    display: none;
    flex-direction: column;
    gap: 0.15rem
}

.mob-item.is-open .mob-sub {
    display: flex
}

.mob-sub-link {
    display: block;
    font-size: 0.88rem;
    color: #6b7280;
    text-decoration: none;
    padding: 0.45rem 0.5rem;
    border-radius: 6px;
    transition: color 0.18s, background 0.18s
}

.mob-sub-link:hover {
    color: #0f172a;
    background: rgba(0, 0, 0, 0.04)
}

body.light .mob-sub-link {
    color: #6b7280
}

body.light .mob-sub-link:hover {
    color: #0f172a;
    background: rgba(0, 0, 0, 0.04)
}

.mob-sub-title {
    font-size: 0.72rem;
    font-weight: 700;
    color: #f28c28;
    padding: 0.6rem 0.5rem 0.15rem 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.05em
}

body.light .mob-sub-title {
    color: #d97706
}

.mobile-accordion {
    width: 100%
}

.mobile-accordion summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center
}

.mobile-accordion summary::-webkit-details-marker {
    display: none
}

.mobile-accordion summary::after {
    content: "▼";
    font-size: 0.7em;
    margin-left: 8px;
    transition: transform 0.2s
}

.mobile-accordion[open] summary::after {
    transform: rotate(180deg)
}

.mobile-accordion-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 10px 0 15px 0;
    text-align: center;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 8px;
    margin-top: 5px
}

body.light .mobile-accordion-content {
    background: rgba(0, 0, 0, 0.03)
}

.mobile-accordion-group h4 {
    font-size: 0.85rem;
    color: var(--blue-500);
    margin: 10px 0 5px 0;
    letter-spacing: 1px
}

.mobile-sublink {
    display: block;
    font-size: 0.95rem;
    color: var(--text-muted);
    text-decoration: none;
    padding: 4px 0
}

.mobile-sublink:hover {
    color: var(--text-bright)
}

.aurora-section {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    min-height: 100svh;
    background-color: var(--bg-light);
    color: var(--text-bright);
    overflow: hidden;
    transition: background-color 0.3s ease
}

body.light .aurora-section {
    background-color: var(--bg-light);
    color: #0f172a
}

.aurora-radial-mask {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    -webkit-mask-image: radial-gradient(ellipse at 100% 0%, black 10%, transparent 70%);
    mask-image: radial-gradient(ellipse at 100% 0%, black 10%, transparent 70%)
}

.aurora-bg {
    position: absolute;
    top: -10px;
    left: -10px;
    width: 400%;
    height: calc(100%+20px);
    pointer-events: none;
    opacity: 0.5;
    will-change: transform;
    filter: blur(10px) invert(0);
    background-image: repeating-linear-gradient(100deg, var(--black) 0%, var(--black) 7%, transparent 10%, transparent 12%, var(--black) 16%), repeating-linear-gradient(100deg, var(--blue-500) 10%, var(--indigo-300) 15%, var(--blue-300) 20%, var(--violet-200) 25%, var(--blue-400) 30%);
    background-size: 25% 100%, 12.5% 100%;
    animation: auroraAnim 60s linear infinite
}

body.light .aurora-bg {
    filter: blur(10px) invert(0);
    opacity: 0.2;
    background-image: repeating-linear-gradient(100deg, var(--white) 0%, var(--white) 7%, transparent 10%, transparent 12%, var(--white) 16%), repeating-linear-gradient(100deg, #3b82f6 10%, #6366f1 15%, #8b5cf6 20%, #a855f7 25%, #60a5fa 30%)
}

.aurora-bg::after {
    display: none
}

@keyframes auroraAnim {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateX(-75%)
    }
}

.bg-soft-yellow::before,
.bg-purple-left::before,
.bg-purple-yellow::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none
}

.bg-soft-yellow::before {
    background: radial-gradient(circle at 50% 40%, rgba(168, 85, 247, 0.22) 0%, transparent 60%), radial-gradient(circle at 50% 50%, rgba(255, 249, 145, 0.04) 0%, transparent 70%)
}

.bg-purple-left::before {
    background: radial-gradient(ellipse 80% 60% at 90% 10%, rgba(139, 92, 246, 0.28) 0%, transparent 60%), radial-gradient(ellipse 60% 50% at 100% 0%, rgba(168, 85, 247, 0.15) 0%, transparent 50%), radial-gradient(ellipse 80% 60% at 10% 90%, rgba(139, 92, 246, 0.28) 0%, transparent 60%), radial-gradient(ellipse 60% 50% at 0% 100%, rgba(168, 85, 247, 0.15) 0%, transparent 50%)
}

.bg-purple-yellow::before {
    background: radial-gradient(ellipse 80% 70% at 85% 5%, rgba(139, 92, 246, 0.25) 0%, transparent 55%), radial-gradient(circle at 50% 50%, rgba(168, 85, 247, 0.05) 0%, transparent 50%), radial-gradient(ellipse 80% 70% at 15% 95%, rgba(139, 92, 246, 0.25) 0%, transparent 55%)
}

body.light .bg-soft-yellow::before {
    background: radial-gradient(circle at 50% 35%, rgba(99, 102, 241, 0.08) 0%, transparent 55%), radial-gradient(circle at 80% 10%, rgba(168, 85, 247, 0.06) 0%, transparent 50%)
}

body.light .bg-purple-left::before {
    background: radial-gradient(ellipse 70% 50% at 95% 5%, rgba(99, 102, 241, 0.07) 0%, transparent 50%), radial-gradient(ellipse 50% 40% at 100% 0%, rgba(139, 92, 246, 0.05) 0%, transparent 45%), radial-gradient(ellipse 70% 50% at 5% 95%, rgba(99, 102, 241, 0.07) 0%, transparent 50%), radial-gradient(ellipse 50% 40% at 0% 100%, rgba(139, 92, 246, 0.05) 0%, transparent 45%)
}

body.light .bg-purple-yellow::before {
    background: radial-gradient(ellipse 70% 60% at 90% 5%, rgba(99, 102, 241, 0.08) 0%, transparent 50%), radial-gradient(circle at 30% 60%, rgba(168, 85, 247, 0.04) 0%, transparent 55%), radial-gradient(ellipse 70% 60% at 10% 95%, rgba(99, 102, 241, 0.08) 0%, transparent 50%)
}

body.light {
    --text-bright: #0f172a;
    --text-muted: #64748b;
    --text-body: #374151;
    --bg-surface: #ffffff;
    --bg-glass: rgba(255, 255, 255, 0.85);
    --border-glass: rgba(0, 0, 0, 0.08);
    background: var(--bg-light);
    color: #0f172a
}

body.light .navbar {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(0, 0, 0, 0.08)
}

body.light .navbar__brand {
    color: #0f172a
}

body.light .nav-link {
    color: #64748b
}

body.light .nav-link:hover {
    color: #0f172a
}

body.light .nav-link.active {
    color: #0242cd
}

body.light .theme-toggle {
    border-color: rgba(0, 0, 0, 0.1);
    color: #6b7280
}

body.light .theme-toggle:hover {
    background: rgba(0, 0, 0, 0.05);
    color: #0f172a;
    border-color: rgba(0, 0, 0, 0.2)
}

body.light .hamburger {
    background: rgba(0, 0, 0, 0.05);
    color: #6b7280
}

body.light .hamburger:hover {
    background: rgba(0, 0, 0, 0.1);
    color: #0f172a
}

body.light .mobile-link {
    color: #6b7280
}

body.light .mobile-link:hover {
    color: #0f172a
}

body.light .cta-glow {
    background: #0242cd;
    opacity: 0.18
}

.spline-loader {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-dark);
    z-index: 10;
    border-radius: var(--radius-card);
    transition: opacity 0.6s cubic-bezier(0.23, 1, 0.32, 1), visibility 0.6s cubic-bezier(0.23, 1, 0.32, 1)
}

.spline-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

body.light .spline-loader {
    background: rgba(227, 227, 227, 1)
}

.loader-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem
}

.loader-letters {
    display: flex;
    gap: 0.08em
}

.loader-letter {
    display: inline-block;
    font-family: "Lexend Deca", sans-serif;
    font-size: 2.15rem;
    font-weight: 500;
    color: #6282c4;
    animation: loader-letter-anim 2.2s ease-in-out infinite;
    letter-spacing: 0.01em
}

.loader-letter:nth-child(1) {
    animation-delay: 0s
}

.loader-letter:nth-child(2) {
    animation-delay: 0.1s
}

.loader-letter:nth-child(3) {
    animation-delay: 0.2s
}

.loader-letter:nth-child(4) {
    animation-delay: 0.3s
}

.loader-letter:nth-child(5) {
    animation-delay: 0.4s
}

.loader-letter:nth-child(6) {
    animation-delay: 0.5s
}

.loader-letter:nth-child(7) {
    animation-delay: 0.6s
}

.loader-letter:nth-child(8) {
    animation-delay: 0.7s
}

.loader-letter:nth-child(9) {
    animation-delay: 0.8s
}

.loader-letter:nth-child(10) {
    animation-delay: 0.9s
}

body.light .loader-letter {
    color: #9ca3af
}

.loader-cube {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    animation: loader-rotate 4s linear infinite;
    box-shadow: 0 10px 20px 0 rgba(255, 255, 255, 0.15) inset, 0 20px 30px 0 rgba(173, 95, 255, 0.4) inset, 0 60px 60px 0 rgba(71, 30, 236, 0.5) inset;
    transform: rotate(90deg)
}

body.light .loader-cube {
    box-shadow: 0 10px 20px 0 rgba(255, 255, 255, 0.6) inset, 0 20px 30px 0 rgba(173, 95, 255, 0.35) inset, 0 60px 60px 0 rgba(71, 30, 236, 0.4) inset
}

@keyframes loader-rotate {
    0% {
        transform: rotate(90deg);
        box-shadow: 0 10px 20px 0 rgba(255, 255, 255, 0.15) inset, 0 20px 30px 0 rgba(173, 95, 255, 0.4) inset, 0 60px 60px 0 rgba(71, 30, 236, 0.5) inset
    }

    50% {
        transform: rotate(270deg);
        box-shadow: 0 10px 20px 0 rgba(255, 255, 255, 0.15) inset, 0 20px 10px 0 rgba(214, 10, 71, 0.4) inset, 0 40px 60px 0 rgba(49, 30, 128, 0.5) inset
    }

    100% {
        transform: rotate(450deg);
        box-shadow: 0 10px 20px 0 rgba(255, 255, 255, 0.15) inset, 0 20px 30px 0 rgba(173, 95, 255, 0.4) inset, 0 60px 60px 0 rgba(71, 30, 236, 0.5) inset
    }
}

@keyframes loader-letter-anim {

    0%,
    100% {
        opacity: 0.35;
        transform: translateY(0)
    }

    20% {
        opacity: 1;
        transform: scale(1.15) translateY(-1px)
    }

    40% {
        opacity: 0.6;
        transform: translateY(0)
    }
}

@media (max-width:991.98px) {
    .loader-cube {
        width: 52px;
        height: 52px;
        border-radius: 14px
    }

    .loader-letter {
        font-size: 1rem
    }

    .loader-wrapper {
        gap: 2rem
    }
}

.hero-section {
    padding-block: 250px 120px;
    min-height: 700px
}

@media (max-width:998px) {
    .hero-section {
        padding-block: 120px 80px;
        padding-inline: 40px
    }
}

@media (max-width:575px) {
    .hero-section {
        padding-block: 110px 60px;
        padding-inline: 16px
    }
}

.hero-text {
    animation: fadeUp 0.8s ease 0.2s both;
    padding-inline: 0 50px
}

@media (max-width:991px) {
    .hero-text {
        padding-inline: 0
    }
}

@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(40px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--border-glass);
    background: rgba(255, 255, 255, 0.04);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-muted);
    margin-bottom: 1.5rem;
    backdrop-filter: blur(6px)
}

.hero-tag__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 8px #22c55e80;
    animation: heroDotPulse 2.2s ease-in-out infinite
}

@keyframes heroDotPulse {

    0%,
    100% {
        box-shadow: 0 0 6px #22c55e80;
        transform: scale(1)
    }

    50% {
        box-shadow: 0 0 14px #22c55e, 0 0 28px #22c55e55;
        transform: scale(1.25)
    }
}

@keyframes pulse-dot {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: 0.4
    }
}

body.light .hero-tag {
    border-color: rgba(0, 0, 0, 0.1);
    background: rgba(0, 0, 0, 0.03);
    color: #374151
}

.float-cards-scene {
    position: relative;
    width: 100%;
    height: 460px
}

.fcs-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(72px);
    pointer-events: none;
    z-index: 0
}

.fcs-blob--purple {
    width: 300px;
    height: 300px;
    background: rgba(99, 102, 241, 0.22);
    top: 50%;
    left: 50%;
    transform: translate(-55%, -55%)
}

.fcs-blob--blue {
    width: 220px;
    height: 220px;
    background: rgba(59, 130, 246, 0.18);
    bottom: 15%;
    right: 10%
}

.fcs-rings {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0
}

.fcs-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(99, 102, 241, 0.22);
    transform: translate(-50%, -50%)
}

.fcs-ring--1 {
    width: 130px;
    height: 130px
}

.fcs-ring--2 {
    width: 210px;
    height: 210px;
    opacity: 0.55
}

.fcs-ring--3 {
    width: 300px;
    height: 300px;
    opacity: 0.28
}

.fcard {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    width: 196px;
    background: rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    z-index: 2
}

.fcard__icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.fcard__icon--purple {
    background: rgba(99, 102, 241, 0.18);
    color: #818cf8
}

.fcard__icon--blue {
    background: rgba(59, 130, 246, 0.18);
    color: #60a5fa
}

.fcard__icon--teal {
    background: rgba(16, 185, 129, 0.18);
    color: #34d399
}

.fcard__icon--amber {
    background: rgba(245, 158, 11, 0.18);
    color: #fbbf24
}

.fcard__body {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    text-align: left
}

.fcard__label {
    font-size: 0.68rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.5);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px
}

.fcard__stat {
    font-size: 0.88rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.92);
    margin: 0
}

.fcard__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0
}

.fcard__dot--green {
    background: #22c55e;
    box-shadow: 0 0 8px #22c55e90
}

.fcard__dot--blue {
    background: #60a5fa;
    box-shadow: 0 0 8px #60a5fa90
}

.fcard__dot--teal {
    background: #34d399;
    box-shadow: 0 0 8px #34d39990
}

.fcard__dot--amber {
    background: #fbbf24;
    box-shadow: 0 0 8px #fbbf2490
}

.fcard--1 {
    top: 40px;
    left: 10px
}

.fcard--2 {
    top: 130px;
    right: 0
}

.fcard--3 {
    bottom: 120px;
    left: 0
}

.fcard--4 {
    bottom: 38px;
    right: 10px
}

@keyframes fcardFloat {

    0%,
    100% {
        transform: translateY(0px)
    }

    50% {
        transform: translateY(-14px)
    }
}

.fcard--1 {
    animation: fcardFloat 5s ease-in-out infinite 0s
}

.fcard--2 {
    animation: fcardFloat 5s ease-in-out infinite 0.9s
}

.fcard--3 {
    animation: fcardFloat 5s ease-in-out infinite 1.8s
}

.fcard--4 {
    animation: fcardFloat 5s ease-in-out infinite 2.7s
}

body.light .fcard {
    background: rgba(255, 255, 255, 0.8);
    border-color: rgba(99, 102, 241, 0.14);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 1)
}

body.light .fcard__label {
    color: #64748b
}

body.light .fcard__stat {
    color: #0f172a
}

body.light .fcs-ring {
    border-color: rgba(99, 102, 241, 0.16)
}

body.light .fcs-blob--purple {
    background: rgba(99, 102, 241, 0.12)
}

body.light .fcs-blob--blue {
    background: rgba(59, 130, 246, 0.1)
}

.hero-text {
    position: relative
}

.hero-text::before {
    content: "";
    position: absolute;
    top: -100px;
    left: -80px;
    width: 480px;
    height: 480px;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, transparent 65%);
    filter: blur(50px);
    pointer-events: none;
    z-index: 0
}

.hero-text>* {
    position: relative;
    z-index: 1
}

.hero-title {
    font-size: clamp(2.2rem, 5vw, 3.8rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.02em;
    margin-bottom: 1.25rem;
    color: var(--text-bright)
}

.hero-title__gradient {
    background: linear-gradient(-45deg, var(--blue-400), var(--purple-light), var(--indigo-300), #00d4ff);
    background-size: 300% 300%;
    animation: gradientFlow 6s ease infinite;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
    transition: opacity 300ms ease, transform 300ms ease
}

body.light .hero-title__gradient {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    background-size: 100%;
    animation: none;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.hero-cursor {
    display: inline-block;
    font-weight: 100;
    color: var(--blue-400);
    margin-left: 2px;
    animation: cursorBlink 0.75s step-start infinite;
    vertical-align: baseline;
    line-height: 1
}

@keyframes cursorBlink {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: 0
    }
}

@keyframes gradientFlow {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0% 50%
    }
}

body.light .hero-title {
    color: #0f172a
}

.hero-desc {
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-weight: 300;
    line-height: 1.7;
    color: var(--text-body);
    max-width: 540px;
    width: 100%;
    margin-bottom: 2rem
}

@media (max-width:767px) {
    .hero-desc {
        max-width: 100%;
        font-size: clamp(0.925rem, 3.5vw, 1.1rem)
    }
}

body.light .hero-desc {
    color: #4b5563
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.btn-hero-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: var(--radius-pill);
    font-size: 0.9375rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-500), var(--purple));
    text-decoration: none;
    transition: transform 200ms, box-shadow 200ms;
    box-shadow: 0 4px 24px rgba(99, 102, 241, 0.25);
    animation: buttonPulse 3s infinite
}

@keyframes buttonPulse {
    0% {
        box-shadow: 0 4px 24px rgba(99, 102, 241, 0.25)
    }

    50% {
        box-shadow: 0 4px 32px rgba(99, 102, 241, 0.6)
    }

    100% {
        box-shadow: 0 4px 24px rgba(99, 102, 241, 0.25)
    }
}

@media (max-width:767px) {
    .btn-hero-primary {
        animation: none !important
    }
}

.btn-hero-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(99, 102, 241, 0.4);
    color: #fff
}

.btn-hero-primary svg {
    transition: transform 200ms
}

.btn-hero-primary:hover svg {
    transform: translateX(3px)
}

.btn-hero-ghost {
    display: inline-flex;
    align-items: center;
    padding: 14px 28px;
    border-radius: var(--radius-pill);
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--text-muted);
    border: 1px solid var(--border-glass);
    background: transparent;
    text-decoration: none;
    transition: color 200ms, border-color 200ms, background 200ms
}

.btn-hero-ghost:hover {
    color: var(--text-bright);
    border-color: rgba(255, 255, 255, 0.25);
    background: rgba(255, 255, 255, 0.04)
}

body.light .btn-hero-ghost {
    color: #374151;
    border-color: rgba(0, 0, 0, 0.15)
}

body.light .btn-hero-ghost:hover {
    color: #0f172a;
    border-color: rgba(0, 0, 0, 0.3);
    background: rgba(0, 0, 0, 0.03)
}

body.light .btn-hero-primary {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    box-shadow: 0 4px 24px rgba(2, 66, 205, 0.25)
}

body.light .btn-hero-primary:hover {
    box-shadow: 0 8px 32px rgba(2, 66, 205, 0.4)
}

@media (max-width:480px) {

    .btn-hero-primary,
    .btn-hero-ghost {
        padding: 11px 20px;
        font-size: 0.875rem;
        width: 100%;
        justify-content: center
    }

    .hero-actions {
        flex-direction: column;
        gap: 10px
    }
}

.hero-trust-bar {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 32px;
    flex-wrap: wrap;
    background: rgba(255, 255, 255, 0.03);
    padding: 16px 24px;
    border-radius: var(--radius-card);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px)
}

.hero-trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    background: rgba(99, 102, 241, 0.06);
    border: 1px solid rgba(99, 102, 241, 0.14);
    border-radius: 14px;
    padding: 10px 18px;
    transition: background 0.2s, border-color 0.2s
}

.hero-trust-item:hover {
    background: rgba(99, 102, 241, 0.11);
    border-color: rgba(99, 102, 241, 0.28)
}

body.light .hero-trust-item {
    background: rgba(99, 102, 241, 0.05);
    border-color: rgba(99, 102, 241, 0.12)
}

body.light .hero-trust-item:hover {
    background: rgba(99, 102, 241, 0.09);
    border-color: rgba(99, 102, 241, 0.22)
}

.hero-trust-value {
    font-size: 22px;
    font-weight: 800;
    line-height: 1;
    background: linear-gradient(135deg, #6366f1, #4f8ef7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

body.light .hero-trust-value {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.hero-trust-label {
    font-size: 12px;
    color: var(--text-muted);
    white-space: nowrap
}

.hero-trust-divider {
    width: 1px;
    height: 36px;
    background: var(--border-glass);
    flex-shrink: 0
}

.spline-container {
    position: relative;
    width: 100%;
    height: 500px;
    overflow: hidden;
    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.1), 0 0 80px rgba(99, 102, 241, 0.15);
    animation: fadeUp 0.8s ease 0.5s both, float3D 6s ease-in-out 1.3s infinite
}

@keyframes float3D {
    0% {
        transform: translateY(0px);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.1), 0 0 80px rgba(99, 102, 241, 0.15)
    }

    50% {
        transform: translateY(-15px);
        box-shadow: 0 35px 50px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.2), 0 0 120px rgba(99, 102, 241, 0.35)
    }

    100% {
        transform: translateY(0px);
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.1), 0 0 80px rgba(99, 102, 241, 0.15)
    }
}

@media (max-width:991.98px) {
    .spline-container {
        height: 380px;
        margin-top: 2rem
    }
}

@media (max-width:767px) {
    .spline-container {
        height: 300px;
        margin-top: 1.5rem
    }
}

@media (max-width:480px) {
    .spline-container {
        height: 240px;
        margin-top: 1rem
    }
}

#logo {
    display: none !important
}

.spline-watermark {
    display: none !important
}

.spline-static {
    display: none;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-card)
}

@media (max-width:575.98px) {

    #spline-frame,
    #spline-loader {
        display: none !important
    }

    .spline-static {
        display: block
    }
}

#about {
    padding: 6rem 2rem;
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 4rem
}

.about-header {
    display: grid;
    gap: 1.25rem;
    text-align: center
}

@media (min-width:768px) {
    .about-header {
        text-align: left;
        align-items: start
    }
}

.about-badge {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #6366f1;
    background: rgba(99, 102, 241, 0.08);
    border: 1px solid rgba(99, 102, 241, 0.2);
    padding: 6px 14px;
    border-radius: 999px;
    width: fit-content;
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.15);
    backdrop-filter: blur(10px)
}

.about-badge__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #6366f1;
    animation: pulse 2s infinite
}

.about-title {
    font-size: clamp(2.4rem, 5vw, 3.6rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.05;
    color: var(--text-bright);
    margin: 0
}

.about-title .gradient-word {
    background: linear-gradient(-45deg, var(--blue-400), var(--purple-light), var(--indigo-300), #00d4ff);
    background-size: 300% 300%;
    animation: gradientFlow 6s ease infinite;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

body.light .about-title .gradient-word {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    background-size: 100%;
    animation: none;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.about-desc {
    font-size: 1rem;
    color: var(--text-muted);
    line-height: 1.75;
    padding-top: 0.4rem;
    margin: 0;
    max-width: 580px
}

@media (min-width:992px) {
    .about-desc {
        border-left: 2px solid rgba(99, 102, 241, 0.3);
        padding-left: 1.5rem
    }
}

.image-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: 1fr
}

@media (min-width:1024px) {
    .image-grid {
        grid-template-columns: 2fr 1fr
    }
}

@media (min-width:1280px) {
    .image-grid {
        grid-template-columns: 5fr 3fr
    }
}

.img-main {
    width: 100%;
    object-fit: contain;
    border-radius: var(--radius-card);
    border: 1px solid var(--border-glass);
    display: block;
    background-color: #f9f9fd
}

@media (min-width:1024px) {
    .img-main {
        height: 100%
    }
}

.image-grid-right {
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

@media (min-width:768px) and (max-width:1023px) {
    .image-grid-right {
        flex-direction: row
    }
}

.pcard__img-banner {
    position: relative;
    margin: -2rem -1.75rem 1.5rem -1.75rem;
    border-radius: 22px 22px 0 0;
    overflow: hidden;
    line-height: 0
}

.pcard__img-banner img {
    transition: transform 0.5s ease
}

.pcard:hover .pcard__img-banner img {
    transform: scale(1.04)
}

.about-audience-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 48px
}

.audience-card {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    padding: 36px 32px;
    border: 1px solid rgba(128, 128, 128, 0.12);
    display: flex;
    flex-direction: column;
    gap: 18px;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.4s ease, border-color 0.4s ease;
    background: var(--card-bg, rgba(255, 255, 255, 0.02));
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px)
}

.audience-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at top right, var(--card-glow), transparent 60%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: 0
}

.audience-card>* {
    position: relative;
    z-index: 1
}

.audience-card:hover {
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.15)
}

.audience-card:hover::before {
    opacity: 1
}

.audience-card--students {
    --card-glow: rgba(99, 102, 241, 0.15);
    border-color: rgba(99, 102, 241, 0.15)
}

.audience-card--students:hover {
    border-color: rgba(99, 102, 241, 0.3);
    box-shadow: 0 24px 48px rgba(99, 102, 241, 0.12)
}

.audience-card--business {
    --card-glow: rgba(79, 142, 247, 0.15);
    border-color: rgba(79, 142, 247, 0.15)
}

.audience-card--business:hover {
    border-color: rgba(79, 142, 247, 0.3);
    box-shadow: 0 24px 48px rgba(79, 142, 247, 0.12)
}

.audience-card__icon {
    width: 64px;
    height: 64px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    transition: transform 0.4s ease
}

.audience-card:hover .audience-card__icon {
    transform: scale(1.05) rotate(-3deg)
}

.audience-card--students .audience-card__icon {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.15), rgba(99, 102, 241, 0.03));
    border: 1px solid rgba(99, 102, 241, 0.2);
    box-shadow: 0 8px 24px rgba(99, 102, 241, 0.15)
}

.audience-card--business .audience-card__icon {
    background: linear-gradient(135deg, rgba(79, 142, 247, 0.15), rgba(79, 142, 247, 0.03));
    border: 1px solid rgba(79, 142, 247, 0.2);
    box-shadow: 0 8px 24px rgba(79, 142, 247, 0.15)
}

.audience-card__title {
    font-size: 22px;
    font-weight: 700;
    margin: 0
}

.audience-card__desc {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.7;
    margin: 0
}

.audience-card__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px
}

.audience-card__list li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500
}

.audience-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    border-radius: 14px;
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    margin-top: auto;
    transition: all 0.3s ease
}

.audience-card__btn:hover {
    text-decoration: none
}

.audience-card__btn--primary {
    background: rgba(99, 102, 241, 0.08);
    color: #6366f1;
    border: 1px solid rgba(99, 102, 241, 0.25)
}

.audience-card__btn--primary:hover {
    background: rgba(99, 102, 241, 0.15);
    border-color: rgba(99, 102, 241, 0.4);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(99, 102, 241, 0.15)
}

.audience-card__btn--call {
    background: linear-gradient(135deg, #4f8ef7, #6366f1);
    color: #fff;
    border: 1px solid transparent
}

.audience-card__btn--call:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(79, 142, 247, 0.3);
    opacity: 0.95
}

.about-bottom-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "card img" "card stats";
    gap: 20px;
    margin-top: 2rem;
    align-items: stretch
}

.about-bottom-grid .breakout-card {
    grid-area: card;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 32px;
    border-radius: 20px;
    border: 1px solid rgba(99, 102, 241, 0.15);
    background: rgba(99, 102, 241, 0.04);
    height: 100%;
    box-sizing: border-box
}

.about-bottom-grid .breakout-card .breakout-btn {
    margin-top: auto
}

.about-bottom-img {
    grid-area: img;
    width: 100%;
    height: 100%;
    min-height: 180px;
    object-fit: cover;
    object-position: center;
    border-radius: 16px;
    display: block
}

.about-stats-row {
    grid-area: stats;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px
}

.about-stat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 20px;
    border-radius: 16px;
    border: 1px solid rgba(128, 128, 128, 0.12);
    background: rgba(255, 255, 255, 0.03);
    text-align: center
}

.about-stat-card__value {
    font-size: 28px;
    font-weight: 800;
    background: linear-gradient(135deg, #6366f1, #4f8ef7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

body.light .about-stat-card__value {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.about-stat-card__label {
    font-size: 12px;
    color: var(--text-muted);
    font-weight: 500
}

.trust-group-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #999;
    margin: 0 0 10px
}

.trust-icons-row {
    display: flex;
    gap: 8px
}

.trust-icon-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    flex: 1;
    text-align: center
}

.trust-icon-item span {
    font-size: 10.5px;
    font-weight: 600;
    color: #666;
    line-height: 1.2
}

.trust-icon-wrap {
    width: 40px;
    height: 40px;
    border-radius: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease
}

.trust-icon-wrap:hover {
    transform: translateY(-2px)
}

.trust-icon-wrap--purple {
    background: rgba(99, 102, 241, 0.12);
    color: #6366f1
}

.trust-icon-wrap--blue {
    background: rgba(79, 142, 247, 0.12);
    color: #4f8ef7
}

body:not(.light) .trust-icon-wrap--purple {
    background: rgba(99, 102, 241, 0.22)
}

body:not(.light) .trust-icon-wrap--blue {
    background: rgba(79, 142, 247, 0.22)
}

body:not(.light) .trust-icon-item span {
    color: rgba(255, 255, 255, 0.5)
}

body:not(.light) .trust-group-label {
    color: rgba(255, 255, 255, 0.3)
}

.trust-divider {
    height: 1px;
    background: rgba(128, 128, 128, 0.15);
    margin: 12px 0
}

.breakout-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px
}

.breakout-list__item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    line-height: 1.5
}

.breakout-list__icon {
    width: 22px;
    height: 22px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 1px
}

.breakout-list__icon--purple {
    background: rgba(99, 102, 241, 0.15);
    color: #6366f1
}

.breakout-list__icon--blue {
    background: rgba(79, 142, 247, 0.15);
    color: #4f8ef7
}

.breakout-list__icon--green {
    background: rgba(34, 197, 94, 0.15);
    color: #16a34a
}

.breakout-list__icon--orange {
    background: rgba(249, 115, 22, 0.15);
    color: #ea580c
}

.breakout-testimonial {
    background: rgba(99, 102, 241, 0.06);
    border-left: 3px solid #6366f1;
    border-radius: 0 10px 10px 0;
    padding: 12px 14px;
    margin-top: 4px
}

.breakout-testimonial__text {
    font-size: 13px;
    font-style: italic;
    line-height: 1.6;
    margin: 0 0 6px;
    color: var(--text-muted)
}

.breakout-testimonial__author {
    font-size: 12px;
    font-weight: 600;
    color: #6366f1;
    margin: 0
}

.breakout-card {
    background: var(--bg-glass);
    border: 1px solid var(--border-glass);
    border-radius: var(--radius-card);
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    flex: 1;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: border-color 0.3s
}

.breakout-logo {
    width: 44px;
    height: 44px;
    background: rgba(96, 165, 250, 0.1);
    border: 1px solid rgba(96, 165, 250, 0.25);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--blue-400)
}

.breakout-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text-bright);
    margin-bottom: 0.4rem
}

.breakout-body {
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.65
}

.breakout-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-bright);
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--border-glass);
    border-radius: var(--radius-pill);
    padding: 0.5rem 1.1rem;
    text-decoration: none;
    width: fit-content;
    transition: background 0.2s, border-color 0.2s, transform 0.15s
}

.breakout-btn:hover {
    background: rgba(96, 165, 250, 0.12);
    border-color: rgba(96, 165, 250, 0.35);
    transform: translateY(-1px)
}

.img-secondary {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: var(--radius-card);
    border: 1px solid var(--border-glass);
    display: block;
    flex: 1
}

@media (min-width:1024px) {
    .img-secondary {
        height: auto;
        min-height: 160px
    }
}

.companies-block {
    text-align: center;
    padding: 1rem 0
}

.companies-title {
    font-size: 0.82rem;
    color: var(--text-muted);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 1.5rem;
    font-weight: 500
}

.companies-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.65rem
}

.tech-pill {
    font-size: 0.78rem;
    letter-spacing: 0.04em;
    padding: 0.4rem 1rem;
    border-radius: var(--radius-pill);
    border: 1px solid var(--border-glass);
    color: var(--text-muted);
    background: var(--bg-glass);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: border-color 0.2s, color 0.2s, transform 0.15s;
    cursor: default
}

.tech-pill.visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.4s ease, transform 0.4s ease, border-color 0.2s, color 0.2s
}

.tech-pill:hover {
    border-color: rgba(96, 165, 250, 0.4);
    color: var(--blue-300);
    transform: translateY(-2px)
}

.achievements-block {
    position: relative;
    overflow: hidden;
    background: var(--bg-glass);
    border: 1px solid var(--border-glass);
    border-radius: var(--radius-card);
    padding: 3rem 2.5rem;
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px)
}

.achievements-grid-texture {
    pointer-events: none;
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 80px 80px;
    -webkit-mask-image: linear-gradient(to bottom right, #000, transparent, transparent);
    mask-image: linear-gradient(to bottom right, #000, transparent, transparent);
    z-index: 0
}

.achievements-header,
.achievements-stats,
.experience-row,
.certs-row {
    position: relative;
    z-index: 1
}

.achievements-title {
    font-size: clamp(1.8rem, 3.5vw, 2.6rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--text-bright);
    margin-bottom: 0.75rem
}

.achievements-desc {
    font-size: 0.9rem;
    color: var(--text-muted);
    max-width: 520px;
    line-height: 1.7
}

.achievements-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: space-between
}

.stat-item {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    text-align: center;
    flex: 1;
    min-width: 100px
}

.stat-label {
    font-size: 0.78rem;
    color: var(--text-muted)
}

.stat-value {
    font-size: clamp(2.4rem, 4vw, 3.2rem);
    font-weight: 700;
    letter-spacing: -0.04em;
    background: linear-gradient(135deg, var(--blue-400), var(--purple-light));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.experience-row {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    border-top: 1px solid var(--border-glass);
    padding-top: 2rem
}

@media (min-width:768px) {
    .experience-row {
        flex-direction: row;
        gap: 2rem
    }
}

.exp-item {
    border-left: 2px solid var(--blue-500);
    padding-left: 1rem;
    flex: 1
}

.exp-role {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--text-bright);
    margin-bottom: 0.2rem
}

.exp-company {
    font-size: 0.78rem;
    color: var(--text-muted)
}

.certs-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    border-top: 1px solid var(--border-glass);
    padding-top: 2rem
}

.cert-badge {
    font-size: 0.75rem;
    font-weight: 500;
    padding: 0.35rem 0.9rem;
    border-radius: var(--radius-pill);
    background: rgba(96, 165, 250, 0.08);
    border: 1px solid rgba(96, 165, 250, 0.2);
    color: var(--blue-300)
}

body.light .about-title {
    color: #0f172a
}

body.light .about-desc,
body.light .companies-title,
body.light .stat-label,
body.light .exp-company,
body.light .breakout-body,
body.light .achievements-desc {
    color: #64748b
}

body.light .breakout-card,
body.light .achievements-block,
body.light .tech-pill {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(0, 0, 0, 0.08)
}

body.light .breakout-title,
body.light .exp-role,
body.light .achievements-title {
    color: #0f172a
}

body.light .tech-pill {
    color: #64748b
}

body.light .tech-pill:hover {
    color: var(--blue-500);
    border-color: rgba(59, 130, 246, 0.35)
}

body.light .breakout-btn {
    color: #0f172a;
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.1)
}

body.light .breakout-btn:hover {
    background: rgba(59, 130, 246, 0.08);
    border-color: rgba(59, 130, 246, 0.3)
}

body.light .img-main,
body.light .img-secondary {
    border-color: rgba(0, 0, 0, 0.08)
}

body.light .achievements-grid-texture {
    background-image: linear-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.04) 1px, transparent 1px)
}

body.light .cert-badge {
    background: rgba(59, 130, 246, 0.06);
    border-color: rgba(59, 130, 246, 0.18);
    color: var(--blue-500)
}

body.light .exp-item {
    border-color: var(--blue-500)
}

body.light .stat-value {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

#projects {
    padding: 6rem 2rem;
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 4rem;
    overflow: visible;
    align-items: stretch
}

.projects-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.25rem
}

.projects-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--border-glass);
    background: rgba(255, 255, 255, 0.04);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-muted);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px)
}

.projects-badge__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--blue-400);
    box-shadow: 0 0 8px rgba(96, 165, 250, 0.6);
    animation: pulse-dot 2s ease-in-out infinite
}

.projects-title {
    font-size: clamp(2.2rem, 5vw, 3.6rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--text-bright);
    max-width: 1100px
}

.projects-title__gradient {
    background: linear-gradient(135deg, var(--blue-400), var(--purple-light), var(--indigo-300));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

body.light .projects-title__gradient {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.projects-desc {
    font-size: 1rem;
    color: var(--text-muted);
    max-width: 700px;
    line-height: 1.7
}

.marquee-wrap {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, black clamp(20px, 5vw, 80px), black calc(100% - clamp(20px, 5vw, 80px)), transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, black clamp(20px, 5vw, 80px), black calc(100% - clamp(20px, 5vw, 80px)), transparent 100%)
}

.marquee-fade,
.marquee-fade--left,
.marquee-fade--right {
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 2;
    pointer-events: none;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    width: 100px
}

.marquee-fade--left {
    left: 0;
    background: linear-gradient(to right, var(--bg-dark), transparent);
    width: 80px
}

.marquee-fade--right {
    right: 0;
    background: linear-gradient(to left, var(--bg-dark), transparent);
    width: 80px
}

body.light .marquee-fade--left {
    background: linear-gradient(to right, var(--bg-light), transparent)
}

body.light .marquee-fade--right {
    background: linear-gradient(to left, var(--bg-light), transparent)
}

.marquee-row {
    overflow: hidden;
    width: 100%
}

.marquee-track {
    display: flex;
    gap: 12px;
    width: max-content;
    animation: marquee-left 60s linear infinite;
    will-change: transform
}

.marquee-track--reverse {
    animation: marquee-right 60s linear infinite
}

#track-3 {
    animation-duration: 90s
}

@keyframes marquee-left {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateX(-50%)
    }
}

@keyframes marquee-right {
    from {
        transform: translateX(-50%)
    }

    to {
        transform: translateX(0)
    }
}

.marquee-wrap:hover .marquee-track {
    animation-play-state: paused
}

.marquee-tag {
    flex-shrink: 0;
    padding: 0.35rem 1rem;
    border-radius: var(--radius-pill);
    border: 1px solid var(--border-glass);
    background: var(--bg-glass);
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    white-space: nowrap;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: border-color 0.2s, color 0.2s
}

.marquee-tag:hover {
    border-color: rgba(96, 165, 250, 0.35);
    color: var(--blue-300)
}

.projects-grid {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    width: 100%
}

@media (min-width:768px) {
    .projects-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem
    }
}

@media (min-width:1024px) {
    .projects-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (min-width:768px) and (max-width:1023px) {
    .pcard2--case-study {
        grid-column: 1 / -1;
        max-width: 520px;
        margin-left: auto;
        margin-right: auto;
        width: 100%
    }
}

.project-card {
    background: var(--bg-glass);
    border: 1px solid var(--border-glass);
    border-radius: var(--radius-card);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    transition: border-color 0.3s, transform 0.3s;
    opacity: 0;
    transform: translateY(20px)
}

.project-card.visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.5s ease, transform 0.5s ease, border-color 0.3s
}

.project-card:hover {
    border-color: rgba(96, 165, 250, 0.25)
}

.laptop-mockup {
    perspective: 1500px;
    max-width: 88%;
    margin: 32px auto 24px auto;
    position: relative
}

.laptop-screen {
    background: #0f0f11;
    border-radius: 18px 18px 0 0;
    padding: 32px 32px 24px 32px;
    border: 2px solid #b5b7b9;
    border-bottom: 2px solid #737373;
    position: relative;
    box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.8)
}

.laptop-camera {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    background: #000;
    border-radius: 50%;
    border: 1px solid #222;
    box-shadow: 0 0 2px rgba(255, 255, 255, 0.1)
}

.laptop-base {
    height: 18px;
    background: linear-gradient(to bottom, #f3f4f6, #9ca3af, #6b7280);
    border-radius: 0 0 20px 20px;
    position: relative;
    margin: 0 -20px;
    border-top: 1px solid #ffffff;
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.8), 0 20px 30px rgba(0, 0, 0, 0.25);
    z-index: 2
}

.laptop-notch {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 90px;
    height: 8px;
    background: #cbd5e1;
    border-radius: 0 0 6px 6px;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3)
}

.project-card__img-wrap {
    position: relative;
    width: calc(100% - 2rem);
    height: auto;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 12px;
    margin: 1rem 1rem 0 1rem;
    background: #111;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
    display: flex;
    align-items: center;
    justify-content: center
}

.laptop-screen .project-card__img-wrap {
    margin: 0;
    width: 100%;
    border-radius: 4px
}

.project-card__img-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(99, 102, 241, 0.9);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 3px 9px;
    border-radius: 999px;
    backdrop-filter: blur(6px);
    z-index: 10
}

.project-card__img-badge--green {
    background: rgba(22, 163, 74, 0.9)
}

.project-card__img-badge--teal {
    background: rgba(13, 148, 136, 0.92)
}

.project-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #94a3b8;
    font-size: 0.85rem;
    padding: 1rem;
    line-height: 1.5;
    border-radius: 12px;
    position: relative;
    z-index: 5;
    transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.6s ease;
    transform-style: preserve-3d
}

.project-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 40%, rgba(0, 0, 0, 0.55));
    pointer-events: none
}

.project-card__body {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    flex: 1
}

.project-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem
}

.project-tag {
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.2rem 0.65rem;
    border-radius: var(--radius-pill);
    background: rgba(96, 165, 250, 0.1);
    border: 1px solid rgba(96, 165, 250, 0.2);
    color: var(--blue-300)
}

.project-card__title {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-bright);
    line-height: 1.25;
    letter-spacing: -0.01em
}

.project-card__desc {
    font-size: 0.875rem;
    color: var(--text-muted);
    line-height: 1.65
}

.project-card__readmore {
    display: inline;
    font-family: inherit;
    font-size: inherit;
    font-weight: 600;
    color: var(--blue-400);
    cursor: pointer;
    transition: color 0.2s;
    margin-left: 0.2em
}

.project-card__readmore:hover {
    color: var(--blue-300);
    text-decoration: underline
}

.project-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.75rem
}

.project-card__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.83rem;
    font-weight: 600;
    color: var(--blue-400);
    text-decoration: none;
    transition: gap 0.2s, color 0.2s;
    width: fit-content
}

.project-card__link:hover {
    color: var(--blue-300);
    gap: 0.6rem
}

.project-card__arrow {
    transition: transform 0.2s
}

.project-card__link:hover .project-card__arrow {
    transform: translateX(3px)
}

.project-card__yt {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    border: 1px solid var(--border-glass);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-muted);
    transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.15s
}

.project-card__yt svg {
    width: 18px;
    height: 18px
}

.project-card__yt:hover {
    background: rgba(255, 0, 0, 0.1);
    border-color: rgba(255, 0, 0, 0.3);
    color: #ff0000;
    transform: translateY(-2px)
}

.projects-cta {
    display: flex;
    justify-content: center
}

.btn-view-all {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 32px;
    border-radius: var(--radius-pill);
    font-size: 0.9375rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-500), var(--purple));
    text-decoration: none;
    box-shadow: 0 4px 24px rgba(99, 102, 241, 0.25);
    transition: transform 0.2s, box-shadow 0.2s
}

.btn-view-all:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 32px rgba(99, 102, 241, 0.4);
    color: #fff
}

.btn-view-all svg {
    transition: transform 0.2s
}

.btn-view-all:hover svg {
    transform: translateX(4px)
}

button.btn-view-all {
    border: none;
    cursor: pointer;
    font-family: inherit
}

body.light .btn-view-all {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    box-shadow: 0 4px 24px rgba(2, 66, 205, 0.25)
}

body.light .btn-view-all:hover {
    box-shadow: 0 8px 32px rgba(2, 66, 205, 0.4)
}

body.light .projects-badge {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.1);
    color: #64748b
}

body.light .projects-title {
    color: #0f172a
}

body.light .projects-desc {
    color: #64748b
}

body.light .marquee-tag {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(0, 0, 0, 0.08);
    color: #64748b
}

body.light .marquee-tag:hover {
    color: var(--blue-500);
    border-color: rgba(59, 130, 246, 0.3)
}

body.light .project-card {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(0, 0, 0, 0.08)
}

body.light .project-card:hover {
    border-color: rgba(59, 130, 246, 0.25)
}

body.light .project-card__title {
    color: #0f172a
}

body.light .project-card__desc {
    color: #64748b
}

body.light .project-tag {
    background: rgba(59, 130, 246, 0.07);
    border-color: rgba(59, 130, 246, 0.18);
    color: var(--blue-500)
}

body.light .project-card__link {
    color: var(--blue-500)
}

body.light .project-card__link:hover {
    color: #1d4ed8
}

body.light .project-card__readmore {
    color: var(--blue-500)
}

body.light .project-card__yt {
    border-color: rgba(0, 0, 0, 0.1);
    background: rgba(0, 0, 0, 0.03);
    color: #6b7280
}

body.light .project-card__yt:hover {
    background: rgba(255, 0, 0, 0.08);
    border-color: rgba(255, 0, 0, 0.25);
    color: #ff0000
}

#pricing {
    position: relative;
    padding: 6rem 1.5rem;
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3.5rem;
    overflow: hidden
}

.pricing-dot-grid {
    pointer-events: none;
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255, 255, 255, 0.07) 0.8px, transparent 0.8px);
    background-size: 14px 14px;
    -webkit-mask-image: radial-gradient(circle at 50% 10%, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0) 70%);
    mask-image: radial-gradient(circle at 50% 10%, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0) 70%);
    z-index: 0
}

.pricing-spotlight {
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 560px;
    height: 560px;
    transform: translate(-30%, -40%) rotate(-45deg);
    border-radius: 50%;
    background: radial-gradient(68.54% 68.72% at 55.02% 31.46%, hsla(217, 91%, 70%, 0.08) 0%, hsla(217, 60%, 50%, 0.02) 50%, transparent 80%);
    z-index: 0
}

.pricing-header,
.pricing-grid {
    position: relative;
    z-index: 1;
    width: 100%
}

.pricing-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1.25rem
}

.pricing-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--border-glass);
    background: rgba(255, 255, 255, 0.04);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-muted);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px)
}

.pricing-badge__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--blue-400);
    box-shadow: 0 0 8px rgba(96, 165, 250, 0.6);
    animation: pulse-dot 2s ease-in-out infinite
}

.pricing-title {
    font-size: clamp(2.2rem, 5vw, 3.6rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--text-bright);
    max-width: 640px
}

.pricing-title__gradient {
    background: linear-gradient(135deg, var(--blue-400), var(--purple-light), var(--indigo-300));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

body.light .pricing-title__gradient {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.pricing-desc {
    font-size: 1rem;
    color: var(--text-muted);
    max-width: 440px;
    line-height: 1.7
}

.billing-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin-top: 0.25rem
}

.billing-label {
    font-size: 0.875rem;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 0.4rem
}

.billing-save {
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.15rem 0.55rem;
    border-radius: var(--radius-pill);
    background: rgba(96, 165, 250, 0.12);
    border: 1px solid rgba(96, 165, 250, 0.25);
    color: var(--blue-300)
}

.toggle-switch {
    position: relative;
    width: 44px;
    height: 24px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--border-glass);
    background: rgba(255, 255, 255, 0.08);
    cursor: pointer;
    transition: background 0.25s, border-color 0.25s;
    flex-shrink: 0
}

.toggle-switch.is-on {
    background: linear-gradient(135deg, var(--blue-500), var(--purple));
    border-color: transparent
}

.toggle-thumb {
    position: absolute;
    top: 3px;
    left: 3px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--text-bright);
    transition: transform 0.25s cubic-bezier(0.23, 1, 0.32, 1)
}

.toggle-switch.is-on .toggle-thumb {
    transform: translateX(20px)
}

.pricing-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    align-items: start
}

@media (min-width:768px) {
    .pricing-grid {
        grid-template-columns: repeat(3, 1fr);
        align-items: stretch
    }
}

.pricing-card {
    background: var(--bg-glass);
    border: 1px solid var(--border-glass);
    border-radius: 16px;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: border-color 0.3s, transform 0.3s;
    opacity: 0;
    transform: translateY(20px)
}

.pricing-card.visible {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.5s ease, transform 0.5s ease, border-color 0.3s
}

.pricing-card:hover {
    border-color: rgba(96, 165, 250, 0.2);
    transform: translateY(-3px)
}

.pricing-card--featured {
    border-color: rgba(96, 165, 250, 0.3);
    box-shadow: 0 0 40px rgba(99, 102, 241, 0.12), 0 4px 24px rgba(0, 0, 0, 0.3)
}

.pricing-card--featured:hover {
    border-color: rgba(96, 165, 250, 0.55);
    transform: translateY(-5px)
}

.pricing-card__header {
    position: relative;
    background: rgba(255, 255, 255, 0.04);
    border-bottom: 1px solid var(--border-glass);
    padding: 1.25rem;
    border-radius: 14px 14px 0 0;
    overflow: hidden
}

.pricing-card__header--featured {
    background: rgba(96, 165, 250, 0.05);
    border-bottom-color: rgba(96, 165, 250, 0.15)
}

.pricing-card__glass {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 120px;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.03) 40%, rgba(0, 0, 0, 0) 100%)
}

.pricing-card__plan {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.25rem
}

.pricing-card__name {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-muted)
}

.plan-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: var(--text-muted)
}

.pricing-badge-pill {
    font-size: 0.7rem;
    font-weight: 600;
    padding: 0.2rem 0.7rem;
    border-radius: var(--radius-pill);
    border: 1px solid rgba(96, 165, 250, 0.3);
    color: var(--blue-300);
    background: rgba(96, 165, 250, 0.1)
}

.pricing-card__price {
    display: flex;
    align-items: flex-end;
    gap: 0.25rem;
    margin-bottom: 0.9rem
}

.price-main {
    font-size: 2rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: var(--text-bright);
    transition: opacity 0.2s
}

.price-period {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.6);
    padding-bottom: 0.25rem
}

.price-original {
    font-size: 1rem;
    color: var(--text-muted);
    text-decoration: line-through;
    margin-left: auto;
    padding-bottom: 0.25rem
}

.btn-plan {
    width: 100%;
    padding: 10px;
    border-radius: var(--radius-pill);
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s, transform 0.15s, box-shadow 0.2s;
    position: relative;
    z-index: 1
}

.btn-plan--outline {
    background: transparent;
    border: 1px solid var(--border-glass);
    color: var(--text-bright)
}

.btn-plan--outline:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.25);
    transform: translateY(-1px)
}

.btn-plan--primary {
    background: linear-gradient(135deg, var(--blue-500), var(--purple));
    border: 1px solid transparent;
    color: #fff;
    box-shadow: 0 4px 20px rgba(99, 102, 241, 0.3)
}

.btn-plan--primary:hover {
    box-shadow: 0 6px 28px rgba(99, 102, 241, 0.5);
    transform: translateY(-1px)
}

body.light .btn-plan--primary {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    box-shadow: 0 4px 20px rgba(2, 66, 205, 0.3)
}

body.light .btn-plan--primary:hover {
    box-shadow: 0 6px 28px rgba(2, 66, 205, 0.5)
}

.pricing-card__body {
    padding: 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 1
}

.pricing-card__desc {
    font-size: 0.8rem;
    color: var(--text-muted)
}

.pricing-card__list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.65rem
}

.pricing-card__list li {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    font-size: 0.845rem;
    color: var(--text-muted);
    line-height: 1.45
}

.check-icon {
    flex-shrink: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--text-muted);
    margin-top: 1px
}

.check-icon--featured {
    color: var(--blue-400)
}

body.light .pricing-dot-grid {
    background-image: radial-gradient(rgba(0, 0, 0, 0.07) 0.8px, transparent 0.8px)
}

body.light .pricing-badge {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.1);
    color: #64748b
}

body.light .pricing-title {
    color: #0f172a
}

body.light .pricing-desc {
    color: #64748b
}

body.light .billing-label {
    color: #64748b
}

body.light .toggle-switch {
    background: rgba(0, 0, 0, 0.08);
    border-color: rgba(0, 0, 0, 0.12)
}

body.light .toggle-thumb {
    background: #0f172a
}

body.light .pricing-card {
    background: rgba(255, 255, 255, 0.75);
    border-color: rgba(0, 0, 0, 0.08)
}

body.light .pricing-card:hover {
    border-color: rgba(59, 130, 246, 0.25)
}

body.light .pricing-card--featured {
    border-color: rgba(59, 130, 246, 0.3)
}

body.light .pricing-card__header {
    background: rgba(0, 0, 0, 0.02);
    border-bottom-color: rgba(0, 0, 0, 0.06)
}

body.light .pricing-card__header--featured {
    background: rgba(59, 130, 246, 0.04)
}

body.light .pricing-card__glass {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.1) 40%, transparent 100%)
}

body.light .pricing-card__name {
    color: #475569
}

body.light .plan-icon {
    color: #475569
}

body.light .price-main {
    color: #0f172a
}

body.light .price-period {
    color: #64748b
}

body.light .price-original {
    color: #94a3b8
}

body.light .btn-plan--outline {
    border-color: rgba(0, 0, 0, 0.12);
    color: #0f172a
}

body.light .btn-plan--outline:hover {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.2)
}

body.light .pricing-card__desc {
    color: #64748b
}

body.light .pricing-card__list li {
    color: #475569
}

body.light .check-icon {
    color: #94a3b8
}

body.light .check-icon--featured {
    color: var(--blue-500)
}

.modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.82);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease
}

.modal-overlay.is-active {
    opacity: 1;
    visibility: visible
}

.modal-card {
    position: relative;
    width: calc(100% - 2rem);
    max-width: 440px;
    background: rgba(14, 17, 28, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-card);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 2.25rem 2rem 2rem;
    overflow: hidden;
    margin-top: 4rem;
    transform: translateY(24px) scale(0.97);
    opacity: 0;
    transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.35s ease
}

.modal-overlay.is-active .modal-card {
    transform: translateY(0) scale(1);
    opacity: 1
}

.modal-card__glass {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 140px;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.07) 0%, rgba(255, 255, 255, 0.03) 40%, transparent 100%);
    border-radius: var(--radius-card) var(--radius-card) 0 0
}

.modal-card__grid-texture {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 60px 60px;
    -webkit-mask-image: linear-gradient(to bottom right, #000, transparent 70%);
    mask-image: linear-gradient(to bottom right, #000, transparent 70%)
}

.modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-glass);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--text-muted);
    cursor: pointer;
    transition: background 0.2s, color 0.2s, border-color 0.2s
}

.modal-close:hover {
    background: rgba(255, 255, 255, 0.12);
    color: var(--text-bright);
    border-color: rgba(255, 255, 255, 0.2)
}

.modal-header {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 1;
    text-align: center;
    margin-bottom: 1.75rem
}

.modal-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(96, 165, 250, 0.1);
    border: 1px solid rgba(96, 165, 250, 0.25);
    color: var(--blue-400)
}

.modal-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-bright);
    margin-bottom: 0.4rem
}

.modal-desc {
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.6
}

.modal-form {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 1.1rem
}

.modal-field {
    display: flex;
    flex-direction: column;
    gap: 0.3rem
}

.modal-label {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-muted);
    letter-spacing: 0.02em
}

.modal-input {
    width: 100%;
    padding: 10px 14px;
    border-radius: 10px;
    border: 1px solid var(--border-glass);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-bright);
    font-family: inherit;
    font-size: 0.9rem;
    outline: none;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s
}

.modal-input::placeholder {
    color: rgba(255, 255, 255, 0.2)
}

.modal-input:focus {
    border-color: var(--blue-400);
    background: rgba(96, 165, 250, 0.04);
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.1)
}

.modal-input.has-error {
    border-color: #ef4444;
    background: rgba(239, 68, 68, 0.04);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1)
}

.modal-error {
    font-size: 0.72rem;
    color: #ef4444;
    display: none
}

.modal-input.has-error~.modal-error,
.modal-input.has-error+.modal-error {
    display: block
}

.modal-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px;
    margin-top: 0.5rem;
    border-radius: var(--radius-pill);
    border: 1px solid transparent;
    font-family: inherit;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-500), var(--purple));
    box-shadow: 0 4px 20px rgba(99, 102, 241, 0.3);
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s
}

.modal-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 28px rgba(99, 102, 241, 0.5)
}

.modal-submit svg {
    transition: transform 0.2s
}

.modal-submit:hover svg {
    transform: translateX(3px)
}

body.light .modal-overlay {
    background: rgba(255, 255, 255, 0.5)
}

body.light .modal-card {
    background: rgba(255, 255, 255, 0.97);
    border-color: rgba(0, 0, 0, 0.1)
}

body.light .modal-card__glass {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.2) 40%, transparent 100%)
}

body.light .modal-card__grid-texture {
    background-image: linear-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.04) 1px, transparent 1px)
}

body.light .modal-close {
    border-color: rgba(0, 0, 0, 0.1);
    background: rgba(0, 0, 0, 0.04);
    color: #6b7280
}

body.light .modal-close:hover {
    background: rgba(0, 0, 0, 0.08);
    color: #0f172a
}

body.light .modal-title {
    color: #0f172a
}

body.light .modal-desc,
body.light .modal-label {
    color: #64748b
}

body.light .modal-input {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.12);
    color: #0f172a
}

body.light .modal-input::placeholder {
    color: rgba(0, 0, 0, 0.25)
}

body.light .modal-input:focus {
    border-color: var(--blue-500);
    background: rgba(59, 130, 246, 0.04);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)
}

.contact-section {
    position: relative;
    padding: 6rem 2rem;
    overflow: hidden
}

.contact-dot-grid {
    pointer-events: none;
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255, 255, 255, 0.05) 0.8px, transparent 0.8px);
    background-size: 16px 16px;
    -webkit-mask-image: radial-gradient(circle at 50% 50%, #000, transparent 70%);
    mask-image: radial-gradient(circle at 50% 50%, #000, transparent 70%)
}

.contact-inner {
    position: relative;
    z-index: 1;
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: start
}

@media (min-width:900px) {
    .contact-inner {
        grid-template-columns: 1fr 1.1fr;
        gap: 4rem
    }
}

.contact-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: var(--radius-pill);
    border: 1px solid var(--border-glass);
    background: rgba(255, 255, 255, 0.04);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--text-muted);
    backdrop-filter: blur(6px);
    margin-bottom: 1.5rem
}

.contact-badge__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 8px #22c55e80;
    animation: pulse-dot 2s ease-in-out infinite
}

.contact-heading {
    font-size: clamp(2rem, 4.5vw, 2.8rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: var(--text-bright);
    margin-bottom: 1rem
}

.contact-heading__gradient {
    background: linear-gradient(135deg, var(--blue-400), var(--purple-light), var(--indigo-300));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

body.light .contact-heading__gradient {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.contact-desc {
    font-size: 1rem;
    color: var(--text-muted);
    line-height: 1.7;
    margin-bottom: 2rem;
    max-width: 420px
}

.contact-details {
    display: flex;
    flex-direction: column;
    gap: 1.25rem
}

.contact-detail-item {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 0.5rem 0;
    border-radius: 12px;
    transition: transform 0.3s ease
}

.contact-detail-item:hover {
    transform: translateX(5px)
}

.contact-detail-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(99, 102, 241, 0.1);
    border: 1px solid rgba(99, 102, 241, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--blue-400);
    transition: all 0.3s ease
}

.contact-detail-item:hover .contact-detail-icon {
    background: rgba(99, 102, 241, 0.2);
    color: var(--purple-light);
    box-shadow: 0 0 20px rgba(99, 102, 241, 0.3);
    transform: scale(1.05)
}

.contact-detail-icon svg {
    width: 20px;
    height: 20px
}

.contact-detail-label {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 0.25rem
}

.contact-detail-value {
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--text-bright);
    text-decoration: none;
    transition: color 0.2s
}

a.contact-detail-value:hover {
    color: var(--blue-400)
}

.contact-form-wrap {
    background: linear-gradient(145deg, var(--bg-glass) 0%, rgba(255, 255, 255, 0.02) 100%);
    border: 1px solid rgba(99, 102, 241, 0.25);
    border-radius: 24px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 3.5rem 3rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15), inset 0 0 30px rgba(99, 102, 241, 0.05)
}

.contact-form-wrap::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 60px 60px;
    -webkit-mask-image: linear-gradient(to bottom right, #000, transparent 60%);
    mask-image: linear-gradient(to bottom right, #000, transparent 60%);
    pointer-events: none
}

.contact-form {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.contact-form__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem
}

@media (min-width:640px) {
    .contact-form__row {
        grid-template-columns: 1fr 1fr
    }
}

.contact-form__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem
}

.contact-form__label {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-muted);
    letter-spacing: 0.02em
}

.contact-form__input {
    width: 100%;
    padding: 14px 18px;
    min-height: 44px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.15);
    color: var(--text-bright);
    font-family: inherit;
    font-size: 0.95rem;
    outline: none;
    transition: all 0.3s ease;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1)
}

.contact-form__input:hover {
    background: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.15)
}

.contact-form__input::placeholder {
    color: rgba(255, 255, 255, 0.25)
}

.contact-form__input:focus {
    border-color: rgba(99, 102, 241, 0.5);
    background: rgba(99, 102, 241, 0.05);
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.15), inset 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: translateY(-1px)
}

.contact-form__input.has-error {
    border-color: #ef4444;
    background: rgba(239, 68, 68, 0.04);
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1)
}

.contact-form__textarea {
    resize: vertical;
    min-height: 130px
}

.contact-form__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 16px;
    margin-top: 0.5rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-family: inherit;
    font-size: 1.05rem;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--blue-500), var(--purple-light));
    box-shadow: 0 10px 25px rgba(99, 102, 241, 0.4);
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.2, 0.8, 0.2, 1)
}

.contact-form__submit:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 15px 35px rgba(99, 102, 241, 0.6);
    background: linear-gradient(135deg, var(--blue-400), var(--purple))
}

.contact-form__submit:disabled {
    cursor: default;
    transform: none
}

body.light .contact-form__submit {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    box-shadow: 0 10px 25px rgba(2, 66, 205, 0.4);
    border-color: rgba(2, 66, 205, 0.15)
}

body.light .contact-form__submit:hover {
    background: linear-gradient(135deg, #014ee1, #096dfc);
    box-shadow: 0 15px 35px rgba(2, 66, 205, 0.6)
}

.contact-orb {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
    filter: blur(90px);
    opacity: 0.28;
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden
}

.contact-orb--1 {
    width: 420px;
    height: 420px;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.7), transparent 70%);
    top: -120px;
    left: -80px;
    animation: orbDrift1 14s ease-in-out infinite
}

.contact-orb--2 {
    width: 320px;
    height: 320px;
    background: radial-gradient(circle, rgba(59, 130, 246, 0.65), transparent 70%);
    bottom: -60px;
    right: 200px;
    animation: orbDrift2 18s ease-in-out infinite
}

.contact-orb--3 {
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(167, 139, 250, 0.55), transparent 70%);
    top: 40%;
    right: -60px;
    animation: orbDrift3 11s ease-in-out infinite
}

@keyframes orbDrift1 {

    0%,
    100% {
        transform: translate(0, 0)
    }

    33% {
        transform: translate(55px, 35px)
    }

    66% {
        transform: translate(-25px, 55px)
    }
}

@keyframes orbDrift2 {

    0%,
    100% {
        transform: translate(0, 0)
    }

    50% {
        transform: translate(-45px, -35px)
    }
}

@keyframes orbDrift3 {

    0%,
    100% {
        transform: translateY(0)
    }

    50% {
        transform: translateY(-38px)
    }
}

.deco-arc--a {
    opacity: 0.45
}

.deco-arc--b {
    opacity: 0.28
}

.deco-arc--c {
    opacity: 0.18
}

.deco-glow {
    opacity: 0.12
}

.deco-spark path {
    opacity: 0.7
}

.deco-dot {
    opacity: 0.5
}

.contact-info {
    position: relative;
    overflow: hidden;
    border-radius: 20px
}

.contact-info__deco {
    position: absolute;
    top: 0;
    right: 0;
    width: 340px;
    height: 340px;
    pointer-events: none;
    z-index: 0;
    color: #6366f1
}

body.light .contact-info__deco {
    color: #818cf8
}

.contact-form__deco {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 400px;
    height: 320px;
    pointer-events: none;
    z-index: 0;
    color: #6366f1
}

body.light .contact-form__deco {
    color: #818cf8
}

.contact-form-wrap {
    animation: contactGlow 6s ease-in-out infinite
}

@keyframes contactGlow {

    0%,
    100% {
        box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15), inset 0 0 30px rgba(99, 102, 241, 0.05), 0 0 0 1px rgba(99, 102, 241, 0.25)
    }

    33% {
        box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15), inset 0 0 30px rgba(167, 139, 250, 0.08), 0 0 0 1px rgba(167, 139, 250, 0.45), 0 0 28px rgba(167, 139, 250, 0.18)
    }

    66% {
        box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15), inset 0 0 30px rgba(59, 130, 246, 0.08), 0 0 0 1px rgba(59, 130, 246, 0.4), 0 0 28px rgba(59, 130, 246, 0.15)
    }
}

.contact-form__submit {
    position: relative;
    overflow: hidden
}

.contact-form__submit::after {
    content: "";
    position: absolute;
    top: 0;
    left: -80%;
    width: 55%;
    height: 100%;
    background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, 0.25) 50%, transparent 80%);
    transform: skewX(-18deg);
    transition: left 0.6s ease;
    pointer-events: none
}

.contact-form__submit:hover::after {
    left: 130%
}

.contact-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.65s ease, transform 0.65s ease
}

.contact-reveal.is-visible {
    opacity: 1;
    transform: translateY(0)
}

.contact-reveal:nth-child(1) {
    transition-delay: 0.05s
}

.contact-reveal:nth-child(2) {
    transition-delay: 0.18s
}

.contact-reveal:nth-child(3) {
    transition-delay: 0.3s
}

.contact-reveal:nth-child(4) {
    transition-delay: 0.42s
}

body.light .contact-section {
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    position: relative;
    z-index: 1
}

body.light .contact-section::before,
body.light .contact-section::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    z-index: -1;
    pointer-events: none
}

body.light .contact-section::before {
    top: 10%;
    right: 5%;
    width: 400px;
    height: 400px;
    background: rgba(139, 92, 246, 0.15)
}

body.light .contact-section::after {
    bottom: -10%;
    left: 10%;
    width: 300px;
    height: 300px;
    background: rgba(59, 130, 246, 0.15)
}

body.light .contact-dot-grid {
    background-image: radial-gradient(rgba(0, 0, 0, 0.05) 0.8px, transparent 0.8px)
}

body.light .contact-badge {
    background: rgba(0, 0, 0, 0.03);
    border-color: rgba(0, 0, 0, 0.1);
    color: #64748b
}

body.light .contact-heading {
    color: #0f172a
}

body.light .contact-desc {
    color: #64748b
}

body.light .contact-detail-label {
    color: #94a3b8
}

body.light .contact-detail-value {
    color: #0f172a
}

body.light .contact-form-wrap {
    background: rgba(255, 255, 255, 0.85);
    border-color: rgba(99, 102, 241, 0.15);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.05)
}

body.light .contact-form-wrap::before {
    opacity: 0.3
}

body.light .contact-form__input {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.08);
    color: #0f172a;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02)
}

body.light .contact-form__input:hover {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.12)
}

body.light .contact-form__input::placeholder {
    color: #94a3b8
}

body.light .contact-form__input:focus {
    background: #fff;
    border-color: rgba(99, 102, 241, 0.5);
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.15)
}

.site-footer {
    margin-top: auto;
    width: 100%;
    position: relative;
    background: var(--ph-bg-subtle, #0a0f1d);
    backdrop-filter: blur(20px);
    border-top: 1px solid var(--ph-border, rgba(56, 189, 248, 0.2));
    padding: 3.25rem 0 1.5rem;
    overflow: hidden;
    z-index: 10
}

.site-footer::before {
    content: "";
    position: absolute;
    top: -150px;
    left: 50%;
    transform: translateX(-50%);
    width: 1000px;
    height: 300px;
    background: radial-gradient(ellipse at bottom, rgba(168, 85, 247, 0.25) 0%, rgba(56, 189, 248, 0.15) 40%, transparent 70%);
    border-radius: 50%;
    filter: blur(60px);
    pointer-events: none;
    z-index: -1;
    animation: pulseFooter 6s ease-in-out infinite alternate
}

@keyframes pulseFooter {
    0% {
        opacity: 0.6;
        transform: translateX(-50%) scale(0.9)
    }

    100% {
        opacity: 1;
        transform: translateX(-50%) scale(1.1)
    }
}

.footer-main {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 3rem;
    padding-bottom: 2rem;
    position: relative;
    z-index: 2
}

.footer-main .footer-brand {
    flex-shrink: 0;
    width: 220px;
    max-width: 220px
}

.footer-nav-section {
    flex: 1;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    padding-left: 2.5rem
}

@media (min-width:768px) {
    .footer-nav-section {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (min-width:1024px) {
    .footer-nav-section {
        grid-template-columns: repeat(6, 1fr)
    }
}

@media (max-width:767px) {
    .footer-main {
        flex-direction: column;
        gap: 2rem
    }

    .footer-main .footer-brand {
        width: 100%;
        max-width: 100%
    }

    .footer-nav-section {
        border-left: none;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        padding-left: 0;
        padding-top: 1.5rem;
        width: 100%
    }
}

.footer-nav-col {
    padding: 0.5rem 1rem 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05)
}

@media (min-width:1024px) {
    .footer-nav-col {
        border-bottom: none;
        border-right: 1px solid rgba(255, 255, 255, 0.06);
        padding: 0 1.5rem 0
    }

    .footer-nav-col:first-child {
        padding-left: 0
    }

    .footer-nav-col:last-child {
        border-right: none
    }
}

.footer-nav-toggle {
    background: none;
    border: none;
    color: #e2e8f0;
    font-family: "Lexend Deca", sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    padding: 0.75rem 0;
    width: 100%;
    text-align: left;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    transition: color 0.2s
}

.footer-nav-toggle:hover {
    color: #fff
}

@media (min-width:1024px) {
    .footer-nav-toggle {
        cursor: default;
        pointer-events: none;
        padding-bottom: 0.9rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        margin-bottom: 1rem
    }

    .footer-nav-toggle--link {
        cursor: pointer;
        pointer-events: auto;
        text-decoration: none;
        color: #e2e8f0
    }

    .footer-nav-toggle--link:hover {
        color: #fff
    }
}

.footer-nav-chevron {
    flex-shrink: 0;
    transition: transform 0.25s ease;
    opacity: 0.6
}

@media (min-width:1024px) {
    .footer-nav-chevron {
        display: none
    }
}

.footer-nav-col.is-open .footer-nav-chevron {
    transform: rotate(180deg)
}

.footer-nav-items {
    display: none;
    flex-direction: column;
    gap: 0.75rem;
    overflow: hidden
}

@media (min-width:1024px) {
    .footer-nav-items {
        display: flex !important
    }
}

.footer-nav-col.is-open .footer-nav-items {
    display: flex
}

.footer-nav-cat {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #f28c28;
    margin: 1.2rem 0 0.4rem
}

.footer-nav-cat:first-child {
    margin-top: 0.5rem
}

.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    padding-bottom: 3rem;
    position: relative;
    z-index: 2
}

@media (min-width:768px) {
    .footer-inner {
        grid-template-columns: 2fr 1fr 1fr 1fr;
        gap: 2rem
    }
}

.footer-brand {
    max-width: 380px
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    margin-bottom: 1rem
}

.footer-logo__text {
    font-family: "Lexend Deca", sans-serif;
    font-size: 1.6rem;
    font-weight: 800;
    background: linear-gradient(90deg, #38bdf8, #a855f7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: -0.5px
}

.footer-tagline {
    font-size: 0.95rem;
    color: #cbd5e1;
    line-height: 1.6;
    margin-bottom: 1.8rem
}

.footer-socials {
    display: flex;
    gap: 1rem
}

.footer-social {
    width: 45px;
    height: 45px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3)
}

.footer-social svg {
    width: 20px;
    height: 20px;
    transition: all 0.3s ease
}

.footer-social:hover {
    transform: translateY(-5px) scale(1.05);
    border-color: rgba(255, 255, 255, 0.3)
}

.footer-social:hover svg {
    color: #fff
}

.footer-social--github:hover {
    background: rgba(51, 51, 51, 0.8);
    box-shadow: 0 10px 20px rgba(51, 51, 51, 0.5)
}

.footer-social--linkedin:hover {
    background: rgba(0, 119, 181, 0.8);
    box-shadow: 0 10px 20px rgba(0, 119, 181, 0.5)
}

.footer-social--whatsapp:hover {
    background: rgba(37, 211, 102, 0.8);
    box-shadow: 0 10px 20px rgba(37, 211, 102, 0.5)
}

.footer-social--instagram:hover {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    box-shadow: 0 10px 20px rgba(220, 39, 67, 0.4)
}

.footer-links-col {
    display: flex;
    flex-direction: column;
    gap: 0.8rem
}

.footer-links__title {
    font-size: 0.9rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
    position: relative;
    display: inline-block
}

.footer-links__title::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 24px;
    height: 2px;
    background: #38bdf8;
    border-radius: 2px
}

.footer-link {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #94a3b8;
    text-decoration: none;
    transition: all 0.3s ease;
    position: relative;
    width: fit-content
}

.footer-link::before {
    content: "\203A";
    position: absolute;
    left: -15px;
    opacity: 0;
    color: #38bdf8;
    transition: all 0.3s ease;
    transform: translateX(-5px)
}

.footer-link:hover {
    color: #fff;
    transform: translateX(15px);
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3)
}

.footer-link:hover::before {
    opacity: 1;
    transform: translateX(0)
}

.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding: 2rem 0 0;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    position: relative;
    z-index: 2
}

.footer-copy {
    font-size: 0.85rem;
    color: #64748b
}

.footer-credit {
    font-size: 0.85rem;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 5px
}

.footer-credit span {
    color: #ec4899;
    font-size: 1.1rem;
    animation: heartBeat 1.5s infinite
}

@keyframes heartBeat {

    0%,
    100% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.3)
    }
}

body.light .site-footer {
    background: var(--ph-bg-subtle, #f1f5f9) !important;
    border-top: 1px solid var(--ph-border, rgba(0, 0, 0, 0.08)) !important
}

body.light .site-footer::before {
    background: radial-gradient(ellipse at bottom, rgba(168, 85, 247, 0.15) 0%, rgba(56, 189, 248, 0.1) 40%, transparent 70%)
}

body.light .footer-links__title {
    color: #1e293b
}

body.light .footer-link {
    color: #475569
}

body.light .footer-link:hover {
    color: #0f172a
}

body.light .footer-tagline {
    color: #475569
}

body.light .footer-copy,
body.light .footer-credit {
    color: #94a3b8
}

body.light .footer-social {
    background: #fff;
    border-color: rgba(0, 0, 0, 0.1);
    color: #64748b;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05)
}

body.light .footer-logo__text {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

body.light .footer-tagline {
    color: #64748b;
    font-weight: 500
}

body.light .footer-social {
    border-color: rgba(99, 102, 241, 0.15);
    background: #f8fafc;
    color: #64748b
}

.bg-logo-watermark {
    position: fixed;
    top: calc(50%+45px);
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9;
    pointer-events: none;
    opacity: 0.08;
    width: 400px;
    height: auto;
    user-select: none;
    will-change: transform;
    filter: grayscale(20%) blur(0.5px)
}

.bg-logo-watermark img {
    width: 100%;
    height: auto;
    display: block
}

body.light .bg-logo-watermark {
    opacity: 0.06;
    filter: grayscale(30%) blur(0.5px)
}

@media (max-width:991.98px) {
    .bg-logo-watermark {
        width: 260px
    }
}

@media (max-width:575.98px) {
    .bg-logo-watermark {
        width: 180px
    }
}

body.light .footer-social:hover {
    box-shadow: 0 8px 20px rgba(99, 102, 241, 0.15)
}

body.light .footer-social--github:hover {
    background: #181717;
    color: #fff;
    border-color: #181717
}

body.light .footer-social--linkedin:hover {
    background: #0077b5;
    color: #fff;
    border-color: #0077b5
}

body.light .footer-social--whatsapp:hover {
    background: #25d366;
    color: #fff;
    border-color: #25d366
}

body.light .footer-social--instagram:hover {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    color: #fff;
    border-color: transparent
}

body.light .footer-links__title {
    color: #1e293b
}

body.light .footer-link {
    color: #64748b;
    font-weight: 500
}

body.light .footer-link:hover {
    color: var(--blue-600)
}

body.light .footer-bottom {
    border-top-color: rgba(99, 102, 241, 0.1)
}

body.light .footer-copy,
body.light .footer-credit {
    color: #94a3b8;
    font-weight: 500
}

body.light .footer-nav-section {
    border-left-color: rgba(0, 0, 0, 0.1)
}

@media (max-width:767px) {
    body.light .footer-nav-section {
        border-top-color: rgba(0, 0, 0, 0.1)
    }
}

body.light .footer-nav-col {
    border-bottom-color: rgba(0, 0, 0, 0.06)
}

body.light .footer-nav-col:last-child {
    border-right-color: rgba(0, 0, 0, 0.06)
}

body.light .footer-nav-toggle {
    color: #1e293b
}

body.light .footer-nav-toggle:hover {
    color: #0f172a
}

body.light .footer-nav-cat {
    color: #e07c18
}

.footer-cols {
    margin-left: auto;
    display: flex;
    gap: 4rem;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: flex-end
}

.footer-col {
    flex: 1;
    min-width: 240px
}

.footer-col-title {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #e2e8f0;
    margin: 0 0 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1)
}

body.light .footer-col-title {
    color: #1e293b;
    border-bottom-color: rgba(0, 0, 0, 0.1)
}

.fql-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column
}

.fql-list--contact {
    gap: 0.6rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08)
}

body.light .fql-list--contact {
    border-bottom-color: rgba(0, 0, 0, 0.08)
}

.fql-list--legal {
    gap: 0.4rem
}

.fql-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05)
}

body.light .fql-item {
    border-bottom-color: rgba(0, 0, 0, 0.05)
}

.fql-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    background: none;
    border: none;
    padding: 0.62rem 0;
    font-family: "Lexend Deca", sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
    color: #cbd5e1;
    text-decoration: none;
    cursor: pointer;
    text-align: left;
    transition: color 0.2s
}

.fql-btn:hover {
    color: #fff
}

body.light .fql-btn {
    color: #334155
}

body.light .fql-btn:hover {
    color: #0f172a
}

.fql-chevron {
    flex-shrink: 0;
    opacity: 0.5;
    transition: transform 0.25s ease
}

.fql-item.is-open .fql-chevron {
    transform: rotate(180deg)
}

.fql-sub {
    list-style: none;
    margin: 0;
    padding: 0 0 0.5rem 0.75rem;
    display: none;
    flex-direction: column;
    gap: 0.45rem
}

.fql-item.is-open .fql-sub {
    display: flex
}

.footer-link--muted {
    color: #64748b !important;
    font-size: 0.8rem
}

body.light .footer-link--muted {
    color: #94a3b8 !important
}

@media (max-width:767px) {
    .footer-cols {
        flex-direction: column;
        gap: 2rem;
        margin-left: 0;
        width: 100%;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        padding-top: 1.5rem
    }

    body.light .footer-cols {
        border-top-color: rgba(0, 0, 0, 0.08)
    }
}

@media (min-width:1280px) {
    .achievements-block {
        padding: 3.5rem 3rem
    }
}

@media (max-width:576px) {
    .hero-trust-bar {
        gap: 10px;
        padding: 12px 14px;
        margin-top: 24px;
        justify-content: center
    }

    .hero-trust-divider {
        height: 28px
    }

    .hero-trust-value {
        font-size: 17px
    }

    .hero-trust-label {
        font-size: 11px
    }

    .hero-trust-item {
        padding: 8px 12px
    }
}

@media (max-width:400px) {
    .hero-trust-bar {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 8px;
        padding: 10px 10px
    }

    .hero-trust-divider {
        display: none
    }

    .hero-trust-item {
        padding: 8px 6px;
        align-items: center
    }

    .hero-trust-value {
        font-size: 15px
    }

    .hero-trust-label {
        font-size: 10px;
        white-space: normal;
        text-align: center
    }

    .hero-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px
    }

    .about-stat-card {
        padding: 14px 10px
    }

    .about-stat-card__value {
        font-size: 22px
    }

    .audience-card {
        padding: 18px 14px
    }

    .audience-card__btn {
        width: 100%
    }

    .marquee-tag {
        font-size: 0.75rem;
        padding: 0.3rem 0.8rem
    }
}

@media (max-width:767px) {
    #about {
        padding: 4rem 1rem;
        gap: 3rem
    }

    .about-header {
        max-width: 100%;
        margin-bottom: 16px
    }

    .about-title {
        font-size: clamp(1.8rem, 6vw, 2.4rem)
    }

    .about-audience-grid {
        grid-template-columns: 1fr
    }

    .about-bottom-grid {
        grid-template-columns: 1fr;
        grid-template-areas: "img" "card" "stats"
    }

    .about-bottom-img {
        height: 200px
    }

    .audience-card {
        padding: 22px 18px
    }

    .about-bottom-grid .breakout-card {
        padding: 22px 18px
    }

    .achievements-block {
        padding: 2rem 1.25rem
    }

    .achievements-stats {
        justify-content: center
    }

    #projects {
        width: 100%;
        padding: 3rem 1rem;
        gap: 2rem
    }

    .projects-title {
        font-size: clamp(1.6rem, 6vw, 2rem)
    }

    .projects-grid {
        gap: 2.5rem;
        padding: 0
    }

    .laptop-mockup {
        max-width: 95%;
        margin: 20px auto 16px auto
    }

    .laptop-screen {
        padding: 16px 16px 12px 16px;
        border-radius: 12px 12px 0 0
    }

    .laptop-camera {
        top: 6px;
        width: 4px;
        height: 4px
    }

    .project-card__img-wrap {
        height: 180px
    }

    .project-card__body {
        padding: 1.1rem;
        gap: 0.6rem
    }

    .project-card__title {
        font-size: 1rem
    }

    .project-card__desc {
        font-size: 0.82rem
    }

    .companies-block {
        padding: 0.5rem 0
    }

    .companies-row {
        gap: 0.5rem
    }

    .contact-section {
        padding: 3rem 1rem
    }

    .contact-inner {
        gap: 2rem
    }

    .contact-badge {
        margin-bottom: 0.75rem;
        font-size: 0.75rem
    }

    .contact-heading {
        font-size: clamp(1.6rem, 6vw, 2rem);
        margin-bottom: 0.75rem
    }

    .contact-desc {
        font-size: 0.875rem;
        margin-bottom: 1.25rem
    }

    .contact-details {
        gap: 0.9rem
    }

    .contact-detail-icon {
        width: 34px;
        height: 34px;
        border-radius: 8px
    }

    .contact-detail-icon svg {
        width: 15px;
        height: 15px
    }

    .contact-detail-label {
        font-size: 0.68rem
    }

    .contact-detail-value {
        font-size: 0.82rem
    }

    .contact-form-wrap {
        padding: 1.25rem
    }

    .contact-form__row {
        grid-template-columns: 1fr
    }

    .contact-form__input {
        font-size: 0.85rem;
        padding: 9px 12px
    }

    .contact-form__submit {
        font-size: 0.875rem;
        padding: 11px
    }

    .footer-inner {
        text-align: center
    }

    .footer-brand {
        margin: 0 auto;
        display: flex;
        flex-direction: column;
        align-items: center
    }

    .footer-logo {
        justify-content: center
    }

    .footer-socials {
        justify-content: center
    }

    .footer-links-col {
        align-items: center
    }

    .footer-links__title::after {
        left: 50%;
        transform: translateX(-50%)
    }

    .footer-link {
        width: auto
    }

    .footer-link:hover {
        transform: translateY(-2px)
    }

    .footer-link::before {
        display: none
    }

    .footer-bottom {
        flex-direction: column;
        justify-content: center;
        gap: 1rem;
        text-align: center
    }
}

@media (max-width:400px) {
    #projects {
        width: 100%;
        padding: 2.5rem 0.75rem
    }

    .contact-section {
        padding: 2.5rem 0.75rem
    }

    .project-card__img-wrap {
        height: 160px
    }

    .project-card__body {
        padding: 0.9rem
    }
}

@media (min-width:768px) and (max-width:1023px) {
    #projects {
        width: 714px;
        padding: 4rem 1.5rem;
        gap: 2.5rem
    }

    .projects-title {
        font-size: clamp(1.8rem, 4vw, 2.6rem)
    }

    .projects-grid {
        gap: 1.25rem
    }

    .project-card__img-wrap {
        height: 200px
    }

    .project-card__body {
        padding: 1.25rem
    }

    .contact-section {
        padding: 4rem 1.5rem
    }

    .contact-inner {
        grid-template-columns: 1fr;
        gap: 2.5rem
    }

    .contact-heading {
        font-size: clamp(1.8rem, 4vw, 2.4rem)
    }

    .contact-form-wrap {
        padding: 1.75rem
    }

    .about-bottom-grid {
        grid-template-columns: 1fr;
        grid-template-areas: "img" "card" "stats"
    }

    .about-bottom-img {
        height: 240px
    }

    .achievements-block {
        padding: 2.5rem 2rem
    }

    .achievements-stats {
        gap: 1.25rem
    }

    .hero-section {
        padding-block: 140px 60px
    }

    .hero-text {
        padding-inline: 0
    }
}

@media (min-width:1024px) and (max-width:1180px) {
    .hero-section {
        padding-block: 160px 80px
    }

    .contact-inner {
        gap: 2.5rem
    }

    #projects {
        padding-inline: 2rem
    }
}

@media (min-width:1181px) and (max-width:1279px) {
    .main-body {
        overflow-x: hidden
    }

    .hero-section {
        padding-block: 180px 90px
    }

    #about,
    #projects,
    #pricing {
        padding-inline: 1.5rem
    }

    .about-bottom-grid {
        grid-template-columns: 1fr;
        grid-template-areas: "img" "card" "stats"
    }

    .about-bottom-img {
        height: 240px
    }
}

.projects-breadcrumb {
    max-width: 1440px;
    margin: 0 auto 1.5rem auto
}

@media (max-width:768px) {
    .projects-breadcrumb {
        margin-top: 1rem !important;
        margin-bottom: 1.5rem !important
    }
}

.projects-breadcrumb ol {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    list-style: none;
    padding: 8px 20px;
    margin: 0;
    font-size: 0.85rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 100px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow-x: auto;
    max-width: 100%;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.projects-breadcrumb ol::-webkit-scrollbar {
    display: none
}

.projects-breadcrumb ol::after {
    content: "";
    padding-right: 20px
}

.projects-breadcrumb ol li {
    display: inline-flex;
    align-items: center
}

.projects-breadcrumb ol li+li::before {
    content: "\203A";
    margin-right: 10px;
    color: rgba(255, 255, 255, 0.3);
    font-size: 1.1rem;
    font-weight: 300
}

.projects-breadcrumb a {
    color: #94a3b8;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease
}

.projects-breadcrumb a:hover {
    color: #fff;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3)
}

.projects-breadcrumb li[aria-current="page"] {
    font-weight: 600;
    background: linear-gradient(90deg, #6366f1, #a855f7);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

body.light .projects-breadcrumb ol {
    background: rgba(255, 255, 255, 0.7);
    border-color: rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02)
}

body.light .projects-breadcrumb a {
    color: #64748b
}

body.light .projects-breadcrumb a:hover {
    color: #0f172a;
    text-shadow: none
}

body.light .projects-breadcrumb ol li+li::before {
    color: #cbd5e1
}

body.light .projects-breadcrumb li[aria-current="page"] {
    background: linear-gradient(90deg, #0242cd, #096dfc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.call-cta-wrap {
    position: relative
}

.btn-cta {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: var(--radius-pill);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
    white-space: nowrap;
    text-decoration: none;
    transition: background 200ms, transform 200ms, color 200ms, border-color 200ms;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
    color: var(--text-bright);
    border: 1px solid var(--border-glass)
}

.btn-cta:hover {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.08));
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-1px)
}

.btn-cta__icon {
    flex-shrink: 0;
    fill: #ffffff
}

body.light .btn-cta {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    color: #ffffff;
    border-color: transparent
}

body.light .btn-cta:hover {
    background: linear-gradient(135deg, #011560, #0242cd);
    transform: translateY(-1px)
}

.btn-cta--mobile {
    display: inline-block;
    width: 100%;
    text-align: center;
    margin-top: 12px;
    padding: 10px 18px;
    border-radius: var(--radius-pill);
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
    color: var(--text-bright);
    border: 1px solid var(--border-glass)
}

body.light .btn-cta--mobile {
    background: linear-gradient(135deg, #0242cd, #096dfc);
    color: #ffffff
}

.call-dropdown {
    display: none;
    position: absolute;
    top: calc(100%+12px);
    right: 0;
    min-width: 260px;
    border-radius: 18px;
    padding: 14px 10px;
    z-index: 1001;
    animation: dropdownIn 0.2s ease;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12)
}

body:not(.light) .call-dropdown {
    background: rgba(18, 18, 24, 0.95);
    border-color: var(--border-glass);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px)
}

.call-dropdown.open {
    display: block
}

@keyframes dropdownIn {
    from {
        opacity: 0;
        transform: translateY(-8px) scale(0.97)
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1)
    }
}

.call-dropdown__label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 0 10px 10px;
    margin: 0 0 6px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    color: #94a3b8;
    display: block
}

body:not(.light) .call-dropdown__label {
    color: var(--text-muted);
    border-bottom-color: var(--border-glass)
}

.call-dropdown__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border-radius: 12px;
    text-decoration: none;
    transition: background 0.15s;
    color: #0f172a
}

body:not(.light) .call-dropdown__item {
    color: var(--text-bright)
}

.call-dropdown__item:hover {
    background: rgba(79, 142, 247, 0.08);
    text-decoration: none;
    color: inherit
}

body:not(.light) .call-dropdown__item:hover {
    background: rgba(79, 142, 247, 0.15)
}

.call-dropdown__icon {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    flex-shrink: 0
}

.call-dropdown__item:nth-child(2) .call-dropdown__icon {
    background: rgba(79, 142, 247, 0.1)
}

.call-dropdown__item:nth-child(3) .call-dropdown__icon {
    background: rgba(37, 211, 102, 0.1)
}

.call-dropdown__item:nth-child(4) .call-dropdown__icon {
    background: rgba(234, 88, 12, 0.08)
}

body:not(.light) .call-dropdown__item:nth-child(2) .call-dropdown__icon {
    background: rgba(79, 142, 247, 0.2)
}

body:not(.light) .call-dropdown__item:nth-child(3) .call-dropdown__icon {
    background: rgba(37, 211, 102, 0.2)
}

body:not(.light) .call-dropdown__item:nth-child(4) .call-dropdown__icon {
    background: rgba(234, 88, 12, 0.18)
}

.call-dropdown__text {
    display: flex;
    flex-direction: column;
    gap: 3px
}

.call-dropdown__text strong {
    font-size: 14px;
    font-weight: 600;
    line-height: 1
}

.call-dropdown__text small {
    font-size: 12px;
    line-height: 1;
    color: #64748b
}

body:not(.light) .call-dropdown__text small {
    color: var(--text-muted)
}

.call-backdrop.active {
    display: block
}

.mobile-contact-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 0 4px
}

.mobile-contact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 13px 20px;
    border-radius: var(--radius-pill);
    font-family: inherit;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    border: 1px solid transparent;
    letter-spacing: 0.01em;
    transition: transform 0.15s, opacity 0.2s, box-shadow 0.2s
}

.mobile-contact-btn:hover {
    opacity: 0.88;
    transform: translateY(-1px);
    text-decoration: none
}

.mobile-contact-btn--call {
    background: linear-gradient(135deg, var(--blue-500), var(--purple));
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 20px rgba(99, 102, 241, 0.3)
}

.mobile-contact-btn--call:hover {
    box-shadow: 0 6px 28px rgba(99, 102, 241, 0.5)
}

.mobile-contact-btn--whatsapp {
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-body);
    border-color: var(--border-glass)
}

.mobile-contact-btn--whatsapp:hover {
    background: rgba(37, 211, 102, 0.08);
    border-color: rgba(37, 211, 102, 0.3);
    color: #4ade80;
    opacity: 1
}

body.light .mobile-contact-btn--whatsapp {
    background: rgba(0, 0, 0, 0.04);
    color: #374151;
    border-color: rgba(0, 0, 0, 0.12)
}

body.light .mobile-contact-btn--whatsapp:hover {
    background: rgba(37, 211, 102, 0.1);
    border-color: rgba(37, 211, 102, 0.35);
    color: #15803d
}

.about-ai-animation {
    width: 100%;
    height: 350px;
    background: radial-gradient(circle at center, #1e1b4b 0%, #020617 100%);
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 0 50px rgba(99, 102, 241, 0.1), 0 20px 40px rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(99, 102, 241, 0.2)
}

body.light .about-ai-animation {
    background: radial-gradient(circle at center, #e0e7ff 0%, #f8fafc 100%);
    box-shadow: inset 0 0 50px rgba(99, 102, 241, 0.1), 0 20px 40px rgba(0, 0, 0, 0.05);
    border-color: rgba(99, 102, 241, 0.3)
}

.ai-pulse-bg {
    position: absolute;
    width: 200%;
    height: 200%;
    background: repeating-radial-gradient(circle, rgba(99, 102, 241, 0.05) 0, rgba(99, 102, 241, 0.05) 1px, transparent 1px, transparent 20px);
    animation: pulseBg 10s linear infinite;
    opacity: 0.5
}

@keyframes pulseBg {
    0% {
        transform: scale(1);
        opacity: 0.5
    }

    50% {
        transform: scale(1.1);
        opacity: 0.8
    }

    100% {
        transform: scale(1);
        opacity: 0.5
    }
}

.ai-core {
    position: absolute;
    width: 70px;
    height: 70px;
    background: rgba(99, 102, 241, 0.2);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 30px rgba(99, 102, 241, 0.5);
    animation: corePulse 2s ease-in-out infinite alternate;
    z-index: 10
}

.ai-core-inner {
    width: 40px;
    height: 40px;
    background: var(--blue-500);
    border-radius: 50%;
    box-shadow: 0 0 20px var(--blue-400), 0 0 40px var(--blue-300);
    color: #fff;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px
}

@keyframes corePulse {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 20px rgba(99, 102, 241, 0.3)
    }

    100% {
        transform: scale(1.05);
        box-shadow: 0 0 50px rgba(99, 102, 241, 0.8)
    }
}

.ai-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px dashed rgba(99, 102, 241, 0.3);
    animation: spinRing linear infinite;
    z-index: 5
}

body.light .ai-ring {
    border-color: rgba(99, 102, 241, 0.6)
}

.ai-ring-1 {
    width: 140px;
    height: 140px;
    animation-duration: 10s
}

.ai-ring-2 {
    width: 220px;
    height: 220px;
    animation-duration: 15s;
    animation-direction: reverse
}

.ai-ring-3 {
    width: 300px;
    height: 300px;
    animation-duration: 25s
}

.ai-node {
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 10px;
    height: 10px;
    background: var(--blue-300);
    border-radius: 50%;
    box-shadow: 0 0 10px var(--blue-400)
}

.node-alt {
    top: auto;
    bottom: -5px;
    background: #38bdf8;
    box-shadow: 0 0 10px #0ea5e9
}

@keyframes spinRing {
    from {
        transform: rotate(0deg)
    }

    to {
        transform: rotate(360deg)
    }
}

.real-robot-container {
    position: relative;
    width: 100%;
    max-width: 550px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    perspective: 1500px
}

.robot-aura {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    height: 90%;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.4) 0%, rgba(168, 85, 247, 0.2) 50%, transparent 70%);
    border-radius: 50%;
    filter: blur(50px);
    animation: pulseAura 4s ease-in-out infinite alternate;
    z-index: 1
}

.robot-spin-border {
    position: relative;
    width: 100%;
    padding: 4px;
    border-radius: 24px;
    background: linear-gradient(0deg, #38bdf8, #a855f7, #ec4899);
    background-size: 400% 400%;
    animation: floatRobot 6s ease-in-out infinite, spinGradient 8s linear infinite;
    z-index: 5;
    transform-style: preserve-3d;
    transition: transform 0.2s ease-out;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6), 0 0 40px rgba(168, 85, 247, 0.4)
}

.robot-video-wrapper {
    position: relative;
    width: 100%;
    border-radius: 20px;
    overflow: hidden;
    background: #000
}

.lottie-wrapper {
    background: linear-gradient(135deg, #0f0c29, #1a1a2e, #16213e) !important;
    height: 400px !important;
    display: flex;
    align-items: center;
    justify-content: center
}

body.light .lottie-wrapper {
    background: linear-gradient(135deg, #f0f4ff, #e8ecff, #f5f0ff) !important
}

.robot-live-video {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    filter: contrast(1.1) brightness(1.1);
    mix-blend-mode: lighten
}

.robot-holo-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(56, 189, 248, 0.15) 0%, transparent 50%, rgba(168, 85, 247, 0.15) 100%);
    pointer-events: none;
    mix-blend-mode: overlay;
    z-index: 10
}

.robot-holo-overlay::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(255, 255, 255, 0.05) 2px, rgba(255, 255, 255, 0.05) 4px);
    pointer-events: none
}

.robot-glitch-line {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0 0 10px #38bdf8, 0 0 20px #fff;
    opacity: 0.7;
    animation: scanGlitch 3s linear infinite;
    z-index: 11;
    pointer-events: none
}

.code-panel {
    position: absolute;
    background: rgba(10, 15, 25, 0.9);
    border: 1px solid rgba(56, 189, 248, 0.3);
    border-radius: 8px;
    padding: 0;
    width: 170px;
    backdrop-filter: blur(8px);
    z-index: 15;
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.8), inset 0 0 10px rgba(56, 189, 248, 0.1);
    overflow: hidden
}

.code-header {
    background: rgba(255, 255, 255, 0.05);
    padding: 4px 8px;
    font-family: "Courier New", monospace;
    font-size: 0.55rem;
    color: #94a3b8;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    gap: 5px
}

.dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block
}

.dot.red {
    background: #ef4444
}

.dot.yellow {
    background: #f59e0b
}

.dot.green {
    background: #10b981
}

.code-body {
    padding: 8px;
    font-family: "Consolas", "Courier New", monospace;
    font-size: 0.6rem;
    line-height: 1.3;
    color: #e2e8f0;
    text-align: left
}

.code-line.keyword {
    color: #c678dd
}

.code-line.function {
    color: #61afef
}

.code-line.string {
    color: #98c379
}

.code-line.text {
    color: #abb2bf
}

.term-body {
    color: #34d399
}

.term-line {
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden
}

.term-line.success {
    color: #38bdf8
}

.term-line.warning {
    color: #facc15
}

.code-cursor {
    animation: blinkFast 1s infinite;
    color: #fff;
    font-weight: bold
}

.screen-left.code-panel {
    top: -5%;
    left: -5%;
    animation: floatScreenLeft 5s ease-in-out infinite;
    border-left: 2px solid #38bdf8;
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.6), inset 0 0 10px rgba(56, 189, 248, 0.2)
}

.screen-right.code-panel {
    bottom: -5%;
    right: -5%;
    animation: floatScreenRight 6s ease-in-out infinite;
    border-right: 2px solid #a855f7;
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.6), inset 0 0 10px rgba(168, 85, 247, 0.2)
}

@keyframes spinGradient {
    0% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }

    100% {
        background-position: 0% 50%
    }
}

@keyframes scanGlitch {
    0% {
        top: -10%;
        opacity: 0
    }

    10% {
        opacity: 0.8
    }

    50% {
        top: 50%;
        height: 5px;
        opacity: 1
    }

    90% {
        opacity: 0.8
    }

    100% {
        top: 110%;
        opacity: 0;
        height: 2px
    }
}

@keyframes pulseAura {
    0% {
        transform: translate(-50%, -50%) scale(0.8);
        opacity: 0.5;
        filter: hue-rotate(0deg)
    }

    100% {
        transform: translate(-50%, -50%) scale(1.1);
        opacity: 0.9;
        filter: hue-rotate(30deg)
    }
}

@keyframes floatRobot {

    0%,
    100% {
        transform: translateY(0) rotateX(0deg)
    }

    50% {
        transform: translateY(-15px) rotateX(5deg)
    }
}

.brain-base-glow {
    position: absolute;
    bottom: 19%;
    left: 50%;
    width: 1px;
    height: 1px;
    pointer-events: none;
    z-index: 3
}

.bbg-ring {
    position: absolute;
    border-radius: 50%;
    transform: translate(-50%, -50%)
}

.bbg-ring--1 {
    width: 280px;
    height: 52px;
    background: radial-gradient(ellipse at center, rgba(99, 102, 241, 0.55) 0%, rgba(59, 130, 246, 0.22) 50%, transparent 75%);
    filter: blur(14px);
    animation: bbgPulse 3s ease-in-out infinite
}

.bbg-ring--2 {
    width: 170px;
    height: 36px;
    background: radial-gradient(ellipse at center, rgba(129, 140, 248, 0.75) 0%, rgba(99, 102, 241, 0.32) 55%, transparent 80%);
    filter: blur(7px);
    animation: bbgPulse 2.5s ease-in-out infinite 0.5s
}

.bbg-core {
    position: absolute;
    width: 72px;
    height: 20px;
    border-radius: 50%;
    background: radial-gradient(ellipse at center, rgba(220, 225, 255, 0.98) 0%, rgba(129, 140, 248, 0.85) 40%, transparent 75%);
    filter: blur(3px);
    transform: translate(-50%, -50%);
    animation: bbgPulse 2s ease-in-out infinite 0.25s
}

@keyframes bbgPulse {

    0%,
    100% {
        opacity: 0.5;
        transform: translate(-50%, -50%) scale(1)
    }

    50% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.2)
    }
}

@keyframes floatScreenLeft {

    0%,
    100% {
        transform: translateY(0) rotate(-2deg)
    }

    50% {
        transform: translateY(-12px) rotate(2deg)
    }
}

@keyframes floatScreenRight {

    0%,
    100% {
        transform: translateY(0) rotate(2deg)
    }

    50% {
        transform: translateY(-15px) rotate(-2deg)
    }
}

@keyframes blinkFast {

    0%,
    100% {
        opacity: 1
    }

    50% {
        opacity: 0.3
    }
}

.btn-glass-wave {
    position: relative;
    overflow: hidden;
    background: rgba(147, 51, 234, 0.25) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(147, 51, 234, 0.5) !important;
    color: #fff !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    z-index: 1;
    transition: all 0.3s ease;
    animation: btnPulseZoom 2s infinite ease-in-out
}

@keyframes btnPulseZoom {
    0% {
        transform: scale(1)
    }

    50% {
        transform: scale(1.05)
    }

    100% {
        transform: scale(1)
    }
}

body.light .btn-glass-wave {
    background: linear-gradient(135deg, #0242cd, #096dfc) !important;
    border: 1px solid transparent !important;
    color: #ffffff !important;
    font-weight: 600;
    box-shadow: 0 4px 18px rgba(2, 66, 205, 0.35)
}

body.light .btn-glass-wave svg,
body.light .btn-glass-wave svg path {
    fill: #ffffff !important;
    stroke: #ffffff !important
}

body.light .btn-glass-wave:hover {
    background: linear-gradient(135deg, #011560, #0242cd) !important;
    box-shadow: 0 6px 24px rgba(2, 66, 205, 0.5)
}

.btn-glass-wave:hover {
    background: rgba(147, 51, 234, 0.35) !important;
    box-shadow: 0 6px 20px rgba(147, 51, 234, 0.3);
    transform: translateY(-2px)
}

.btn-glass-wave::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
    transform: skewX(-25deg);
    animation: waveSweep 2.5s infinite linear;
    z-index: -1
}

@keyframes waveSweep {
    0% {
        left: -100%
    }

    100% {
        left: 200%
    }
}

.faq-section {
    padding: 8rem 2rem;
    position: relative;
    z-index: 10;
    max-width: 900px;
    margin: 0 auto
}

.faq-section::before,
.faq-section::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    filter: blur(100px);
    z-index: -1;
    pointer-events: none;
    opacity: 0.4
}

.faq-section::before {
    width: 300px;
    height: 300px;
    background: #6366f1;
    top: 10%;
    left: -150px
}

.faq-section::after {
    width: 250px;
    height: 250px;
    background: #a855f7;
    bottom: 10%;
    right: -100px
}

.faq-header {
    text-align: center;
    margin-bottom: 4rem
}

.faq-title {
    font-size: 3rem;
    font-weight: 800;
    margin-bottom: 1rem;
    background: linear-gradient(to right, #fff 0%, #cbd5e1 50%, #818cf8 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: -1px
}

.faq-desc {
    color: #94a3b8;
    font-size: 1.15rem;
    max-width: 550px;
    margin: 0 auto;
    line-height: 1.6
}

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

.faq-item {
    background: rgba(15, 23, 42, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    backdrop-filter: blur(12px);
    position: relative
}

.faq-item::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: linear-gradient(to bottom, #6366f1, #a855f7);
    opacity: 0;
    transition: opacity 0.4s ease
}

.faq-item.active {
    border-color: rgba(99, 102, 241, 0.6);
    background: rgba(15, 23, 42, 0.8);
    box-shadow: 0 20px 50px -20px rgba(99, 102, 241, 0.3)
}

.faq-item.active::before {
    opacity: 1
}

.faq-question {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.2rem 1.5rem;
    background: transparent;
    border: none;
    color: #f1f5f9;
    font-size: 1.15rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: color 0.3s ease
}

.faq-item.active .faq-question {
    color: #a5b4fc
}

.faq-icon-wrapper {
    flex-shrink: 0;
    margin-left: 1.5rem;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid rgba(255, 255, 255, 0.05)
}

.faq-item.active .faq-icon-wrapper {
    background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);
    border-color: transparent;
    transform: rotate(180deg)
}

.faq-icon {
    color: #94a3b8;
    transition: color 0.4s ease
}

.faq-item.active .faq-icon {
    color: #fff
}

.faq-answer {
    max-height: 0;
    transition: max-height 0.4s ease;
    overflow: hidden
}

.faq-item.active .faq-answer {
    max-height: 1000px !important
}

.faq-answer-inner {
    min-height: 0;
    overflow: hidden;
    padding: 0 2rem;
    color: #94a3b8;
    line-height: 1.7;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.4s ease, transform 0.4s ease, padding 0.4s ease
}

.faq-item.active .faq-answer-inner {
    padding: 0 2rem 2rem 2rem !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    visibility: visible !important
}

body.light .faq-item {
    background: rgba(255, 255, 255, 0.6);
    border-color: rgba(0, 0, 0, 0.08)
}

body.light .faq-item.active {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(99, 102, 241, 0.4);
    box-shadow: 0 20px 50px -20px rgba(99, 102, 241, 0.15)
}

body.light .faq-question {
    color: #1e293b
}

body.light .faq-item.active .faq-question {
    color: #4f46e5
}

body.light .faq-answer-inner {
    color: #475569
}

body.light .faq-icon-wrapper {
    background: rgba(0, 0, 0, 0.05);
    border-color: rgba(0, 0, 0, 0.05)
}

body.light .faq-icon {
    color: #64748b
}

body.light .faq-item.active .faq-icon {
    color: #ffffff
}

body.light .faq-title {
    background: linear-gradient(to right, #011560 0%, #0242cd 50%, #096dfc 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

body.light .faq-desc {
    color: #475569
}

.testimonials-section {
    padding: 6rem 0;
    width: 100%;
    max-width: 100%;
    position: relative;
    z-index: 10
}

.testimonials-header {
    text-align: center;
    margin-bottom: 3.5rem
}

.testimonials-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    background: linear-gradient(to right, #fff 0%, #cbd5e1 50%, #818cf8 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: -1px
}

.testimonials-desc {
    color: #94a3b8;
    font-size: 1.15rem;
    max-width: 550px;
    margin: 0 auto
}

.testimonials-slider-wrapper {
    position: relative;
    display: flex;
    align-items: center
}

.testimonials-slider {
    display: flex;
    gap: 2rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 1rem 3rem 2rem 3rem;
    scrollbar-width: none
}

.testimonials-slider::-webkit-scrollbar {
    display: none
}

.testimonial-card {
    flex: 0 0 350px;
    scroll-snap-align: center;
    background: rgba(15, 23, 42, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 16px;
    padding: 2.5rem 2rem;
    backdrop-filter: blur(12px);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column
}

.testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px -10px rgba(99, 102, 241, 0.2);
    border-color: rgba(99, 102, 241, 0.3)
}

.t-stars {
    color: #fbbf24;
    font-size: 1.2rem;
    margin-bottom: 1.2rem;
    letter-spacing: 2px
}

.t-text {
    color: #e2e8f0;
    font-size: 1.05rem;
    line-height: 1.6;
    margin-bottom: 2rem;
    flex-grow: 1;
    font-style: italic
}

.t-author {
    display: flex;
    align-items: center;
    gap: 1rem
}

.t-avatar {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: linear-gradient(135deg, #6366f1, #a855f7);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: bold;
    font-size: 1.2rem;
    flex-shrink: 0
}

.t-info {
    display: flex;
    flex-direction: column
}

.t-info strong {
    color: #fff;
    font-size: 1rem
}

.t-info span {
    color: #94a3b8;
    font-size: 0.85rem
}

.scroll-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.8);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    backdrop-filter: blur(8px);
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3)
}

.scroll-arrow:hover {
    background: rgba(99, 102, 241, 0.9);
    border-color: rgba(99, 102, 241, 1);
    transform: translateY(-50%) scale(1.1)
}

.left-arrow {
    left: -24px
}

.right-arrow {
    right: -24px
}

@media (max-width:768px) {
    .testimonials-section {
        padding: 4rem 0
    }

    .testimonials-slider {
        padding: 1rem 1rem 2rem 1rem;
        gap: 1rem
    }

    .testimonial-card {
        flex: 0 0 85vw;
        padding: 2rem 1.5rem
    }
}

body.light .testimonial-card {
    background: rgba(255, 255, 255, 0.6);
    border-color: rgba(0, 0, 0, 0.08)
}

body.light .t-text {
    color: #334155
}

body.light .t-info strong {
    color: #0f172a
}

body.light .t-info span {
    color: #64748b
}

body.light .testimonials-title {
    background: linear-gradient(to right, #011560 0%, #0242cd 50%, #096dfc 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

body.light .testimonials-desc {
    color: #475569
}

body.light .scroll-arrow {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(0, 0, 0, 0.1);
    color: #0f172a
}

body.light .scroll-arrow:hover {
    background: #4f46e5;
    color: #fff
}

html,
body {
    overflow-x: hidden;
    width: 100%
}

@media (max-width:768px) {
    .faq-section {
        padding: 4rem 1rem
    }

    .faq-question {
        padding: 1.2rem 1rem
    }

    .faq-answer-inner {
        padding: 0 1rem
    }

    .faq-item.active .faq-answer-inner {
        padding: 0 1rem 1.5rem 1rem !important
    }

    .faq-icon-wrapper {
        margin-left: 0.75rem
    }
}

.nav-item-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 100%
}

.mega-menu {
    position: absolute;
    top: calc(100%+20px);
    left: -20px;
    transform: none;
    width: 1200px;
    max-width: 90vw;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
    border: 1px solid rgba(0, 0, 0, 0.05);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    z-index: 9999;
    padding: 40px
}

.nav-item-dropdown:hover .mega-menu {
    opacity: 1;
    visibility: visible
}

.nav-item-dropdown::after {
    content: "";
    position: absolute;
    top: 100%;
    left: -20px;
    width: calc(100%+40px);
    height: 30px
}

.mega-menu-content {
    display: flex;
    gap: 40px;
    width: 100%
}

.mega-menu-left,
.mega-menu-right {
    flex: 1;
    text-align: center;
    display: flex;
    flex-direction: column
}

.mega-menu-title {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 3px;
    color: #111111;
    margin-bottom: 15px;
    text-transform: uppercase;
    font-family: serif
}

.mega-menu-subtitle {
    font-size: 14px;
    color: #555555;
    margin-bottom: 30px;
    font-weight: 500
}

.mega-menu-subtitle .highlight {
    color: var(--blue-500);
    font-style: italic;
    font-family: serif
}

.mega-menu-card {
    text-align: center
}

.mega-menu-img-large,
.mega-menu-case-study {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.05);
    transition: transform 0.2s, box-shadow 0.2s;
    cursor: pointer;
    background: #f9f9f9
}

.mega-menu-img-large:hover,
.mega-menu-case-study:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1)
}

.mega-menu-label {
    margin-top: 12px;
    font-size: 13px;
    font-weight: 600;
    color: #333333;
    text-transform: uppercase;
    letter-spacing: 0.5px
}

.mega-menu-case-wrapper,
.mega-menu-single-project {
    margin-top: auto
}

@media (max-width:991.98px) {
    .mega-menu {
        display: none !important
    }
}

.text-menu .mega-menu-left,
.text-menu .mega-menu-right {
    text-align: left
}

.mega-menu-list {
    list-style: none;
    padding: 0;
    margin-top: 25px;
    display: flex;
    flex-direction: column;
    gap: 18px
}

.mega-menu-list li a {
    text-decoration: none;
    color: #444444;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    transition: color 0.2s, transform 0.2s;
    display: inline-block
}

.mega-menu-list li a:hover {
    color: var(--blue-500);
    transform: translateX(5px)
}

.mega-menu-list li a.active {
    color: #096dfc;
    font-weight: 700;
    padding-left: 10px;
    border-left: 2px solid #096dfc;
    transform: translateX(0)
}

body.light .mega-menu-list li a.active {
    color: #0242cd;
    border-left-color: #0242cd
}

.mega-menu:has(.text-menu) {
    width: 560px;
    padding: 24px 28px
}

.mega-menu-content.text-menu {
    gap: 28px
}

.text-menu .mega-menu-left,
.text-menu .mega-menu-right {
    align-items: flex-start
}

.text-menu .mega-menu-title {
    margin-bottom: 0
}

.text-menu .mega-menu-list {
    gap: 10px;
    margin-top: 12px
}

.topic-detail-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1)
}

.topic-detail-card h1 {
    color: #fff
}

.topic-detail-card p {
    color: #ccc
}

.topic-detail-card-item {
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.05)
}

.topic-detail-card-item p {
    color: #d1d5db
}

.topic-detail-card-image-gradient {
    background: linear-gradient(to top, #0a0f1c, transparent)
}

body.light .topic-detail-card {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05)
}

body.light .topic-detail-card h1 {
    color: #0f172a !important
}

body.light .topic-detail-card p {
    color: #475569 !important
}

body.light .topic-detail-card-item {
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(0, 0, 0, 0.05);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03)
}

body.light .topic-detail-card-item p {
    color: #475569 !important
}

body.light .topic-detail-card-image-gradient {
    background: linear-gradient(to top, #ffffff, transparent)
}

.holo-chip-container {
    position: absolute;
    bottom: -15%;
    right: -15%;
    width: 180px;
    height: 180px;
    background: transparent;
    z-index: 15;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    animation: floatScreenRight 6s ease-in-out infinite;
    perspective: 1000px
}

.holo-chip {
    width: 90px;
    height: 90px;
    background: rgba(10, 25, 47, 0.7);
    border: 2px solid #a855f7;
    border-radius: 14px;
    position: relative;
    transform: rotateX(20deg) rotateY(-20deg);
    transform-style: preserve-3d;
    box-shadow: 0 0 30px rgba(168, 85, 247, 0.4), inset 0 0 15px rgba(168, 85, 247, 0.3);
    display: flex;
    justify-content: center;
    align-items: center;
    animation: chipSpin 8s linear infinite
}

.chip-core {
    width: 45px;
    height: 45px;
    background: #00f0ff;
    border-radius: 8px;
    box-shadow: 0 0 20px #00f0ff, inset 0 0 10px rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    transform: translateZ(12px)
}

.chip-text {
    font-family: "Lexend Deca", sans-serif;
    font-weight: 900;
    font-size: 1.05rem;
    color: #0b0c10;
    letter-spacing: 0.5px
}

.circuit-line {
    position: absolute;
    background: linear-gradient(90deg, #00f0ff, transparent);
    height: 2px
}

.circuit-line.l1 {
    top: 20%;
    left: -25px;
    width: 25px;
    animation: pulseLine 2s infinite
}

.circuit-line.l2 {
    bottom: 20%;
    right: -25px;
    width: 25px;
    transform: rotate(180deg);
    animation: pulseLine 2s infinite 1s
}

.circuit-line.l3 {
    top: -25px;
    left: 30%;
    width: 25px;
    transform: rotate(90deg);
    animation: pulseLine 2s infinite 0.5s
}

.circuit-line.l4 {
    bottom: -25px;
    right: 30%;
    width: 25px;
    transform: rotate(-90deg);
    animation: pulseLine 2s infinite 1.5s
}

.chip-status {
    margin-top: 15px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: "Consolas", monospace;
    font-size: 0.58rem;
    color: #a855f7;
    text-shadow: 0 0 5px rgba(168, 85, 247, 0.6);
    font-weight: bold
}

.pulse-indicator {
    width: 8px;
    height: 8px;
    background: #00f0ff;
    border-radius: 50%;
    box-shadow: 0 0 8px #00f0ff;
    animation: blinkFast 0.8s infinite alternate
}

@keyframes chipSpin {
    0% {
        transform: rotateX(20deg) rotateY(0deg)
    }

    50% {
        transform: rotateX(20deg) rotateY(180deg)
    }

    100% {
        transform: rotateX(20deg) rotateY(360deg)
    }
}

@keyframes pulseLine {
    0% {
        opacity: 0.2;
        width: 0
    }

    50% {
        opacity: 1;
        width: 25px
    }

    100% {
        opacity: 0.2;
        width: 25px
    }
}

@media (max-width:768px) {
    .contact-orb {
        display: none !important
    }

    .contact-form-wrap {
        animation: none !important
    }

    .pcard2--projects::before,
    .pcard2--tools::before,
    .pcard2--case-study::before {
        animation: none !important
    }

    .bbg-ring--1,
    .bbg-ring--2,
    .bbg-core {
        animation: none !important;
        filter: none !important
    }

    .hero-text::before {
        display: none !important
    }

    .hero-tag__dot {
        animation: none !important
    }

    .hero-tag {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: rgba(99, 102, 241, 0.12) !important
    }

    .hero-trust-bar {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important
    }

    .contact-form-wrap {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important
    }
}

@media (max-width:767px) {
    .hero-title {
        font-size: clamp(1.75rem, 8vw, 2.5rem) !important
    }

    .about-title,
    .projects-title,
    .pricing-title,
    .workshop-hero__title {
        font-size: clamp(1.6rem, 7vw, 2.2rem) !important
    }

    .contact-heading {
        font-size: clamp(1.5rem, 6vw, 2rem) !important
    }
}

@media (max-width:480px) {
    .hero-title {
        font-size: 1.85rem !important
    }

    .about-title,
    .projects-title,
    .pricing-title,
    .workshop-hero__title {
        font-size: 1.7rem !important
    }

    .contact-heading {
        font-size: 1.55rem !important
    }
}

html,
body {
    overflow-x: hidden;
    max-width: 100vw
}

@media (min-width:1440px) {
    .container {
        max-width: 1320px
    }

    .hero-title {
        font-size: 4.5rem
    }

    .marquee-wrap {
        max-width: 100%
    }
}

@media (max-width:1279px) {
    .navbar {
        padding: 0 3%
    }

    .nav-link {
        padding: 8px 12px;
        font-size: 0.8125rem
    }

    .hero-title {
        font-size: clamp(2rem, 5vw, 3.5rem)
    }

    .section-title,
    .about-title,
    .projects-title {
        font-size: clamp(1.8rem, 4vw, 2.8rem)
    }
}

@media (max-width:1023px) and (min-width:769px) {
    .hero-section {
        padding-block: 130px 80px
    }

    .hero-title {
        font-size: clamp(2rem, 4.5vw, 3rem);
        overflow: visible
    }

    .hero-visual-col {
        align-items: center;
        justify-content: center
    }

    .real-robot-container {
        max-width: 340px;
        margin: 0 auto
    }

    .about-bottom-grid {
        gap: 2rem
    }

    .workshop-days-grid {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem
    }
}

@media (max-width:768px) {
    .hero-section {
        min-height: auto
    }

    .hero-title {
        font-size: clamp(1.9rem, 7.5vw, 2.8rem);
        overflow: visible;
        line-height: 1.15
    }

    .hero-title>span[style*="white-space:nowrap"] {
        white-space: normal !important
    }

    .hero-section {
        padding-bottom: 50px
    }

    section {
        padding-top: 3rem;
        padding-bottom: 3rem
    }

    .marquee-fade--left,
    .marquee-fade--right {
        width: 40px !important
    }

    .marquee-wrap {
        -webkit-mask-image: linear-gradient(to right, transparent 0%, black 40px, black calc(100% - 40px), transparent 100%) !important;
        mask-image: linear-gradient(to right, transparent 0%, black 40px, black calc(100% - 40px), transparent 100%) !important
    }

    .navbar {
        padding: 0 16px
    }

    .projects-breadcrumb,
    .wd-breadcrumb {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
        box-sizing: border-box !important
    }

    .projects-breadcrumb ol,
    .wd-breadcrumb ol {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        flex-wrap: nowrap !important;
        box-sizing: border-box !important;
        -webkit-overflow-scrolling: touch
    }

    .about-desc {
        font-size: 0.95rem
    }

    .contact-heading {
        font-size: clamp(1.4rem, 6vw, 2rem)
    }

    .footer-grid {
        gap: 1.5rem
    }

    .footer-main {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 2rem !important
    }

    .footer-brand {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important
    }

    .footer-brand .logo {
        justify-content: center !important
    }

    .footer-socials {
        justify-content: center !important
    }

    .footer-cols {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 2rem !important
    }

    .footer-col {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important
    }

    .footer-col-title {
        width: 100% !important;
        text-align: center !important
    }

    .fql-list {
        width: 100% !important;
        align-items: center !important
    }

    .fql-item {
        width: 100% !important;
        text-align: center !important
    }

    .fql-btn {
        justify-content: center !important;
        text-align: center !important;
        gap: 8px !important
    }

    .fql-sub {
        padding-left: 0 !important;
        align-items: center !important;
        text-align: center !important
    }

    .fql-list--contact {
        width: 100% !important;
        align-items: center !important
    }

    .footer-link {
        text-align: center !important
    }

    .fql-list--contact li {
        display: flex !important;
        justify-content: center !important
    }
}

@media (max-width:576px) {
    .hero-section {
        padding-block: 100px 40px;
        padding-inline: 16px
    }

    .hero-title {
        font-size: clamp(1.75rem, 8.5vw, 2.5rem) !important;
        line-height: 1.15
    }

    .hero-trust-bar {
        gap: 8px;
        margin-top: 20px
    }

    .btn-hero-primary,
    .btn-hero-ghost {
        width: 100%;
        justify-content: center;
        text-align: center
    }

    .hero-actions {
        flex-direction: column;
        gap: 10px;
        width: 100%
    }

    .filter-tabs {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px;
        padding: 0 8px
    }

    .filter-tab {
        font-size: 0.8rem;
        padding: 6px 14px
    }

    .workshop-hero__title {
        font-size: clamp(1.6rem, 8vw, 2.2rem)
    }

    .workshop-meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px
    }

    .workshop-days-grid {
        grid-template-columns: 1fr !important
    }

    .projects-grid {
        gap: 1rem;
        padding: 0
    }

    .contact-form-inner {
        padding: 1.5rem 1rem;
        border-radius: 12px
    }

    .section-pad {
        padding-block: 2.5rem
    }

    .numbers-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem
    }

    .testimonials-grid {
        grid-template-columns: 1fr
    }

    .project-card-v2 {
        margin-bottom: 1rem
    }
}

@media (max-width:480px) {
    .hero-title {
        font-size: 1.85rem !important
    }

    .social-share-btn {
        bottom: 70px !important;
        right: 16px !important
    }

    .numbers-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .project-card-v2__image {
        height: 180px
    }

    .blog-grid {
        grid-template-columns: 1fr;
        gap: 1rem
    }

    .cta-section {
        padding: 2rem 1rem;
        border-radius: 12px
    }

    .cta-title {
        font-size: 1.4rem
    }
}

@media (max-width:375px) {
    .hero-title {
        font-size: 1.7rem !important
    }

    .hero-desc {
        font-size: 0.9rem
    }

    .hero-tag {
        font-size: 0.75rem;
        padding: 5px 12px
    }

    .logo a img {
        width: 170px !important
    }

    .theme-toggle {
        width: 36px;
        height: 36px
    }

    .hero-trust-value {
        font-size: 1.1rem
    }

    .hero-trust-label {
        font-size: 0.65rem
    }

    .filter-tab {
        font-size: 0.75rem;
        padding: 5px 10px
    }

    .about-title {
        font-size: 1.6rem !important
    }

    .workshop-hero__title {
        font-size: 1.5rem !important
    }

    .contact-heading {
        font-size: 1.4rem !important
    }

    .breadcrumb {
        font-size: 0.8rem;
        flex-wrap: wrap
    }

    .section-heading,
    .section-title {
        font-size: clamp(1.4rem, 8vw, 1.8rem)
    }
}

@media (max-width:320px) {
    body {
        font-size: 14px
    }

    .hero-section {
        padding-block: 90px 30px;
        padding-inline: 12px
    }

    .hero-title {
        font-size: 1.5rem !important;
        line-height: 1.2
    }

    .hero-desc {
        font-size: 0.85rem;
        line-height: 1.6
    }

    .hero-trust-bar {
        grid-template-columns: 1fr !important;
        gap: 6px
    }

    .hero-trust-item {
        flex-direction: row;
        gap: 10px;
        justify-content: flex-start;
        text-align: left
    }

    .hero-trust-divider {
        display: none
    }

    .btn-hero-primary,
    .btn-hero-ghost {
        padding: 10px 16px;
        font-size: 0.8125rem
    }

    .navbar {
        padding: 0 10px
    }

    .logo a img {
        width: 150px !important
    }

    .about-title,
    .projects-title,
    .section-title,
    .section-heading {
        font-size: 1.3rem !important
    }

    .contact-heading {
        font-size: 1.3rem !important
    }

    .workshop-hero__title {
        font-size: 1.35rem !important
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 1.25rem
    }

    .numbers-grid {
        grid-template-columns: 1fr 1fr;
        gap: 0.75rem
    }

    .pricing-card {
        padding: 1.25rem 1rem
    }

    .filter-tab {
        font-size: 0.7rem;
        padding: 4px 8px
    }
}

:root {
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.18), 0 1px 2px rgba(0, 0, 0, 0.12);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.22), 0 2px 6px rgba(0, 0, 0, 0.14);
    --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.35), 0 4px 12px rgba(0, 0, 0, 0.2);
    --shadow-glow: 0 0 24px rgba(99, 102, 241, 0.35);
    --transition-fast: 150ms ease;
    --transition-base: 250ms ease;
    --transition-slow: 400ms cubic-bezier(0.23, 1, 0.32, 1);
    --space-1: 0.25rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-20: 5rem
}

.nav-link.active::after {
    content: "";
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 2px;
    background: linear-gradient(90deg, #3b82f6, #a855f7);
    border-radius: 2px;
    transition: width var(--transition-base)
}

.nav-link:hover::after {
    content: "";
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    width: 40%;
    height: 2px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 2px
}

body.light .nav-link.active::after {
    background: linear-gradient(90deg, #1d4ed8, #7c3aed)
}

.navbar.scrolled {
    padding-block: 0
}

.navbar.scrolled .logo-combined {
    height: 90px
}

body.light .navbar.scrolled .logo-combined--light {
    height: 105px
}

@media (max-width:576px) {
    .navbar.scrolled .logo-combined {
        height: 52px
    }

    body.light .navbar.scrolled .logo-combined--light {
        height: 64px
    }
}

.mega-menu {
    transition: opacity 0.2s ease, transform 0.2s cubic-bezier(0.23, 1, 0.32, 1)
}

.pill-slider {
    position: absolute;
    height: 36px;
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.07);
    transition: left var(--transition-slow), width var(--transition-slow);
    z-index: 0;
    pointer-events: none
}

body.light .pill-slider {
    background: rgba(0, 0, 0, 0.06)
}

.footer-col-title {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--text-bright);
    margin-bottom: 0.9rem
}

body.light .footer-col-title {
    color: #0f172a
}

.footer-tagline {
    font-size: 0.88rem;
    color: var(--text-muted);
    line-height: 1.6;
    margin-block: 0.4rem 1rem
}

body.light .footer-tagline {
    color: #64748b
}

.footer-social {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    color: var(--text-muted);
    transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.2s
}

.footer-social:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    color: var(--text-bright);
    transform: translateY(-3px)
}

body.light .footer-social {
    border-color: rgba(0, 0, 0, 0.1);
    background: rgba(0, 0, 0, 0.04);
    color: #64748b
}

body.light .footer-social:hover {
    background: rgba(0, 0, 0, 0.08);
    border-color: rgba(0, 0, 0, 0.18);
    color: #0f172a
}

.footer-social svg {
    width: 16px;
    height: 16px
}

.footer-link {
    position: relative;
    display: inline-block
}

.footer-link::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: currentColor;
    opacity: 0.5;
    transition: width 0.22s ease
}

.footer-link:hover::after {
    width: 100%
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid rgba(59, 130, 246, 0.7);
    outline-offset: 3px;
    border-radius: 4px
}

img[loading="lazy"] {
    opacity: 0;
    transition: opacity 0.45s ease
}

img[loading="lazy"].loaded {
    opacity: 1
}

.mobile-contact-group {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 1rem 0.25rem 0.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
    margin-top: 0.5rem
}

body.light .mobile-contact-group {
    border-top-color: rgba(0, 0, 0, 0.07)
}

.mobile-contact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 10px;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    transition: opacity 0.2s, transform 0.2s
}

.mobile-contact-btn:hover {
    opacity: 0.85;
    transform: translateY(-1px)
}

.mobile-contact-btn--call {
    background: rgba(59, 130, 246, 0.12);
    border: 1px solid rgba(59, 130, 246, 0.25);
    color: #60a5fa
}

.mobile-contact-btn--whatsapp {
    background: rgba(37, 211, 102, 0.1);
    border: 1px solid rgba(37, 211, 102, 0.25);
    color: #4ade80
}

body.light .mobile-contact-btn--call {
    background: rgba(59, 130, 246, 0.08);
    border-color: rgba(59, 130, 246, 0.2);
    color: #2563eb
}

body.light .mobile-contact-btn--whatsapp {
    background: rgba(22, 163, 74, 0.07);
    border-color: rgba(22, 163, 74, 0.2);
    color: #16a34a
}

.hero-trust-bar {
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
    row-gap: 0.75rem;
    margin-top: 1.75rem
}

.hero-trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 1rem 0 0
}

.hero-trust-value {
    font-weight: 800;
    font-size: 1rem;
    color: var(--text-bright)
}

.hero-trust-label {
    font-size: 0.82rem;
    color: var(--text-muted);
    white-space: nowrap
}

.hero-trust-icon {
    color: #3b82f6;
    flex-shrink: 0
}

.hero-trust-divider {
    width: 1px;
    height: 28px;
    background: rgba(255, 255, 255, 0.12);
    margin: 0 1rem;
    flex-shrink: 0
}

body.light .hero-trust-value {
    color: #0f172a
}

body.light .hero-trust-label {
    color: #64748b
}

body.light .hero-trust-divider {
    background: rgba(0, 0, 0, 0.1)
}

#scrollProgressBar {
    transform-origin: left;
    transform: scaleX(0)
}

#starsCanvas {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 0
}

body.light #starsCanvas {
    display: none
}

#cursorParticles {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 9998
}

@media (hover:none) {
    #cursorParticles {
        display: none
    }
}

.cursor-glow {
    position: fixed;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle at center, rgba(99, 102, 241, 0.13) 0%, rgba(34, 211, 238, 0.07) 35%, transparent 70%);
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease;
    will-change: left, top
}

@media (hover:none) {
    .cursor-glow {
        display: none
    }
}

.scroll-progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 100%;
    transform: scaleX(0);
    transform-origin: left;
    background: linear-gradient(90deg, #6366f1 0%, #818cf8 50%, #22d3ee 100%);
    z-index: 99999;
    pointer-events: none;
    border-radius: 0 2px 2px 0;
    transition: transform 0.08s linear;
    box-shadow: 0 0 8px rgba(99, 102, 241, 0.6), 0 0 2px rgba(34, 211, 238, 0.5)
}

.navbar--scrolled {
    background: rgba(8, 8, 20, 0.72) !important;
    backdrop-filter: blur(18px) saturate(1.4) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.4) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.06), 0 4px 24px rgba(0, 0, 0, 0.35) !important;
    transition: background 0.3s ease, backdrop-filter 0.3s ease, box-shadow 0.3s ease !important
}

body.light .navbar--scrolled {
    background: rgba(255, 255, 255, 0.80) !important;
    backdrop-filter: blur(18px) saturate(1.6) !important;
    -webkit-backdrop-filter: blur(18px) saturate(1.6) !important;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06), 0 4px 24px rgba(0, 0, 0, 0.10) !important
}

.hero-visual-col {
    position: relative
}

.hero-visual-col::before {
    content: '';
    position: absolute;
    inset: -40px -60px;
    background-image: radial-gradient(circle, rgba(99, 102, 241, 0.22) 1.2px, transparent 1.2px);
    background-size: 22px 22px;
    pointer-events: none;
    z-index: 0
}

@media (max-width:767px) {
    .hero-visual-col::before {
        display: none
    }

    .robot-video-wrapper::before {
        display: none
    }

    .robot-center-line {
        display: none
    }
}

.robot-video-wrapper::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(99, 102, 241, 0.14) 1px, transparent 1px);
    background-size: 20px 20px;
    pointer-events: none;
    z-index: 6
}

.robot-center-line {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    transform: translateY(-50%);
    background: linear-gradient(90deg, transparent 0%, #22d3ee 25%, #38bdf8 50%, #22d3ee 75%, transparent 100%);
    box-shadow: 0 0 8px rgba(34, 211, 238, 0.9), 0 0 24px rgba(34, 211, 238, 0.5), 0 0 48px rgba(34, 211, 238, 0.2);
    animation: centerLinePulse 3s ease-in-out infinite;
    pointer-events: none;
    z-index: 12
}

@keyframes centerLinePulse {

    0%,
    100% {
        opacity: 0.7;
        box-shadow: 0 0 8px rgba(34, 211, 238, 0.9), 0 0 24px rgba(34, 211, 238, 0.5), 0 0 48px rgba(34, 211, 238, 0.2)
    }

    50% {
        opacity: 1;
        box-shadow: 0 0 12px rgba(34, 211, 238, 1), 0 0 36px rgba(34, 211, 238, 0.7), 0 0 72px rgba(34, 211, 238, 0.3)
    }
}

.real-robot-container::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 110%;
    height: 110%;
    background: radial-gradient(ellipse at center, rgba(139, 92, 246, 0.13) 0%, rgba(99, 102, 241, 0.07) 45%, transparent 70%);
    filter: blur(32px);
    pointer-events: none;
    z-index: 0
}

.btn-hero-primary,
.btn-hero-ghost {
    position: relative !important;
    overflow: hidden !important
}

.btn-hero-primary::after,
.btn-hero-ghost::after {
    content: '';
    position: absolute;
    top: 0;
    left: -120%;
    width: 60%;
    height: 100%;
    background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0.22) 45%, rgba(255, 255, 255, 0.30) 50%, rgba(255, 255, 255, 0.22) 55%, transparent 100%);
    transform: skewX(-18deg);
    pointer-events: none;
    transition: none
}

.btn-hero-primary:hover::after,
.btn-hero-ghost:hover::after {
    animation: shimmerSweep 0.65s ease forwards
}

@keyframes shimmerSweep {
    0% {
        left: -120%
    }

    100% {
        left: 160%
    }
}

.marquee-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    white-space: nowrap !important
}

.marquee-tag img,
.marquee-tag svg {
    flex-shrink: 0
}

#projects .marquee-section,
.marquee-section {
    max-width: 100%;
    overflow: hidden
}

@media (max-width:375px) {
    .marquee-tag {
        font-size: 0.72rem !important;
        padding: 5px 10px !important;
        gap: 5px !important
    }

    .marquee-tag img,
    .marquee-tag svg {
        width: 14px !important;
        height: 14px !important
    }
}

.hero-title__underline {
    position: relative;
    display: inline-block;
    white-space: nowrap;
    line-height: inherit
}

.hero-title__underline::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 100%;
    height: 4px;
    border-radius: 4px;
    background: linear-gradient(90deg, #6366f1 0%, #22d3ee 50%, #a855f7 100%);
    background-size: 200% 100%;
    animation: underlineShimmer 3s ease-in-out infinite, underlineGrow 0.8s ease 0.4s both;
    transform-origin: left
}

@media (max-width:575.98px) {
    .hero-title__underline::after {
        height: 3px;
        bottom: -3px
    }
}

@keyframes underlineGrow {
    from {
        transform: scaleX(0)
    }

    to {
        transform: scaleX(1)
    }
}

@keyframes underlineShimmer {

    0%,
    100% {
        background-position: 0% 50%
    }

    50% {
        background-position: 100% 50%
    }
}

body.light .hero-title__gradient {
    background: linear-gradient(135deg, #0242cd, #096dfc) !important;
    background-size: 100% !important;
    animation: none !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important
}

.hero-title {
    text-shadow: none
}

.hero-tag {
    background: linear-gradient(#ffffff, #ffffff) padding-box, linear-gradient(90deg, #6366f1, #22d3ee, #a855f7) border-box !important;
    border: 1px solid transparent !important;
    color: #4f46e5 !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em
}

body.light .hero-trust-divider {
    background: rgba(99, 102, 241, 0.15)
}

.hero-trust-icon {
    color: #6366f1;
    margin-bottom: 2px;
    opacity: 0.85
}

body.light .hero-trust-icon {
    color: #4f46e5
}

.hero-social-proof {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    margin-bottom: 4px;
    flex-wrap: wrap
}

.hero-sp-avatars {
    display: flex;
    align-items: center
}

.hero-sp-av {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    font-weight: 700;
    color: #fff;
    margin-left: -8px;
    border: 2px solid rgba(255, 255, 255, 0.15);
    flex-shrink: 0
}

.hero-sp-av:first-child {
    margin-left: 0
}

body.light .hero-sp-av {
    border-color: rgba(255, 255, 255, 0.8)
}

.hero-sp-text {
    font-size: 0.82rem;
    color: var(--text-muted)
}

.hero-sp-text strong {
    color: var(--text-bright);
    font-weight: 700
}

body.light .hero-sp-text {
    color: #6b7280
}

body.light .hero-sp-text strong {
    color: #111827
}

.hero-sp-rating {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    background: rgba(245, 158, 11, 0.1);
    border: 1px solid rgba(245, 158, 11, 0.2);
    border-radius: 20px;
    padding: 3px 10px
}

.hero-sp-score {
    font-size: 0.75rem;
    font-weight: 700;
    color: #f59e0b;
    margin-left: 3px
}

.hero-desc {
    position: relative;
    padding-left: 16px !important
}

.hero-desc::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 3px;
    border-radius: 3px;
    background: linear-gradient(180deg, #6366f1, #22d3ee)
}

@media (max-width:767px) {
    .hero-social-proof {
        gap: 10px
    }

    .hero-sp-rating {
        display: none
    }
}

.faq-answer {
    transition: max-height 0.42s cubic-bezier(0.4, 0, 0.2, 1) !important;
    overflow: hidden !important
}

.faq-answer-inner {
    transition: opacity 0.35s ease 0.05s, transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) 0.05s, padding 0.35s ease !important
}

.footer-divider {
    position: relative;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(99, 102, 241, 0.5) 25%, rgba(139, 92, 246, 0.9) 50%, rgba(99, 102, 241, 0.5) 75%, transparent 100%);
    z-index: 1
}

.footer-divider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 55%;
    height: 80px;
    background: radial-gradient(ellipse at center, rgba(99, 102, 241, 0.18) 0%, rgba(139, 92, 246, 0.10) 40%, transparent 70%);
    filter: blur(18px);
    pointer-events: none
}

.footer-divider::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #818cf8;
    box-shadow: 0 0 10px #6366f1, 0 0 20px rgba(99, 102, 241, 0.6)
}

.tmark-section {
    padding: 28px 0 20px;
    overflow: hidden;
    position: relative;
    z-index: 1
}

.tmark-label {
    text-align: center;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(148, 163, 184, 0.7);
    margin-bottom: 20px
}

.tmark-wrapper {
    position: relative;
    overflow: hidden
}

.tmark-wrapper::before,
.tmark-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    width: 120px;
    height: 100%;
    z-index: 2;
    pointer-events: none
}

.tmark-wrapper::before {
    left: 0;
    background: linear-gradient(90deg, var(--bg-base, #07081a) 0%, transparent 100%)
}

.tmark-wrapper::after {
    right: 0;
    background: linear-gradient(270deg, var(--bg-base, #07081a) 0%, transparent 100%)
}

.tmark-track {
    display: flex;
    align-items: center;
    gap: 0;
    width: max-content;
    animation: tmarkScroll 28s linear infinite
}

.tmark-track:hover {
    animation-play-state: paused
}

@keyframes tmarkScroll {
    0% {
        transform: translateX(0)
    }

    100% {
        transform: translateX(-50%)
    }
}

.tmark-logo {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 24px;
    margin: 0 6px;
    border-radius: 50px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    background: rgba(255, 255, 255, 0.03);
    color: rgba(203, 213, 225, 0.75);
    font-size: 0.82rem;
    font-weight: 600;
    white-space: nowrap;
    transition: border-color 0.25s, color 0.25s, background 0.25s;
    cursor: default;
    user-select: none
}

.tmark-logo:hover {
    border-color: rgba(99, 102, 241, 0.35);
    background: rgba(99, 102, 241, 0.07);
    color: #e2e8f0
}

.tmark-logo svg {
    flex-shrink: 0
}

body.light .tmark-section {
    background: transparent
}

body.light .tmark-wrapper::before {
    background: linear-gradient(90deg, #ffffff 0%, transparent 100%)
}

body.light .tmark-wrapper::after {
    background: linear-gradient(270deg, #ffffff 0%, transparent 100%)
}

body.light .tmark-logo {
    border-color: rgba(0, 0, 0, 0.08);
    background: rgba(0, 0, 0, 0.02);
    color: rgba(51, 65, 85, 0.8)
}

body.light .tmark-logo:hover {
    border-color: rgba(99, 102, 241, 0.3);
    background: rgba(99, 102, 241, 0.05);
    color: #1e293b
}

.faq-title {
    font-size: clamp(1.6rem, 6vw, 3rem) !important
}

@media (max-width:480px) {
    .faq-title {
        font-size: clamp(1.4rem, 7vw, 1.9rem) !important
    }

    .faq-section {
        padding: 4rem 1rem !important
    }
}

@media (max-width:360px) {
    .faq-title {
        font-size: clamp(1.2rem, 8vw, 1.6rem) !important
    }
}

@media (max-width:991px) and (min-width:768px) {
    .screen-left.code-panel {
        top: 0% !important;
        left: 0% !important;
        transform: scale(0.85);
        transform-origin: top left
    }

    .screen-right.code-panel {
        bottom: 0% !important;
        right: 0% !important;
        transform: scale(0.85);
        transform-origin: bottom right
    }

    .holo-chip-container {
        bottom: -5% !important;
        right: -5% !important;
        transform: scale(0.8);
        transform-origin: bottom right
    }
}

#rotating-ai-text {
    font-size: clamp(1.2rem, 4vw, 2.2rem) !important
}

@media (max-width:480px) {
    #rotating-ai-text {
        font-size: clamp(1rem, 5vw, 1.5rem) !important
    }

    #ai-particles-container {
        min-height: 320px !important
    }
}

@media (max-width:360px) {
    #rotating-ai-text {
        font-size: 1rem !important
    }

    #ai-particles-container {
        min-height: 280px !important
    }
}

@media (min-width:768px) and (max-width:1023px) {
    #projects {
        width: 100% !important;
        max-width: 714px !important;
        box-sizing: border-box !important
    }
}

@media (max-width:900px) and (min-width:768px) {
    .contact-form-wrap {
        padding: 2rem 1.5rem !important
    }
}

@media (max-width:320px) {
    .hero-trust-bar {
        grid-template-columns: 1fr !important;
        gap: 8px !important
    }

    .hero-trust-item {
        flex-direction: row !important;
        gap: 8px !important;
        justify-content: flex-start !important
    }
}

@media (max-width:767px) {

    .navbar,
    .navbar--scrolled,
    body.light .navbar,
    body.light .navbar--scrolled,
    body.light .navbar__inner {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important
    }

    .navbar {
        background: rgba(18, 18, 24, 0.96) !important
    }

    .navbar--scrolled {
        background: rgba(8, 8, 20, 0.98) !important
    }

    body.light .navbar {
        background: rgba(255, 255, 255, 0.98) !important
    }

    body.light .navbar__inner {
        background: transparent !important
    }

    #starsCanvas {
        display: none !important
    }
}

.pcard2 {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04), 0 12px 36px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.9) inset !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    position: relative;
    will-change: transform;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden
}

.pcard2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: 16px 16px 0 0;
    z-index: 3;
    pointer-events: none;
    will-change: background-position;
    transform: translateZ(0)
}

.pcard2--projects::before {
    background: linear-gradient(90deg, #6366f1 0%, #a78bfa 50%, #6366f1 100%);
    background-size: 200% 100%;
    animation: pcard2-bar-slide 3.5s linear infinite
}

.pcard2--tools::before {
    background: linear-gradient(90deg, #3b82f6 0%, #818cf8 50%, #3b82f6 100%);
    background-size: 200% 100%;
    animation: pcard2-bar-slide 3.5s linear infinite
}

@keyframes pcard2-bar-slide {
    0% {
        background-position: 0% 50%
    }

    100% {
        background-position: 200% 50%
    }
}

.pcard2:hover {
    border-color: rgba(99, 102, 241, 0.28) !important;
    box-shadow: 0 20px 52px rgba(99, 102, 241, 0.13), 0 4px 12px rgba(0, 0, 0, 0.06) !important;
    transform: translateY(-4px)
}

.pcard2 .laptop-mockup {
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275)
}

.pcard2:hover .laptop-mockup {
    transform: translateY(-7px) scale(1.015)
}

.pcard2--projects .laptop-screen {
    box-shadow: inset 0 0 60px rgba(99, 102, 241, 0.2), inset 0 0 4px rgba(0, 0, 0, 0.8) !important;
    border-color: rgba(80, 80, 120, 0.85) !important;
    transition: box-shadow 0.4s ease
}

.pcard2--projects:hover .laptop-screen {
    box-shadow: inset 0 0 90px rgba(99, 102, 241, 0.35), inset 0 0 4px rgba(0, 0, 0, 0.8), 0 0 36px rgba(99, 102, 241, 0.18) !important
}

.pcard2--tools .laptop-screen {
    box-shadow: inset 0 0 60px rgba(59, 130, 246, 0.18), inset 0 0 4px rgba(0, 0, 0, 0.8) !important;
    border-color: rgba(60, 90, 140, 0.85) !important;
    transition: box-shadow 0.4s ease
}

.pcard2--tools:hover .laptop-screen {
    box-shadow: inset 0 0 90px rgba(59, 130, 246, 0.32), inset 0 0 4px rgba(0, 0, 0, 0.8), 0 0 36px rgba(59, 130, 246, 0.18) !important
}

.pcard2 .project-card__body {
    position: relative;
    overflow: hidden;
    transform: translateZ(0);
    padding-top: 1.2rem !important
}

.pcard2--projects .project-card__body {
    background-image: radial-gradient(circle, rgba(99, 102, 241, 0.18) 1px, transparent 1px), linear-gradient(175deg, rgba(99, 102, 241, 0.03) 0%, transparent 55%);
    background-size: 18px 18px, 100% 100%
}

.pcard2--tools .project-card__body {
    background-image: radial-gradient(circle, rgba(59, 130, 246, 0.18) 1px, transparent 1px), linear-gradient(175deg, rgba(59, 130, 246, 0.03) 0%, transparent 55%);
    background-size: 18px 18px, 100% 100%
}

.pcard2--case-study .project-card__body {
    background-image: radial-gradient(circle, rgba(16, 185, 129, 0.18) 1px, transparent 1px), linear-gradient(175deg, rgba(16, 185, 129, 0.03) 0%, transparent 55%);
    background-size: 18px 18px, 100% 100%
}

.pcard2__deco-svg {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 200px;
    height: 160px;
    pointer-events: none;
    z-index: -1
}

.pcard2--projects .pcard2__deco-svg {
    color: #6366f1
}

.pcard2--tools .pcard2__deco-svg {
    color: #3b82f6
}

.pcard2--case-study .pcard2__deco-svg {
    color: #10b981
}

.pcard2 .project-card__body::before {
    content: "";
    position: absolute;
    top: 0;
    left: 1.5rem;
    right: 1.5rem;
    height: 2px;
    border-radius: 2px;
    opacity: 0.55
}

.pcard2--projects .project-card__body::before {
    background: linear-gradient(90deg, #6366f1, #a78bfa, transparent)
}

.pcard2--tools .project-card__body::before {
    background: linear-gradient(90deg, #3b82f6, #818cf8, transparent)
}

.pcard2--case-study .project-card__body::before {
    background: linear-gradient(90deg, #10b981, #0ea5e9, transparent)
}

.pcard2 .project-tag {
    background: rgba(99, 102, 241, 0.08) !important;
    color: #6366f1 !important;
    border: 1.5px solid rgba(99, 102, 241, 0.22) !important;
    font-size: 0.64rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.18rem 0.6rem !important;
    border-radius: 6px !important;
    transition: background 0.2s, border-color 0.2s
}

.pcard2 .project-tag:hover {
    background: rgba(99, 102, 241, 0.15) !important
}

.pcard2--tools .project-tag {
    background: rgba(59, 130, 246, 0.08) !important;
    color: #3b82f6 !important;
    border-color: rgba(59, 130, 246, 0.22) !important
}

.pcard2--case-study .project-tag {
    background: rgba(16, 185, 129, 0.08) !important;
    color: #10b981 !important;
    border-color: rgba(16, 185, 129, 0.22) !important
}

.pcard2 .project-card__title {
    color: #0f172a !important;
    font-size: 1.3rem !important;
    font-weight: 800 !important;
    line-height: 1.35;
    margin-bottom: 0.4rem !important
}

.pcard2__accent {
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent;
    font-weight: 900 !important
}

.pcard2__accent--purple {
    background-image: linear-gradient(135deg, #818cf8 0%, #a78bfa 100%)
}

.pcard2__accent--blue {
    background-image: linear-gradient(135deg, #60a5fa 0%, #818cf8 100%)
}

.pcard2 .project-card__desc {
    color: #64748b !important;
    font-size: 0.875rem !important;
    line-height: 1.65 !important
}

.pcard2__readmore {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #818cf8 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    cursor: pointer !important
}

.pcard2--tools .pcard2__readmore {
    color: #60a5fa !important
}

.pcard2__readmore:hover {
    color: #c4b5fd !important
}

.pcard2__cta-wrap {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1.1rem
}

.pcard2__cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0.75rem 1.4rem;
    border-radius: 12px;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.15px;
    border: none;
    cursor: pointer;
    transition: box-shadow 0.22s ease, transform 0.15s ease;
    white-space: nowrap;
    flex-shrink: 0;
    position: relative;
    overflow: hidden
}

.pcard2__cta::after {
    content: "";
    position: absolute;
    top: 0;
    left: -80%;
    width: 55%;
    height: 100%;
    background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, 0.28) 50%, transparent 80%);
    transform: skewX(-18deg);
    transition: left 0.55s ease;
    pointer-events: none
}

.pcard2__cta:hover::after {
    left: 130%
}

.pcard2__cta--purple {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    color: #ffffff;
    box-shadow: 0 4px 18px rgba(99, 102, 241, 0.4)
}

.pcard2__cta--purple:hover {
    box-shadow: 0 8px 28px rgba(99, 102, 241, 0.58);
    transform: translateY(-2px);
    color: #ffffff
}

.pcard2__cta--blue {
    background: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%);
    color: #ffffff;
    box-shadow: 0 4px 18px rgba(59, 130, 246, 0.4)
}

.pcard2__cta--blue:hover {
    box-shadow: 0 8px 28px rgba(59, 130, 246, 0.58);
    transform: translateY(-2px);
    color: #ffffff
}

.pcard2__vector {
    flex-shrink: 0;
    opacity: 0.85;
    align-self: flex-end;
    pointer-events: none
}

.pcard2--case-study .laptop-screen {
    box-shadow: inset 0 0 60px rgba(16, 185, 129, 0.18), inset 0 0 4px rgba(0, 0, 0, 0.8) !important;
    border-color: rgba(16, 90, 80, 0.85) !important
}

.pcard2--case-study::before {
    background: linear-gradient(90deg, #10b981 0%, #0ea5e9 50%, #10b981 100%);
    background-size: 200% 100%;
    animation: pcard2-bar-slide 3.5s linear infinite
}

.pcard2__accent--teal {
    background-image: linear-gradient(135deg, #10b981 0%, #0ea5e9 100%)
}

.pcard2__cta--teal {
    background: linear-gradient(135deg, #10b981 0%, #0ea5e9 100%);
    color: #ffffff;
    box-shadow: 0 4px 18px rgba(16, 185, 129, 0.4);
    text-decoration: none !important;
    display: inline-flex;
    align-items: center
}

.pcard2__cta--teal:hover {
    box-shadow: 0 8px 28px rgba(16, 185, 129, 0.58);
    transform: translateY(-2px);
    color: #ffffff !important
}

body:not(.light) .pcard2 {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35), 0 2px 8px rgba(0, 0, 0, 0.2) !important
}

body:not(.light) .pcard2:hover {
    border-color: rgba(99, 102, 241, 0.35) !important;
    box-shadow: 0 20px 52px rgba(99, 102, 241, 0.22), 0 4px 12px rgba(0, 0, 0, 0.25) !important;
    transform: translateY(-4px)
}

body:not(.light) .pcard2--projects {
    background: linear-gradient(148deg, rgba(20, 18, 50, 0.92) 60%, rgba(99, 102, 241, 0.12) 100%) !important
}

body:not(.light) .pcard2--tools {
    background: linear-gradient(148deg, rgba(20, 18, 50, 0.92) 60%, rgba(59, 130, 246, 0.12) 100%) !important
}

body:not(.light) .pcard2--case-study {
    background: linear-gradient(148deg, rgba(20, 18, 50, 0.92) 60%, rgba(16, 185, 129, 0.1) 100%) !important
}

body:not(.light) .pcard2 .project-card__title {
    color: #f1f5f9 !important
}

body:not(.light) .pcard2 .project-card__desc {
    color: rgba(148, 163, 184, 0.85) !important
}

@media (max-width:1024px) {
    .pcard2 .project-card__title {
        font-size: 1.15rem !important
    }
}

@media (max-width:767px) {
    .pcard2 .project-card__title {
        font-size: 1.2rem !important
    }

    .pcard2 .project-card__desc {
        font-size: 0.85rem !important
    }

    .pcard2__cta {
        padding: 0.65rem 1.1rem;
        font-size: 0.83rem
    }

    .pcard2__vector {
        opacity: 0.6
    }
}

@media (max-width:480px) {
    .pcard2__cta-wrap {
        flex-direction: column;
        align-items: flex-start
    }

    .pcard2__vector {
        display: none
    }

    .pcard2 .project-card__title {
        font-size: 1.1rem !important
    }
}

@media (max-width:767px) {
    .pcard2 {
        will-change: auto !important
    }

    .pcard2:hover,
    body:not(.light) .pcard2:hover {
        transform: none !important;
        border-color: rgba(255, 255, 255, 0.09) !important;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35), 0 2px 8px rgba(0, 0, 0, 0.2) !important
    }

    body.light .pcard2:hover {
        border-color: rgba(0, 0, 0, 0.08) !important;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04), 0 12px 36px rgba(0, 0, 0, 0.1) !important
    }

    .pcard2:hover .laptop-mockup {
        transform: none !important
    }

    .pcard2:hover .laptop-screen,
    .pcard2--projects:hover .laptop-screen,
    .pcard2--tools:hover .laptop-screen,
    .pcard2--case-study:hover .laptop-screen {
        box-shadow: inset 0 0 60px rgba(99, 102, 241, 0.2), inset 0 0 4px rgba(0, 0, 0, 0.8) !important
    }
}

.achievements-block {
    background: linear-gradient(135deg, #ffffff 38%, rgba(139, 92, 246, 0.05) 68%, rgba(167, 139, 250, 0.09) 100%) !important;
    overflow: visible !important
}

.achievements-title {
    color: #0f172a !important
}

.achievements-desc {
    color: #64748b !important
}

.num-bg-deco {
    position: absolute;
    top: -24px;
    right: -24px;
    pointer-events: none;
    z-index: 0;
    opacity: 0.90
}

.num-trusted-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 50px;
    border: 1px solid rgba(59, 130, 246, 0.30);
    background: rgba(59, 130, 246, 0.06);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #3b82f6;
    margin-bottom: 0.85rem
}

.num-title-accent {
    background: linear-gradient(135deg, #6366f1 0%, #3b82f6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.num-stats-card {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
    display: flex;
    margin: 2rem 0;
    overflow: hidden
}

.num-stat-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2rem 1.25rem;
    text-align: center;
    position: relative
}

.num-stat-item+.num-stat-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 18%;
    height: 64%;
    width: 1px;
    background: rgba(0, 0, 0, 0.08)
}

.num-stat-icon {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem
}

.num-stat-icon--blue {
    background: rgba(59, 130, 246, 0.10);
    color: #3b82f6
}

.num-stat-icon--purple {
    background: rgba(99, 102, 241, 0.10);
    color: #6366f1
}

.num-stat-icon--green {
    background: rgba(34, 197, 94, 0.10);
    color: #16a34a
}

.num-stat-icon--orange {
    background: rgba(249, 115, 22, 0.10);
    color: #ea580c
}

.num-stat-value {
    font-size: clamp(2.2rem, 3.5vw, 3rem) !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    margin-bottom: 0.4rem !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: initial !important;
    background-clip: initial !important
}

.num-stat-value--blue {
    color: #3b82f6 !important
}

.num-stat-value--purple {
    color: #6366f1 !important
}

.num-stat-value--green {
    color: #16a34a !important
}

.num-stat-value--orange {
    color: #ea580c !important
}

.num-stat-label {
    font-size: 0.82rem !important;
    color: #64748b !important;
    font-weight: 500 !important;
    margin-bottom: 0.7rem !important
}

.num-stat-bar {
    width: 38px;
    height: 3px;
    border-radius: 2px
}

.num-stat-bar--blue {
    background: #3b82f6
}

.num-stat-bar--purple {
    background: #6366f1
}

.num-stat-bar--green {
    background: #16a34a
}

.num-stat-bar--orange {
    background: #ea580c
}

.num-cards-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-bottom: 1.75rem;
    position: relative;
    z-index: 1
}

.num-feat-card {
    background: #ffffff;
    border-radius: 16px;
    border: 1px solid rgba(0, 0, 0, 0.07);
    border-left-width: 3px;
    border-left-style: solid;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.05);
    padding: 1.4rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem
}

.num-feat-card--blue {
    border-left-color: #3b82f6;
    background: rgba(59, 130, 246, 0.025)
}

.num-feat-card--purple {
    border-left-color: #6366f1;
    background: rgba(99, 102, 241, 0.025)
}

.num-feat-card--orange {
    border-left-color: #ea580c;
    background: rgba(249, 115, 22, 0.025)
}

.num-feat-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.num-feat-icon--blue {
    background: rgba(59, 130, 246, 0.12);
    color: #3b82f6
}

.num-feat-icon--purple {
    background: rgba(99, 102, 241, 0.18);
    color: #6366f1
}

.num-feat-icon--orange {
    background: rgba(249, 115, 22, 0.12);
    color: #ea580c
}

.num-feat-body {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0.75rem
}

.num-feat-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 0.3rem
}

.num-feat-desc {
    font-size: 0.8rem;
    color: #64748b;
    line-height: 1.5;
    margin: 0
}

.num-feat-arrow {
    display: none !important;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.10);
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #94a3b8;
    transition: border-color 0.2s, color 0.2s;
    cursor: default
}

.num-feat-card--blue .num-feat-arrow {
    color: #3b82f6;
    border-color: rgba(59, 130, 246, 0.25)
}

.num-feat-card--purple .num-feat-arrow {
    color: #6366f1;
    border-color: rgba(99, 102, 241, 0.25)
}

.num-feat-card--orange .num-feat-arrow {
    color: #ea580c;
    border-color: rgba(249, 115, 22, 0.25)
}

.num-tags-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    position: relative;
    z-index: 1
}

.num-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    border-radius: 50px;
    border: 1px solid rgba(0, 0, 0, 0.10);
    background: #ffffff;
    font-size: 0.78rem;
    font-weight: 500;
    color: #334155;
    white-space: nowrap
}

.num-tag svg {
    flex-shrink: 0
}

body:not(.light) .achievements-block {
    background: linear-gradient(135deg, rgba(17, 16, 40, 0.95) 0%, rgba(30, 27, 60, 0.90) 50%, rgba(20, 18, 48, 0.95) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.06) !important
}

body:not(.light) .achievements-title {
    color: #f1f5f9 !important
}

body:not(.light) .achievements-desc {
    color: rgba(148, 163, 184, 0.85) !important
}

body:not(.light) .num-stats-card {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.30) !important
}

body:not(.light) .num-stat-item+.num-stat-item::before {
    background: rgba(255, 255, 255, 0.08)
}

body:not(.light) .num-stat-label {
    color: rgba(148, 163, 184, 0.80) !important
}

body:not(.light) .num-feat-card {
    background: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.25) !important
}

body:not(.light) .num-feat-card--blue {
    border-left-color: #3b82f6;
    background: rgba(59, 130, 246, 0.07) !important
}

body:not(.light) .num-feat-card--purple {
    border-left-color: #6366f1;
    background: rgba(99, 102, 241, 0.07) !important
}

body:not(.light) .num-feat-card--orange {
    border-left-color: #ea580c;
    background: rgba(249, 115, 22, 0.07) !important
}

body:not(.light) .num-feat-title {
    color: #e2e8f0 !important
}

body:not(.light) .num-feat-desc {
    color: rgba(148, 163, 184, 0.80) !important
}

body:not(.light) .num-feat-arrow {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.12) !important
}

body:not(.light) .num-tag {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: rgba(255, 255, 255, 0.10) !important;
    color: rgba(203, 213, 225, 0.80) !important
}

body:not(.light) .num-trusted-badge {
    background: rgba(59, 130, 246, 0.12) !important;
    border-color: rgba(59, 130, 246, 0.25) !important
}

@media (max-width:1024px) {
    .num-stat-value {
        font-size: clamp(1.9rem, 3vw, 2.6rem) !important
    }

    .num-cards-row {
        gap: 1rem
    }

    .num-feat-card {
        padding: 1.1rem
    }
}

@media (max-width:1023px) and (min-width:601px) {
    .num-cards-row {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (max-width:767px) {
    .num-stats-card {
        flex-wrap: wrap;
        border-radius: 16px
    }

    .num-stat-item {
        flex: 1 1 50%;
        min-width: 140px;
        padding: 1.5rem 1rem
    }

    .num-stat-item+.num-stat-item::before {
        display: none
    }

    .num-cards-row {
        grid-template-columns: repeat(2, 1fr)
    }

    .num-feat-title {
        font-size: 0.88rem
    }

    .num-feat-desc {
        font-size: 0.76rem
    }

    .num-tags-row {
        gap: 0.45rem
    }

    .num-tag {
        font-size: 0.72rem !important;
        padding: 5px 10px !important
    }
}

@media (max-width:600px) {
    .num-cards-row {
        grid-template-columns: 1fr
    }
}

@media (max-width:480px) {
    .num-stat-item {
        flex: 1 1 100%
    }

    .num-stat-value {
        font-size: clamp(1.7rem, 8vw, 2.2rem) !important
    }

    .num-tags-row {
        gap: 0.35rem
    }

    .num-tag {
        font-size: 0.70rem !important;
        padding: 4px 9px !important;
        max-width: calc(50% - 0.35rem);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }
}

@media (max-width:375px) {
    .num-tags-row {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 4px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none
    }

    .num-tags-row::-webkit-scrollbar {
        display: none
    }

    .num-tag {
        flex-shrink: 0;
        max-width: none;
        font-size: 0.68rem !important;
        padding: 4px 8px !important
    }
}

.testimonials-section {
    background: linear-gradient(135deg, rgba(237, 233, 254, 0.55) 0%, #ffffff 45%, rgba(224, 231, 255, 0.45) 100%) !important;
    position: relative !important;
    overflow: hidden !important
}

.trs-blob-left {
    position: absolute;
    top: -80px;
    left: -100px;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(139, 92, 246, 0.18) 0%, rgba(167, 139, 250, 0.10) 50%, transparent 70%);
    pointer-events: none;
    z-index: 0
}

.trs-dot-grid {
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
    z-index: 0;
    opacity: 0.65
}

.trs-quote-badge {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1.2rem;
    color: #fff;
    font-size: 1.6rem;
    font-family: Georgia, serif;
    font-weight: 900;
    line-height: 1;
    padding-top: 4px
}

.testimonials-header {
    position: relative !important
}

.trs-sparkle-header {
    position: absolute;
    color: #a78bfa;
    font-size: 1.3rem;
    pointer-events: none;
    line-height: 1
}

.trs-sparkle-header--left {
    left: 12%;
    top: 55%
}

.trs-sparkle-header--right {
    right: 8%;
    top: 18%
}

.testimonials-title {
    font-size: clamp(2rem, 4vw, 3rem) !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    background: none !important;
    -webkit-background-clip: initial !important;
    -webkit-text-fill-color: initial !important;
    background-clip: initial !important
}

.trs-title-accent {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.trs-divider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0.75rem auto 1rem
}

.trs-divider::before,
.trs-divider::after {
    content: '';
    width: 64px;
    height: 1.5px;
    background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.55), transparent)
}

.testimonials-desc {
    color: #64748b !important;
    font-size: 1rem !important
}

.testimonial-card {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.06) !important;
    box-shadow: 0 4px 24px rgba(99, 102, 241, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04) !important;
    position: relative !important;
    overflow: hidden !important;
    padding: 1.75rem 1.6rem 1.5rem !important
}

.testimonial-card::after {
    content: '';
    position: absolute;
    top: -28px;
    right: -28px;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    pointer-events: none;
    z-index: 0
}

.trs-card--purple::after {
    background: rgba(99, 102, 241, 0.10)
}

.trs-card--blue::after {
    background: rgba(59, 130, 246, 0.10)
}

.trs-card--green::after {
    background: rgba(16, 185, 129, 0.10)
}

.trs-card-quote {
    display: block;
    font-size: 3.8rem;
    font-family: Georgia, serif;
    font-weight: 900;
    line-height: 0.75;
    margin-bottom: 1rem;
    padding-top: 4px
}

.trs-card-quote--purple {
    color: #6366f1
}

.trs-card-quote--blue {
    color: #3b82f6
}

.trs-card-quote--green {
    color: #10b981
}

.trs-card-quote--cyan {
    color: #06b6d4
}

.trs-card-quote--orange {
    color: #f59e0b
}

.trs-stars-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.9rem
}

.t-stars {
    font-size: 1.05rem !important;
    letter-spacing: 2px !important;
    color: #fbbf24 !important
}

.trs-sparkle-sm {
    color: #a78bfa;
    font-size: 1rem;
    line-height: 1
}

.t-text {
    color: #334155 !important;
    font-size: 0.92rem !important;
    font-style: italic !important;
    line-height: 1.72 !important;
    margin-bottom: 1.4rem !important
}

.trs-author-divider {
    height: 1px;
    background: rgba(0, 0, 0, 0.07);
    margin-bottom: 1.1rem
}

.t-avatar {
    width: 46px !important;
    height: 46px !important;
    border-radius: 50% !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    position: relative !important
}

.trs-avatar--purple {
    background: linear-gradient(135deg, #6366f1, #8b5cf6) !important;
    color: #fff !important
}

.trs-avatar--blue {
    background: linear-gradient(135deg, #3b82f6, #6366f1) !important;
    color: #fff !important
}

.trs-avatar--green {
    background: linear-gradient(135deg, #10b981, #059669) !important;
    color: #fff !important
}

.trs-avatar--orange {
    background: linear-gradient(135deg, #f59e0b, #ef4444) !important;
    color: #fff !important
}

.trs-avatar--cyan {
    background: linear-gradient(135deg, #06b6d4, #3b82f6) !important;
    color: #fff !important
}

.trs-avatar--pink {
    background: linear-gradient(135deg, #ec4899, #8b5cf6) !important;
    color: #fff !important
}

.trs-online-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #10b981;
    border: 2px solid #fff;
    position: absolute;
    bottom: 0;
    right: 0
}

.t-info strong {
    color: #0f172a !important;
    font-size: 0.92rem !important
}

.t-info span {
    color: #64748b !important;
    font-size: 0.76rem !important
}

.trs-card-dots {
    position: absolute;
    bottom: 14px;
    right: 14px;
    display: grid;
    grid-template-columns: repeat(5, 5px);
    gap: 5px;
    pointer-events: none;
    z-index: 1
}

.trs-card-dots span {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(99, 102, 241, 0.16);
    display: block
}

.scroll-arrow {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    border: 1.5px solid rgba(0, 0, 0, 0.14) !important;
    background: #ffffff !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
    color: #475569 !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: border-color 0.2s, color 0.2s, box-shadow 0.2s !important
}

.scroll-arrow:hover {
    border-color: #6366f1 !important;
    color: #6366f1 !important;
    box-shadow: 0 4px 16px rgba(99, 102, 241, 0.22) !important
}

.trs-pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 2rem;
    position: relative;
    z-index: 1
}

.trs-dot {
    position: relative;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(99, 102, 241, 0.22);
    display: inline-block;
    cursor: pointer
}

.trs-dot::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 44px;
    height: 44px
}

.trs-dot.active {
    background: #6366f1;
    transform: scale(1.2)
}

body:not(.light) .testimonials-section {
    background: linear-gradient(135deg, rgba(17, 16, 40, 0.98) 0%, rgba(30, 27, 60, 0.95) 50%, rgba(20, 18, 48, 0.98) 100%) !important
}

body:not(.light) .trs-blob-left {
    background: radial-gradient(circle, rgba(139, 92, 246, 0.25) 0%, rgba(167, 139, 250, 0.12) 50%, transparent 70%)
}

body:not(.light) .testimonials-title {
    color: #f1f5f9 !important
}

body:not(.light) .testimonials-desc {
    color: rgba(148, 163, 184, 0.85) !important
}

body:not(.light) .testimonial-card {
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35), 0 1px 4px rgba(0, 0, 0, 0.20) !important
}

body:not(.light) .t-text {
    color: rgba(203, 213, 225, 0.85) !important
}

body:not(.light) .t-info strong {
    color: #e2e8f0 !important
}

body:not(.light) .t-info span {
    color: rgba(148, 163, 184, 0.80) !important
}

body:not(.light) .trs-author-divider {
    background: rgba(255, 255, 255, 0.08)
}

body:not(.light) .trs-card-dots span {
    background: rgba(99, 102, 241, 0.25)
}

body:not(.light) .scroll-arrow {
    background: rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    color: #cbd5e1 !important
}

body:not(.light) .scroll-arrow:hover {
    border-color: #6366f1 !important;
    color: #818cf8 !important;
    box-shadow: 0 4px 16px rgba(99, 102, 241, 0.30) !important
}

body:not(.light) .trs-dot {
    background: rgba(99, 102, 241, 0.28)
}

body:not(.light) .trs-dot.active {
    background: #818cf8
}

@media (max-width:1024px) {
    .testimonials-title {
        font-size: clamp(1.7rem, 3.5vw, 2.5rem) !important
    }

    .testimonial-card {
        padding: 1.5rem 1.35rem 1.25rem !important
    }
}

@media (max-width:1023px) and (min-width:768px) {
    .trs-card-quote {
        font-size: 3rem
    }

    .t-text {
        font-size: 0.88rem !important
    }

    .t-avatar {
        width: 40px !important;
        height: 40px !important
    }
}

@media (max-width:767px) {
    .trs-blob-left {
        width: 220px;
        height: 220px;
        top: -40px;
        left: -60px
    }

    .trs-sparkle-header {
        display: none
    }

    .trs-card-dots {
        display: none
    }

    .testimonials-title {
        font-size: clamp(1.5rem, 6vw, 2rem) !important
    }

    .testimonial-card {
        padding: 1.35rem 1.2rem 1.1rem !important
    }

    .trs-card-quote {
        font-size: 2.8rem;
        margin-bottom: 0.75rem
    }

    .t-text {
        font-size: 0.86rem !important;
        line-height: 1.65 !important
    }

    .trs-quote-badge {
        width: 46px;
        height: 46px;
        font-size: 1.35rem
    }
}

@media (max-width:480px) {
    .testimonials-title {
        font-size: clamp(1.3rem, 7vw, 1.7rem) !important
    }

    .trs-divider::before,
    .trs-divider::after {
        width: 40px
    }

    .t-info strong {
        font-size: 0.85rem !important
    }

    .scroll-arrow {
        width: 40px !important;
        height: 40px !important
    }
}

.trs-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
    position: relative;
    z-index: 1
}

@media (max-width:768px) {
    .trs-container {
        padding: 0 0.5rem
    }
}

.idea-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 9998;
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s cubic-bezier(0.23, 1, 0.32, 1), backdrop-filter 0.3s cubic-bezier(0.23, 1, 0.32, 1)
}

.idea-modal-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(8px)
}

.idea-modal {
    position: relative;
    z-index: 9999;
    background: var(--bg-glass, rgba(255, 255, 255, 0.95));
    border: 1px solid var(--border-glass, rgba(255, 255, 255, 0.2));
    border-radius: var(--radius-card, 20px);
    backdrop-filter: blur(12px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    max-width: 560px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    animation: modalSlideIn 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    scrollbar-width: thin;
    scrollbar-color: var(--blue-400, #3b82f6) transparent
}

.idea-modal-overlay.is-closing .idea-modal {
    animation: modalSlideOut 0.3s cubic-bezier(0.23, 1, 0.32, 1) forwards
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: scale(0.95) translateY(20px)
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0)
    }
}

@keyframes modalSlideOut {
    from {
        opacity: 1;
        transform: scale(1) translateY(0)
    }

    to {
        opacity: 0;
        transform: scale(0.95) translateY(20px)
    }
}

.idea-modal::-webkit-scrollbar {
    width: 8px
}

.idea-modal::-webkit-scrollbar-track {
    background: transparent
}

.idea-modal::-webkit-scrollbar-thumb {
    background: var(--blue-400, #3b82f6);
    border-radius: 4px
}

.idea-modal::-webkit-scrollbar-thumb:hover {
    background: var(--blue-500, #0ea5e9)
}

.idea-modal-header {
    position: relative;
    padding: 2rem;
    border-bottom: 1px solid var(--border-glass, rgba(255, 255, 255, 0.1));
    display: flex;
    align-items: flex-start;
    justify-content: space-between
}

.idea-modal-title {
    font-size: 1.75rem;
    font-weight: 700;
    margin: 0;
    letter-spacing: -0.5px
}

.idea-modal-title-accent {
    background: linear-gradient(135deg, var(--blue-500, #0ea5e9), var(--purple, #a855f7));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.idea-modal-close-btn {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted, #666);
    transition: color 0.2s ease, transform 0.2s ease
}

body.light .idea-modal-close-btn {
    color: #6b7280
}

body.light .idea-modal-close-btn:hover {
    color: #1f2937
}

.idea-modal-close-btn:hover {
    color: var(--text-bright, #1a1a1a);
    transform: scale(1.1)
}

.idea-modal-close-btn:focus {
    outline: 2px solid var(--blue-400, #3b82f6);
    outline-offset: 2px;
    border-radius: 6px
}

.idea-modal-body {
    padding: 2rem
}

.idea-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

.idea-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem
}

@media (max-width:640px) {
    .idea-form-row {
        grid-template-columns: 1fr
    }
}

.idea-form-field {
    display: flex;
    flex-direction: column;
    gap: 0.5rem
}

.idea-form-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--text-bright, #1a1a1a);
    display: flex;
    align-items: center;
    gap: 0.25rem
}

.idea-form-label-required {
    color: var(--blue-500, #0ea5e9)
}

.idea-form-input,
.idea-form-select,
.idea-form-textarea {
    background: var(--bg-input, rgba(255, 255, 255, 0.5));
    border: 1px solid var(--border-glass, rgba(255, 255, 255, 0.2));
    border-radius: 12px;
    padding: 0.875rem 1rem;
    font-size: 0.95rem;
    color: var(--text-bright, #1a1a1a);
    font-family: inherit;
    transition: all 0.2s ease
}

.idea-form-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.875rem center;
    padding-right: 2.5rem
}

body.light .idea-form-select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234b5563' d='M6 9L1 4h10z'/%3E%3C/svg%3E")
}

.idea-form-input::placeholder,
.idea-form-textarea::placeholder {
    color: var(--text-muted, #999)
}

.idea-form-input:focus,
.idea-form-select:focus,
.idea-form-textarea:focus {
    outline: none;
    background: var(--bg-input-focus, rgba(255, 255, 255, 0.7));
    border-color: var(--blue-400, #3b82f6);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1)
}

.idea-form-input.error,
.idea-form-select.error,
.idea-form-textarea.error {
    border-color: #ef4444;
    background: rgba(239, 68, 68, 0.05)
}

body.light .idea-form-input.error,
body.light .idea-form-select.error,
body.light .idea-form-textarea.error {
    background: #fef2f2;
    border-color: #dc2626
}

.idea-form-textarea {
    resize: vertical;
    min-height: 120px;
    font-family: inherit
}

.idea-form-helper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.85rem;
    color: var(--text-muted, #999)
}

body.light .idea-form-helper {
    color: #6b7280
}

body.light .idea-form-error {
    color: #dc2626
}

.idea-form-error {
    color: #ef4444;
    font-size: 0.85rem;
    margin-top: 0.25rem;
    display: none
}

.idea-form-error.show {
    display: block
}

.idea-form-char-count {
    font-weight: 600
}

body.light .idea-form-char-count {
    color: #4b5563
}

.idea-form-char-count.warning {
    color: #f59e0b
}

body.light .idea-form-char-count.warning {
    color: #d97706
}

.idea-form-char-count.error {
    color: #ef4444
}

body.light .idea-form-char-count.error {
    color: #dc2626
}

.idea-form-checkbox-wrap {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem
}

.idea-form-checkbox {
    width: 20px;
    height: 20px;
    min-width: 20px;
    margin-top: 0.25rem;
    cursor: pointer;
    accent-color: var(--blue-500, #0ea5e9)
}

body.light .idea-form-checkbox {
    accent-color: #0ea5e9
}

.idea-form-checkbox-label {
    font-size: 0.9rem;
    color: var(--text-body, #333);
    cursor: pointer;
    line-height: 1.5
}

.idea-form-checkbox-label a {
    color: var(--blue-500, #0ea5e9);
    text-decoration: none;
    font-weight: 600
}

.idea-form-checkbox-label a:hover {
    text-decoration: underline
}

.idea-form-submit {
    background: linear-gradient(135deg, var(--blue-500, #0ea5e9), var(--purple, #a855f7));
    border: none;
    border-radius: 12px;
    padding: 1rem;
    font-size: 1rem;
    font-weight: 700;
    color: white;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1rem
}

body.light .idea-form-submit {
    background: linear-gradient(135deg, #0ea5e9, #7c3aed);
    box-shadow: 0 4px 12px rgba(14, 165, 233, 0.3)
}

.idea-form-submit:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(14, 165, 233, 0.4)
}

.idea-form-submit:active:not(:disabled) {
    transform: translateY(0)
}

.idea-form-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed
}

.idea-form-submit:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.2), 0 8px 24px rgba(14, 165, 233, 0.4)
}

.idea-form-submit.loading {
    pointer-events: none
}

.idea-spinner {
    display: none;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.8s linear infinite
}

.idea-form-submit.loading .idea-spinner {
    display: block
}

@keyframes spin {
    to {
        transform: rotate(360deg)
    }
}

.idea-modal-success {
    display: none;
    text-align: center;
    padding: 3rem 2rem;
    animation: fadeIn 0.4s ease
}

.idea-modal-success.show {
    display: block
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.idea-success-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 1.5rem;
    background: linear-gradient(135deg, var(--blue-500, #0ea5e9), var(--purple, #a855f7));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: scaleIn 0.5s cubic-bezier(0.23, 1, 0.32, 1)
}

@keyframes scaleIn {
    from {
        transform: scale(0)
    }

    to {
        transform: scale(1)
    }
}

.idea-success-icon svg {
    width: 36px;
    height: 36px;
    color: white
}

.idea-success-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-bright, #1a1a1a);
    margin: 1rem 0
}

.idea-success-message {
    font-size: 0.95rem;
    color: var(--text-body, #333);
    margin-bottom: 0
}

body.light .idea-modal {
    background: #ffffff;
    color: #1a1a1a;
    border-color: #e5e7eb
}

body.light .idea-modal-header {
    border-bottom-color: #e5e7eb
}

body.light .idea-form-label {
    color: #1f2937
}

body.light .idea-form-checkbox-label {
    color: #374151
}

body:not(.light) .idea-modal {
    background: rgba(20, 25, 35, 0.95);
    color: #e5e5e5
}

body.light .idea-form-input,
body.light .idea-form-select,
body.light .idea-form-textarea {
    background: #f8f9fa;
    border-color: #d1d5db;
    color: #1a1a1a;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05)
}

body.light .idea-form-input::placeholder,
body.light .idea-form-textarea::placeholder {
    color: #6b7280
}

body:not(.light) .idea-form-input,
body:not(.light) .idea-form-select,
body:not(.light) .idea-form-textarea {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1)
}

body.light .idea-form-input:focus,
body.light .idea-form-select:focus,
body.light .idea-form-textarea:focus {
    background: #ffffff;
    border-color: #0ea5e9;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.1), inset 0 1px 3px rgba(0, 0, 0, 0.05)
}

body:not(.light) .idea-form-input:focus,
body:not(.light) .idea-form-select:focus,
body:not(.light) .idea-form-textarea:focus {
    background: rgba(255, 255, 255, 0.1)
}

@media (max-width:640px) {
    .idea-modal {
        max-width: 100%;
        border-radius: 16px
    }

    .idea-modal-header {
        padding: 1.5rem
    }

    .idea-modal-body {
        padding: 1.5rem
    }

    .idea-modal-title {
        font-size: 1.5rem
    }

    .idea-form-label {
        font-size: 0.9rem
    }

    .idea-form-input,
    .idea-form-select,
    .idea-form-textarea {
        font-size: 16px
    }

    .idea-form-checkbox-label {
        font-size: 0.85rem
    }
}

@media (max-width:360px) {
    .idea-modal {
        max-width: 100%;
        border-radius: 12px;
        margin: 0.5rem
    }

    .idea-modal-header {
        padding: 1.1rem 1rem
    }

    .idea-modal-body {
        padding: 1rem
    }

    .idea-modal-title {
        font-size: 1.2rem
    }

    .idea-form-input,
    .idea-form-select,
    .idea-form-textarea {
        padding: 0.7rem 0.85rem;
        font-size: 16px
    }

    .idea-form-label {
        font-size: 0.82rem
    }

    .idea-form-submit {
        font-size: 0.9rem;
        padding: 0.75rem 1rem
    }
}

.idea-modal:focus-visible {
    outline: 2px solid var(--blue-400, #3b82f6);
    outline-offset: -4px
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

body.light {
    --bg-dark: #ffffff;
    --bg-light: #F8FAFC;
    --bg-glass: rgba(255, 255, 255, 0.88);
    --border-glass: rgba(91, 91, 255, 0.10);
    --text-bright: #0f172a;
    --text-muted: #64748b;
    --text-body: #334155;
    --bg-surface: rgba(91, 91, 255, 0.04);
    --blue-500: #6366f1;
    --blue-400: #818cf8;
    --blue-300: #a5b4fc;
    --indigo-300: #c4b5fd;
    --purple: #8B5CF6;
    --purple-light: #a78bfa;
    --violet-200: #ede9fe;
    --radius-card: 20px;
    background: var(--ph-bg-base, #f8fafc) !important;
    color: #0f172a !important
}

::-webkit-scrollbar {
    width: 5px
}

::-webkit-scrollbar-track {
    background: #f1f5f9
}

::-webkit-scrollbar-thumb {
    background: rgba(99, 102, 241, .35);
    border-radius: 999px
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(99, 102, 241, .6)
}

body.light .aurora-section {
    background: #ffffff !important
}

body.light .aurora-bg {
    display: none !important
}

body.light .aurora-radial-mask {
    display: none !important
}

body.light .aurora-section::before {
    content: '';
    position: absolute;
    top: -5%;
    left: -8%;
    width: 55%;
    height: 85%;
    background: radial-gradient(ellipse, rgba(139, 92, 246, .13) 0%, rgba(99, 102, 241, .06) 40%, transparent 68%);
    border-radius: 50%;
    filter: blur(70px);
    pointer-events: none;
    animation: blobDrift 10s ease-in-out infinite
}

body.light .aurora-section::after {
    content: '';
    position: absolute;
    top: -3%;
    right: -6%;
    width: 48%;
    height: 75%;
    background: radial-gradient(ellipse, rgba(96, 165, 250, .11) 0%, rgba(139, 92, 246, .06) 45%, transparent 68%);
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
    animation: blobDrift 13s ease-in-out infinite reverse
}

@keyframes blobDrift {

    0%,
    100% {
        transform: translateY(0) scale(1)
    }

    50% {
        transform: translateY(-18px) scale(1.05)
    }
}

body.light.bg-purple-left::before {
    background: radial-gradient(ellipse 60% 70% at 0% 0%, rgba(139, 92, 246, .09) 0%, transparent 60%), radial-gradient(ellipse 55% 60% at 100% 0%, rgba(96, 165, 250, .08) 0%, transparent 60%), radial-gradient(ellipse 40% 50% at 50% 100%, rgba(91, 91, 255, .05) 0%, transparent 60%) !important
}

body.light .navbar__brand {
    color: #0f172a !important;
    font-weight: 700 !important
}

body.light .theme-toggle {
    border: 1px solid rgba(0, 0, 0, .1) !important;
    background: rgba(0, 0, 0, .03) !important;
    color: #64748b !important
}

body.light .theme-toggle:hover {
    border-color: rgba(99, 102, 241, .25) !important;
    color: #6366f1 !important
}

body.light .btn-cta,
body.light a.btn-cta,
body.light button.btn-cta {
    background: linear-gradient(135deg, #6366f1 0%, #8B5CF6 100%) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 4px 18px rgba(99, 102, 241, .3) !important;
    font-weight: 600 !important;
    transition: box-shadow .25s, transform .15s !important
}

body.light .btn-cta:hover,
body.light a.btn-cta:hover {
    box-shadow: 0 6px 28px rgba(99, 102, 241, .45) !important;
    transform: translateY(-1px) !important;
    color: #fff !important
}

body.light .hamburger {
    background: rgba(0, 0, 0, .04) !important;
    color: #334155 !important;
    border: 1px solid rgba(0, 0, 0, .08) !important
}

body.light .mobile-nav,
body.light .nav-drawer,
body.light [class*="mobile-nav"] {
    background: rgba(255, 255, 255, .97) !important;
    border: 1px solid rgba(91, 91, 255, .1) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .12) !important
}

body.light .hero-title {
    color: #0f172a !important;
    font-weight: 800 !important;
    letter-spacing: -0.035em !important;
    line-height: 1.06 !important
}

body.light .hero-title__gradient {
    background: linear-gradient(135deg, #6366f1 0%, #8B5CF6 50%, #60A5FA 100%) !important;
    background-size: 100% !important;
    animation: none !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important
}

body.light .hero-desc {
    color: #64748b !important;
    line-height: 1.78 !important;
    font-size: 1.02rem !important
}

body.light .hero-tag {
    border: 1px solid rgba(99, 102, 241, .22) !important;
    background: rgba(99, 102, 241, .07) !important;
    color: #6366f1 !important;
    font-weight: 600 !important;
    font-size: 0.78rem !important;
    letter-spacing: .03em !important
}

body.light .hero-tag__dot {
    background: #6366f1 !important;
    box-shadow: 0 0 8px rgba(99, 102, 241, .7) !important
}

body.light .btn-hero-primary {
    background: linear-gradient(135deg, #6366f1 0%, #8B5CF6 100%) !important;
    color: #fff !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 20px rgba(99, 102, 241, .35) !important;
    animation: none !important;
    transition: box-shadow .25s, transform .15s, filter .2s !important
}

body.light .btn-hero-primary:hover {
    box-shadow: 0 8px 32px rgba(99, 102, 241, .5) !important;
    transform: translateY(-2px) !important;
    filter: brightness(1.07) !important;
    color: #fff !important
}

body.light .btn-hero-primary:active {
    transform: translateY(0) scale(.97) !important
}

body.light .btn-hero-ghost {
    color: #334155 !important;
    border: 1px solid rgba(0, 0, 0, .12) !important;
    background: rgba(255, 255, 255, .7) !important;
    font-weight: 500 !important;
    transition: border-color .2s, background .2s, transform .15s !important
}

body.light .btn-hero-ghost:hover {
    color: #6366f1 !important;
    border-color: rgba(99, 102, 241, .3) !important;
    background: rgba(99, 102, 241, .05) !important;
    transform: translateY(-1px) !important
}

body.light .hero-trust-bar {
    background: rgba(255, 255, 255, .85) !important;
    border: 1px solid rgba(91, 91, 255, .1) !important;
    box-shadow: 0 2px 16px rgba(0, 0, 0, .06) !important;
    backdrop-filter: blur(12px) !important
}

body.light .hero-trust-value {
    font-weight: 800 !important;
    font-size: 1.25rem !important;
    background: linear-gradient(135deg, #6366f1, #8B5CF6) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important
}

body.light .hero-trust-label {
    color: #64748b !important;
    font-size: .72rem !important
}

body.light .hero-trust-divider {
    background: rgba(99, 102, 241, .18) !important
}

body.light .real-robot-container {
    filter: drop-shadow(0 0 40px rgba(99, 102, 241, .2)) !important
}

body.light #about {
    background: linear-gradient(180deg, #ffffff 0%, #F8FAFC 100%) !important;
    position: relative
}

body.light #about::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(99, 102, 241, .08) 1px, transparent 1px);
    background-size: 28px 28px;
    pointer-events: none;
    z-index: 0
}

body.light #about>* {
    position: relative;
    z-index: 1
}

body.light .about-badge {
    border: 1px solid rgba(99, 102, 241, .22) !important;
    background: rgba(99, 102, 241, .07) !important;
    color: #6366f1 !important;
    font-weight: 600 !important;
    font-size: .75rem !important;
    letter-spacing: .04em !important
}

body.light .about-badge__dot {
    background: #6366f1 !important;
    box-shadow: 0 0 8px rgba(99, 102, 241, .7) !important
}

body.light .about-title {
    color: #0f172a !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important
}

body.light .about-desc {
    color: #64748b !important;
    line-height: 1.75 !important
}

body.light .gradient-word {
    background: linear-gradient(135deg, #6366f1, #8B5CF6, #60A5FA) !important;
    background-size: 100% !important;
    animation: none !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important
}

body.light .audience-card {
    background: #ffffff !important;
    border: 1px solid rgba(99, 102, 241, .1) !important;
    border-radius: 22px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .06), 0 1px 4px rgba(0, 0, 0, .04) !important;
    transition: transform .32s cubic-bezier(.23, 1, .32, 1), box-shadow .32s, border-color .32s !important;
    position: relative;
    overflow: hidden
}

body.light .audience-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: 22px 22px 0 0;
    opacity: 0;
    transition: opacity .32s
}

body.light .audience-card--students::after {
    background: linear-gradient(90deg, #6366f1, #8B5CF6)
}

body.light .audience-card--business::after {
    background: linear-gradient(90deg, #60A5FA, #6366f1)
}

body.light .audience-card:hover {
    transform: translateY(-8px) scale(1.01) !important;
    box-shadow: 0 0 0 1px rgba(99, 102, 241, .2), 0 20px 60px rgba(99, 102, 241, .14), 0 4px 12px rgba(0, 0, 0, .06) !important;
    border-color: rgba(99, 102, 241, .28) !important
}

body.light .audience-card:hover::after {
    opacity: 1
}

body.light .audience-card__title {
    color: #0f172a !important;
    font-weight: 700 !important
}

body.light .audience-card__desc {
    color: #64748b !important
}

body.light .audience-card__list li {
    color: #334155 !important
}

body.light .audience-card__btn--primary {
    background: linear-gradient(135deg, #6366f1, #8B5CF6) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 4px 16px rgba(99, 102, 241, .28) !important;
    font-weight: 600 !important;
    transition: box-shadow .22s, transform .15s !important
}

body.light .audience-card__btn--primary:hover {
    box-shadow: 0 6px 24px rgba(99, 102, 241, .45) !important;
    transform: translateY(-2px) !important
}

body.light .audience-card__btn--call {
    background: linear-gradient(135deg, #6366f1, #60A5FA) !important;
    color: #fff !important;
    border: none !important
}

body.light .marquee-tag {
    background: rgba(99, 102, 241, .06) !important;
    border: 1px solid rgba(99, 102, 241, .15) !important;
    color: #6366f1 !important;
    font-weight: 500 !important
}

body.light .marquee-tag:hover {
    background: rgba(99, 102, 241, .12) !important;
    border-color: rgba(99, 102, 241, .28) !important
}

body.light #projects {
    background: #F8FAFC !important
}

body.light .projects-title {
    color: #0f172a !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important
}

body.light .projects-title__gradient {
    background: linear-gradient(135deg, #6366f1, #8B5CF6, #60A5FA) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important
}

body.light .project-card {
    background: #ffffff !important;
    border: 1px solid rgba(99, 102, 241, .09) !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .06) !important;
    transition: transform .32s cubic-bezier(.23, 1, .32, 1), box-shadow .32s, border-color .32s !important;
    overflow: hidden
}

body.light .project-card:hover,
body.light .project-card--clickable:hover {
    transform: translateY(-8px) scale(1.01) !important;
    box-shadow: 0 0 0 1px rgba(99, 102, 241, .2), 0 20px 56px rgba(99, 102, 241, .13), 0 4px 12px rgba(0, 0, 0, .06) !important;
    border-color: rgba(99, 102, 241, .28) !important
}

body.light .project-card__title {
    color: #0f172a !important;
    font-weight: 700 !important
}

body.light .project-card__desc {
    color: #64748b !important
}

body.light .project-card__link {
    color: #6366f1 !important;
    font-weight: 600 !important
}

body.light .project-card__link:hover {
    color: #8B5CF6 !important
}

body.light .project-tag {
    background: rgba(99, 102, 241, .07) !important;
    border: 1px solid rgba(99, 102, 241, .15) !important;
    color: #6366f1 !important;
    font-size: .7rem !important;
    font-weight: 600 !important
}

body.light .laptop-screen {
    background: #1e293b !important;
    border: 1px solid rgba(0, 0, 0, .12) !important
}

body.light .breakout-card {
    background: #ffffff !important;
    border: 1px solid rgba(99, 102, 241, .1) !important;
    border-radius: 22px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .07) !important;
    transition: box-shadow .3s, border-color .3s !important
}

body.light .breakout-card:hover {
    box-shadow: 0 0 0 1px rgba(99, 102, 241, .15), 0 16px 48px rgba(99, 102, 241, .1) !important;
    border-color: rgba(99, 102, 241, .22) !important
}

body.light .breakout-title {
    color: #0f172a !important;
    font-weight: 700 !important
}

body.light .breakout-body {
    color: #64748b !important
}

body.light .breakout-list__item {
    color: #334155 !important
}

body.light .breakout-list__item strong {
    color: #0f172a !important
}

body.light .about-bottom,
body.light [class*="numbers"],
body.light [id*="numbers"] {
    background: #ffffff !important
}

body.light .about-stat,
body.light .stat-card,
body.light .about-stat-card,
body.light div[class*="stat-card"]:not([class*="__"]),
body.light div[class*="about-stat"]:not([class*="__"]) {
    background: #ffffff !important;
    border: 1px solid rgba(99, 102, 241, .1) !important;
    border-radius: 18px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .05) !important;
    transition: transform .28s, box-shadow .28s !important
}

body.light .about-stat:hover,
body.light .stat-card:hover,
body.light .about-stat-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .08) !important
}

body.light .stat-value,
body.light .about-stat__value,
body.light .about-stat-card__value,
body.light [class*="stat-value"],
body.light [class*="stat-card__value"] {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #0f172a !important;
    font-weight: 800 !important;
    display: inline-block !important
}

body.light .stat-label,
body.light .about-stat-card__label,
body.light [class*="stat-label"],
body.light [class*="stat-card__label"] {
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #64748b !important
}

body.light #pricing {
    background: #F8FAFC !important;
    position: relative
}

body.light .pricing-badge {
    border: 1px solid rgba(99, 102, 241, .22) !important;
    background: rgba(99, 102, 241, .07) !important;
    color: #6366f1 !important;
    font-weight: 600 !important
}

body.light .pricing-badge__dot {
    background: #6366f1 !important;
    box-shadow: 0 0 8px rgba(99, 102, 241, .7) !important
}

body.light .pricing-title {
    color: #0f172a !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important
}

body.light .pricing-title__gradient {
    background: linear-gradient(135deg, #6366f1, #8B5CF6) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important
}

body.light .pricing-desc {
    color: #64748b !important
}

body.light .pricing-card {
    background: #ffffff !important;
    border: 1px solid rgba(99, 102, 241, .1) !important;
    border-radius: 22px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .06) !important;
    transition: transform .32s cubic-bezier(.23, 1, .32, 1), box-shadow .32s, border-color .32s !important
}

body.light .pricing-card.visible:hover {
    transform: translateY(-8px) scale(1.01) !important;
    box-shadow: 0 0 0 1px rgba(99, 102, 241, .22), 0 20px 56px rgba(99, 102, 241, .12) !important;
    border-color: rgba(99, 102, 241, .28) !important
}

body.light .pricing-card--featured {
    background: linear-gradient(160deg, #ffffff 0%, rgba(99, 102, 241, .04) 100%) !important;
    border: 1.5px solid rgba(99, 102, 241, .28) !important;
    box-shadow: 0 0 0 1px rgba(99, 102, 241, .1), 0 12px 40px rgba(99, 102, 241, .15) !important
}

body.light .pricing-card__name,
body.light [class*="pricing-plan"] {
    color: #0f172a !important;
    font-weight: 700 !important
}

body.light .pricing-amount,
body.light [class*="pricing-amount"] {
    color: #0f172a !important;
    font-weight: 800 !important
}

body.light .pricing-period,
body.light [class*="pricing-period"] {
    color: #64748b !important
}

body.light .billing-label {
    color: #64748b !important
}

body.light .billing-save {
    background: rgba(99, 102, 241, .1) !important;
    border: 1px solid rgba(99, 102, 241, .2) !important;
    color: #6366f1 !important
}

body.light [class*="testimonial-section"],
body.light [id*="testimonial"] {
    background: #ffffff !important
}

body.light [class*="testimonial-card"],
body.light .testimonial-card {
    background: #ffffff !important;
    border: 1px solid rgba(99, 102, 241, .09) !important;
    border-radius: 22px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .06) !important;
    transition: transform .3s, box-shadow .3s !important
}

body.light [class*="testimonial-card"]:hover,
body.light .testimonial-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 0 0 1px rgba(99, 102, 241, .15), 0 16px 44px rgba(99, 102, 241, .1) !important
}

body.light [class*="testimonial-text"] {
    color: #334155 !important
}

body.light [class*="testimonial-author"] {
    color: #0f172a !important;
    font-weight: 600 !important
}

body.light [class*="testimonial-role"] {
    color: #64748b !important
}

body.light .faq-section {
    background: #F8FAFC !important
}

body.light .faq-section::before,
body.light .faq-section::after {
    opacity: .04 !important
}

body.light .faq-title {
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    background: linear-gradient(to right, #0f172a 0%, #334155 50%, #6366f1 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important
}

body.light .faq-desc {
    color: #64748b !important
}

body.light .faq-item {
    background: #ffffff !important;
    border: 1px solid rgba(99, 102, 241, .09) !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .04) !important;
    transition: border-color .28s, box-shadow .28s !important
}

body.light .faq-item::before {
    background: linear-gradient(to bottom, #6366f1, #8B5CF6) !important
}

body.light .faq-item:hover {
    border-color: rgba(99, 102, 241, .2) !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .07) !important
}

body.light .faq-item.active {
    border-color: rgba(99, 102, 241, .35) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 1px rgba(99, 102, 241, .08), 0 12px 36px rgba(99, 102, 241, .1) !important
}

body.light .faq-question {
    color: #0f172a !important;
    font-weight: 600 !important
}

body.light .faq-item.active .faq-question {
    color: #6366f1 !important
}

body.light .faq-answer-inner {
    color: #64748b !important;
    line-height: 1.75 !important
}

body.light .faq-icon {
    color: #64748b !important
}

body.light .faq-item.active .faq-icon {
    color: #ffffff !important
}

body.light .contact-section {
    background: #ffffff !important
}

body.light .contact-badge {
    border: 1px solid rgba(34, 197, 94, .28) !important;
    background: rgba(34, 197, 94, .07) !important;
    color: #16a34a !important;
    font-weight: 600 !important
}

body.light .contact-badge__dot {
    background: #22c55e !important;
    box-shadow: 0 0 8px rgba(34, 197, 94, .6) !important
}

body.light .contact-heading {
    color: #0f172a !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important
}

body.light .contact-heading__gradient {
    background: linear-gradient(135deg, #6366f1, #8B5CF6) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important
}

body.light .contact-desc {
    color: #64748b !important
}

body.light .contact-detail-label {
    color: #64748b !important
}

body.light .contact-detail-value {
    color: #0f172a !important
}

body.light .contact-detail-icon {
    background: rgba(99, 102, 241, .08) !important;
    border: 1px solid rgba(99, 102, 241, .15) !important;
    color: #6366f1 !important
}

body.light .contact-detail-item:hover .contact-detail-icon {
    background: rgba(99, 102, 241, .14) !important;
    box-shadow: 0 0 18px rgba(99, 102, 241, .2) !important
}

body.light .contact-form-wrap {
    background: #ffffff !important;
    border: 1px solid rgba(99, 102, 241, .1) !important;
    border-radius: 24px !important;
    box-shadow: 0 8px 40px rgba(0, 0, 0, .08) !important;
    padding: 2rem !important
}

body.light .contact-form__label {
    color: #334155 !important;
    font-weight: 600 !important;
    font-size: .875rem !important
}

body.light .contact-form__input,
body.light .contact-form__textarea {
    background: #F8FAFC !important;
    border: 1px solid rgba(99, 102, 241, .12) !important;
    color: #0f172a !important;
    border-radius: 12px !important;
    transition: border-color .2s, box-shadow .2s !important
}

body.light .contact-form__input::placeholder,
body.light .contact-form__textarea::placeholder {
    color: #94a3b8 !important
}

body.light .contact-form__input:hover,
body.light .contact-form__textarea:hover {
    border-color: rgba(99, 102, 241, .25) !important
}

body.light .contact-form__input:focus,
body.light .contact-form__textarea:focus {
    border-color: rgba(99, 102, 241, .5) !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, .12) !important;
    outline: none !important
}

body.light .contact-form__submit {
    background: linear-gradient(135deg, #6366f1, #8B5CF6) !important;
    color: #fff !important;
    border: none !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 18px rgba(99, 102, 241, .3) !important;
    transition: box-shadow .22s, transform .15s, filter .2s !important
}

body.light .contact-form__submit:hover {
    box-shadow: 0 8px 28px rgba(99, 102, 241, .48) !important;
    transform: translateY(-2px) !important;
    filter: brightness(1.07) !important
}

body.light .site-footer {
    background: var(--ph-bg-base, #f8fafc) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
    color: #64748b !important
}

body.light .site-footer::before {
    display: none !important
}

body.light .footer-nav-col h6,
body.light .footer-nav-col .footer-col-title,
body.light [class*="footer-col-title"] {
    color: #475569 !important;
    font-size: .7rem !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important
}

body.light .footer-nav-col a:not(.footer-whatsapp-cta) {
    color: #64748b !important;
    font-size: .875rem !important;
    transition: color .18s !important;
    display: inline-block
}

body.light .footer-nav-col a:not(.footer-whatsapp-cta):hover {
    color: var(--ph-primary, #6366f1) !important
}

body.light .footer-bottom {
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    color: #64748b !important
}

body.light .footer-bottom a {
    color: #64748b !important
}

body.light .footer-bottom a:hover {
    color: var(--ph-primary, #6366f1) !important
}

body.light .footer-brand p,
body.light .footer-tagline {
    color: #64748b !important
}

body.light .footer-social-legacy a {
    background: rgba(255, 255, 255, .06) !important;
    border: 1px solid rgba(255, 255, 255, .08) !important;
    color: #94a3b8 !important;
    transition: background .18s, color .18s !important
}

body.light .footer-social-legacy a:hover {
    background: rgba(99, 102, 241, .2) !important;
    color: #e2e8f0 !important
}

body.light .newsletter-input,
body.light [class*="newsletter"] input {
    background: rgba(255, 255, 255, .07) !important;
    border: 1px solid rgba(255, 255, 255, .1) !important;
    color: #e2e8f0 !important;
    border-radius: 8px !important
}

body.light .newsletter-btn,
body.light [class*="newsletter"] button {
    background: linear-gradient(135deg, #6366f1, #8B5CF6) !important;
    color: #fff !important;
    border: none !important
}

body.light .pricing-dot-grid {
    background-image: radial-gradient(rgba(99, 102, 241, .07) 1px, transparent 1px) !important
}

body.light .pricing-spotlight {
    opacity: .35 !important
}

body.light .contact-dot-grid {
    background-image: radial-gradient(rgba(99, 102, 241, .06) 1px, transparent 1px) !important
}

body.light .gate-modal,
body.light [class*="gate-modal"] {
    background: rgba(255, 255, 255, .97) !important;
    border: 1px solid rgba(99, 102, 241, .12) !important;
    border-radius: 24px !important;
    box-shadow: 0 32px 80px rgba(0, 0, 0, .15) !important;
    color: #0f172a !important
}

body.light [class*="gate-title"] {
    color: #0f172a !important;
    font-weight: 800 !important
}

body.light [class*="gate-input"] {
    border: 1px solid rgba(99, 102, 241, .15) !important;
    background: #F8FAFC !important;
    color: #0f172a !important;
    border-radius: 12px !important
}

body.light [class*="gate-input"]:focus {
    border-color: rgba(99, 102, 241, .5) !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, .12) !important
}

body.light [class*="gate-btn"] {
    background: linear-gradient(135deg, #6366f1, #8B5CF6) !important;
    color: #fff !important;
    border: none !important;
    font-weight: 700 !important
}

body.light .idea-modal {
    background: rgba(255, 255, 255, .97) !important;
    border: 1px solid rgba(99, 102, 241, .1) !important;
    border-radius: 24px !important;
    box-shadow: 0 32px 80px rgba(0, 0, 0, .15) !important
}

body.light .workshop-card,
body.light [class*="workshop-card"] {
    background: #ffffff !important;
    border: 1px solid rgba(99, 102, 241, .1) !important;
    border-radius: 20px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .06) !important;
    transition: transform .3s, box-shadow .3s !important
}

body.light .workshop-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 44px rgba(0, 0, 0, .1) !important
}

body.light .hamburger-line {
    background: #334155 !important
}

body.light h1,
body.light h2,
body.light h3,
body.light h4 {
    color: #0f172a
}

body.light p {
    color: #64748b
}

@media (max-width:767px) {

    body.light .aurora-section::before,
    body.light .aurora-section::after {
        animation: none !important
    }
}

.ai-chatbot-widget {
    position: fixed !important;
    bottom: 1.75rem !important;
    right: 1.75rem !important;
    z-index: 9999 !important;
    font-family: var(--ph-font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    pointer-events: none !important
}

.ai-chatbot-widget * {
    box-sizing: border-box
}

.ai-chatbot-toggle {
    pointer-events: auto !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #06b6d4 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 8px 28px rgba(99, 102, 241, 0.45), 0 0 16px rgba(6, 182, 212, 0.25) !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    position: relative !important;
    outline: none !important;
    user-select: none !important;
    -webkit-tap-highlight-color: transparent !important;
    padding: 0 !important;
    margin: 0 !important
}

.ai-chatbot-toggle::before {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    border: 2px solid rgba(99, 102, 241, 0.6);
    opacity: 0;
    animation: aiChatbotPulse 2.8s infinite ease-in-out;
    pointer-events: none
}

@keyframes aiChatbotPulse {
    0% {
        transform: scale(0.95);
        opacity: 0.8
    }

    50% {
        transform: scale(1.18);
        opacity: 0
    }

    100% {
        transform: scale(0.95);
        opacity: 0
    }
}

.ai-chatbot-toggle:hover {
    transform: scale(1.08) translateY(-2px) !important;
    box-shadow: 0 12px 35px rgba(99, 102, 241, 0.6), 0 0 24px rgba(6, 182, 212, 0.4) !important
}

.ai-chatbot-toggle:active {
    transform: scale(0.94) !important
}

.ai-chatbot-toggle:focus-visible {
    outline: 2px solid #38bdf8 !important;
    outline-offset: 4px !important
}

.ai-chatbot-toggle.is-active {
    background: linear-gradient(135deg, #4f46e5 0%, #3730a3 100%) !important;
    transform: scale(0.96) !important;
    box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45) !important
}

.ai-chatbot-toggle.is-active::before {
    display: none !important
}

.ai-chatbot-toggle .chatbot-icon {
    width: 26px;
    height: 26px;
    stroke: #ffffff;
    stroke-width: 2;
    fill: none;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
    pointer-events: none
}

.ai-chatbot-toggle .chatbot-icon--close {
    display: none
}

.ai-chatbot-toggle.is-active .chatbot-icon--chat {
    display: none
}

.ai-chatbot-toggle.is-active .chatbot-icon--close {
    display: block;
    animation: aiIconSpinIn 0.25s cubic-bezier(0.16, 1, 0.3, 1) both
}

@keyframes aiIconSpinIn {
    from {
        transform: rotate(-90deg) scale(0.7);
        opacity: 0
    }

    to {
        transform: rotate(0) scale(1);
        opacity: 1
    }
}

.ai-chatbot-badge {
    display: none !important
}

.ai-chatbot-window {
    pointer-events: auto !important;
    position: absolute !important;
    bottom: 74px !important;
    right: 0 !important;
    width: 380px !important;
    max-width: calc(100vw - 2rem) !important;
    height: 540px !important;
    max-height: calc(100dvh - 100px) !important;
    background: rgba(255, 255, 255, 0.97) !important;
    backdrop-filter: blur(24px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: 20px !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.15), 0 0 30px rgba(99, 102, 241, 0.12) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transform: scale(0.92) translateY(20px) !important;
    transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s !important;
    overflow: hidden !important;
    z-index: 8001 !important;
    transform-origin: bottom right !important
}

.ai-chatbot-window.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: scale(1) translateY(0) !important
}

.ai-chatbot-header {
    padding: 0.85rem 1.15rem;
    background: rgba(241, 245, 249, 0.95) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 20px 20px 0 0;
    flex-shrink: 0
}

.ai-chatbot-header-title {
    display: flex;
    align-items: center;
    gap: 0.75rem
}

.ai-chatbot-logo {
    height: 38px;
    width: auto;
    object-fit: contain;
    display: block
}

.ai-chatbot-logo--dark {
    display: none !important
}

.ai-chatbot-logo--light {
    display: block !important
}

body.light .ai-chatbot-logo--dark {
    display: none !important
}

body.light .ai-chatbot-logo--light {
    display: block !important
}

.ai-chatbot-header-info {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.ai-chatbot-name {
    font-family: var(--ph-font-heading, sans-serif);
    font-size: 0.95rem;
    font-weight: 700;
    color: #0f172a !important;
    letter-spacing: -0.01em;
    line-height: 1.2
}

.ai-chatbot-status {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    color: #64748b !important;
    font-weight: 500
}

.ai-chatbot-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 8px #10b981;
    animation: statusPulse 2s ease-in-out infinite
}

@keyframes statusPulse {

    0%,
    100% {
        opacity: 1;
        transform: scale(1)
    }

    50% {
        opacity: 0.4;
        transform: scale(0.85)
    }
}

.ai-chatbot-close {
    background: rgba(0, 0, 0, 0.05) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 8px;
    color: #64748b !important;
    cursor: pointer;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    padding: 0
}

.ai-chatbot-close:hover {
    background: rgba(0, 0, 0, 0.1) !important;
    color: #0f172a !important;
    transform: scale(1.05)
}

.ai-chatbot-close svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    stroke-width: 2.2
}

.ai-chatbot-messages {
    flex: 1;
    overflow-y: auto;
    padding: 1.15rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    background: #f8fafc !important
}

.ai-chatbot-messages::-webkit-scrollbar {
    width: 5px
}

.ai-chatbot-messages::-webkit-scrollbar-track {
    background: transparent
}

.ai-chatbot-messages::-webkit-scrollbar-thumb {
    background: rgba(99, 102, 241, 0.3);
    border-radius: 999px
}

.ai-chatbot-messages::-webkit-scrollbar-thumb:hover {
    background: rgba(99, 102, 241, 0.5)
}

.ai-chatbot-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
    color: #94a3b8;
    padding: 2rem 1rem
}

.ai-chatbot-empty svg {
    width: 44px;
    height: 44px;
    color: #6366f1;
    margin-bottom: 0.85rem;
    opacity: 0.85
}

.ai-chatbot-empty p {
    margin: 0;
    font-size: 0.88rem;
    line-height: 1.5;
    color: #cbd5e1
}

.ai-chatbot-message {
    display: flex;
    animation: aiMessageSlide 0.25s cubic-bezier(0.16, 1, 0.3, 1) both
}

@keyframes aiMessageSlide {
    from {
        opacity: 0;
        transform: translateY(8px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.ai-chatbot-message.user {
    justify-content: flex-end
}

.ai-chatbot-message.bot {
    justify-content: flex-start
}

.ai-chatbot-message-bubble {
    max-width: 82%;
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
    line-height: 1.55;
    word-wrap: break-word;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2)
}

.ai-chatbot-message.user .ai-chatbot-message-bubble {
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    color: #ffffff;
    border-radius: 14px 14px 2px 14px
}

.ai-chatbot-message.bot .ai-chatbot-message-bubble {
    background: #ffffff !important;
    color: #1e293b !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 14px 14px 14px 2px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important
}

.ai-chatbot-typing {
    display: flex;
    gap: 5px;
    padding: 0.75rem 1rem;
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 14px 14px 14px 2px;
    width: fit-content;
    align-items: center
}

.ai-chatbot-typing-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #818cf8;
    animation: typingBounce 1.4s infinite ease-in-out
}

.ai-chatbot-typing-dot:nth-child(1) {
    animation-delay: 0s
}

.ai-chatbot-typing-dot:nth-child(2) {
    animation-delay: 0.2s
}

.ai-chatbot-typing-dot:nth-child(3) {
    animation-delay: 0.4s
}

@keyframes typingBounce {

    0%,
    60%,
    100% {
        transform: translateY(0);
        opacity: 0.4
    }

    30% {
        transform: translateY(-7px);
        opacity: 1
    }
}

.ai-chatbot-input-form {
    padding: 0.85rem 1rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    display: flex;
    gap: 0.5rem;
    background: #ffffff !important;
    flex-shrink: 0
}

.ai-chatbot-input {
    flex: 1;
    background: #f1f5f9 !important;
    border: 1px solid rgba(0, 0, 0, 0.12) !important;
    border-radius: 999px;
    padding: 0.65rem 1.15rem;
    color: #0f172a !important;
    font-family: inherit;
    font-size: 0.9rem;
    transition: all 0.2s ease;
    outline: none
}

.ai-chatbot-input:focus {
    border-color: #6366f1;
    background: rgba(30, 41, 59, 0.95);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.25)
}

.ai-chatbot-input::placeholder {
    color: #94a3b8
}

.ai-chatbot-send-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    border: none;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(79, 70, 229, 0.4);
    padding: 0
}

.ai-chatbot-send-btn:hover:not(:disabled) {
    transform: scale(1.06);
    box-shadow: 0 4px 14px rgba(79, 70, 229, 0.55)
}

.ai-chatbot-send-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed
}

.ai-chatbot-send-btn svg {
    width: 17px;
    height: 17px;
    stroke: #ffffff;
    stroke-width: 2.2
}

body.light .ai-chatbot-window {
    background: rgba(255, 255, 255, 0.97) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.15), 0 0 30px rgba(99, 102, 241, 0.12) !important
}

body.light .ai-chatbot-header {
    background: rgba(241, 245, 249, 0.95) !important;
    border-bottom-color: rgba(0, 0, 0, 0.08) !important
}

body.light .ai-chatbot-name {
    color: #0f172a !important
}

body.light .ai-chatbot-status {
    color: #64748b !important
}

body.light .ai-chatbot-close {
    background: rgba(0, 0, 0, 0.05) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    color: #64748b !important
}

body.light .ai-chatbot-close:hover {
    background: rgba(0, 0, 0, 0.1) !important;
    color: #0f172a !important
}

body.light .ai-chatbot-messages {
    background: #f8fafc !important
}

body.light .ai-chatbot-empty svg {
    color: #6366f1 !important
}

body.light .ai-chatbot-empty p {
    color: #64748b !important
}

body.light .ai-chatbot-message.bot .ai-chatbot-message-bubble {
    background: #ffffff !important;
    color: #1e293b !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important
}

body.light .ai-chatbot-input-form {
    background: #ffffff !important;
    border-top-color: rgba(0, 0, 0, 0.08) !important
}

body.light .ai-chatbot-input {
    background: #f1f5f9 !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: #0f172a !important
}

body.light .ai-chatbot-input:focus {
    background: #ffffff !important;
    border-color: #6366f1 !important
}

body.light .ai-chatbot-input::placeholder {
    color: #94a3b8 !important
}

body.light .ai-chatbot-typing {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.08) !important
}

@media (max-width:768px) {
    .ai-chatbot-widget {
        bottom: 1rem !important;
        right: 1rem !important
    }

    .ai-chatbot-toggle {
        width: 52px !important;
        height: 52px !important
    }

    .ai-chatbot-toggle .chatbot-icon {
        width: 24px;
        height: 24px
    }

    .ai-chatbot-window {
        position: fixed !important;
        width: auto !important;
        left: 1rem !important;
        right: 1rem !important;
        bottom: 74px !important;
        height: 72vh !important;
        max-height: 540px !important
    }

    .ai-chatbot-message-bubble {
        max-width: 88%
    }

    .ai-chatbot-input {
        font-size: 16px !important
    }
}

.social-share {
    position: fixed;
    top: 100px;
    right: 28px;
    z-index: 999;
    display: flex;
    align-items: center;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    transition: left 300ms cubic-bezier(0.23, 1, 0.32, 1), top 300ms cubic-bezier(0.23, 1, 0.32, 1)
}

.social-share__pill {
    position: relative;
    display: flex;
    align-items: center;
    height: 50px;
    border-radius: 9999px;
    overflow: hidden;
    cursor: grab;
    background: var(--bg-glass);
    border: 1px solid var(--border-glass);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
    width: 50px;
    transition: width 450ms cubic-bezier(0.23, 1, 0.32, 1), box-shadow 300ms ease, border-color 300ms ease
}

.social-share__pill:hover {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.08) inset;
    border-color: rgba(255, 255, 255, 0.18)
}

.social-share__pill.is-expanded {
    width: 190px;
    cursor: grab
}

.social-share.is-dragging {
    transition: none !important;
    cursor: grabbing
}

.social-share.is-dragging .social-share__pill {
    cursor: grabbing;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
    transform: scale(1.04);
    transition: box-shadow 200ms ease, transform 200ms ease
}

.social-share__trigger {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Lexend Deca', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-muted);
    pointer-events: none;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 200ms ease, transform 200ms ease
}

.social-share__trigger svg {
    width: 16px;
    height: 16px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round
}

.social-share__pill.is-expanded .social-share__trigger {
    opacity: 0;
    transform: translateY(-20px);
    pointer-events: none
}

.social-share__actions {
    display: flex;
    align-items: center;
    padding: 0 4px;
    gap: 0;
    opacity: 0;
    transform: scale(0.9);
    pointer-events: none;
    transition: opacity 200ms ease 100ms, transform 200ms ease 100ms
}

.social-share__pill.is-expanded .social-share__actions {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto
}

.social-share__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    transition: color 200ms ease, background 200ms ease;
    flex-shrink: 0
}

.social-share__btn svg {
    width: 20px;
    height: 20px
}

.social-share__btn--twitter:hover {
    color: #1DA1F2;
    background: rgba(29, 161, 242, 0.1)
}

.social-share__btn--instagram:hover {
    color: #E1306C;
    background: rgba(225, 48, 108, 0.1)
}

.social-share__btn--linkedin:hover {
    color: #0A66C2;
    background: rgba(10, 102, 194, 0.1)
}

.social-share__btn--copy:hover {
    background: rgba(255, 255, 255, 0.08)
}

.social-share__btn--copy.is-copied {
    color: #22c55e;
    background: rgba(34, 197, 94, 0.1)
}

.social-share__btn--whatsapp {
    color: #25D366
}

.social-share__divider {
    width: 1px;
    height: 24px;
    background: var(--border-glass);
    margin: 0 2px;
    flex-shrink: 0
}

.social-share__tooltip {
    position: absolute;
    bottom: calc(100%+10px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    padding: 5px 12px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    font-family: 'Lexend Deca', sans-serif;
    font-size: 0.7rem;
    font-weight: 500;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 180ms ease, transform 180ms ease
}

.social-share__tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: rgba(0, 0, 0, 0.85)
}

.social-share__pill.is-expanded .social-share__btn:hover .social-share__tooltip {
    opacity: 1;
    transform: translateX(-50%) translateY(0)
}

body.light .social-share__pill {
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 0 0 1px rgba(0, 0, 0, 0.04) inset
}

body.light .social-share__pill:hover {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(0, 0, 0, 0.06) inset;
    border-color: rgba(0, 0, 0, 0.15)
}

body.light .social-share__trigger {
    color: #475569
}

body.light .social-share__btn {
    color: #64748b
}

body.light .social-share__btn--copy:hover {
    background: rgba(0, 0, 0, 0.05)
}

body.light .social-share__btn--copy.is-copied {
    color: #16a34a;
    background: rgba(22, 163, 74, 0.08)
}

body.light .social-share__divider {
    background: rgba(0, 0, 0, 0.1)
}

body.light .social-share__tooltip {
    background: rgba(15, 23, 42, 0.9)
}

body.light .social-share__tooltip::after {
    border-top-color: rgba(15, 23, 42, 0.9)
}

.social-share.open-left .social-share__pill {
    direction: rtl
}

.social-share.open-left .social-share__actions {
    direction: ltr
}

@media (max-width:575px) {
    .social-share {
        top: 90px;
        right: 16px
    }

    .social-share__pill {
        height: 44px;
        width: 44px;
        min-width: 44px
    }

    .social-share__pill.is-expanded {
        width: 170px;
        min-width: 170px
    }

    .social-share__trigger {
        font-size: 0.8125rem
    }

    .social-share__btn {
        width: 36px;
        height: 36px
    }

    .social-share__btn svg {
        width: 18px;
        height: 18px
    }
}

:focus-visible {
    outline: 2px solid rgba(59, 130, 246, 0.75);
    outline-offset: 3px;
    border-radius: 4px
}

:focus:not(:focus-visible) {
    outline: none
}

:root {
    scrollbar-width: thin;
    scrollbar-color: rgba(99, 102, 241, 0.4) transparent
}

::-webkit-scrollbar {
    width: 6px;
    height: 6px
}

::-webkit-scrollbar-track {
    background: transparent
}

::-webkit-scrollbar-thumb {
    background: rgba(99, 102, 241, 0.35);
    border-radius: 9999px;
    transition: background 0.2s
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(99, 102, 241, 0.65)
}

body.light {
    scrollbar-color: rgba(99, 102, 241, 0.3) transparent
}

body.light::-webkit-scrollbar-thumb {
    background: rgba(99, 102, 241, 0.25)
}

body.light::-webkit-scrollbar-thumb:hover {
    background: rgba(99, 102, 241, 0.5)
}

.scroll-progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    width: 0%;
    background: linear-gradient(90deg, #3b82f6, #a855f7, #ec4899);
    z-index: 99999;
    transition: width 0.1s linear;
    pointer-events: none;
    border-radius: 0 9999px 9999px 0
}

.skip-to-content {
    position: fixed;
    top: -100%;
    left: 1rem;
    z-index: 100000;
    background: #3b82f6;
    color: #fff;
    padding: 10px 20px;
    border-radius: 0 0 10px 10px;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    transition: top 0.2s;
    box-shadow: 0 4px 16px rgba(59, 130, 246, 0.4)
}

.skip-to-content:focus {
    top: 0;
    outline: none
}

.btn-glass-wave {
    position: relative;
    overflow: hidden;
    font-weight: 600;
    font-size: 0.875rem;
    font-family: inherit;
    color: var(--text-bright);
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    cursor: pointer;
    transition: background 0.25s, border-color 0.25s, color 0.25s, transform 0.2s, box-shadow 0.25s;
    display: inline-flex;
    align-items: center;
    gap: 7px
}

.btn-glass-wave:hover {
    background: rgba(255, 255, 255, 0.13);
    border-color: rgba(255, 255, 255, 0.28) !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25)
}

.btn-glass-wave:active {
    transform: translateY(0px)
}

body.light .btn-glass-wave {
    background: rgba(0, 0, 0, 0.05);
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: #0f172a
}

body.light .btn-glass-wave:hover {
    background: rgba(0, 0, 0, 0.09);
    border-color: rgba(0, 0, 0, 0.2) !important
}

.btn-glass-wave::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.25) 0%, transparent 70%);
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.4s, transform 0.4s;
    pointer-events: none
}

.btn-glass-wave:active::after {
    opacity: 1;
    transform: scale(1.5);
    transition: opacity 0.05s, transform 0.05s
}

.btn-hero-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 13px 28px;
    border-radius: 9999px;
    background: linear-gradient(135deg, #3b82f6, #6366f1);
    color: #fff;
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s, filter 0.2s;
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);
    position: relative;
    overflow: hidden
}

.btn-hero-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(59, 130, 246, 0.5);
    filter: brightness(1.07)
}

.btn-hero-primary:active {
    transform: translateY(0)
}

.btn-hero-ghost {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 24px;
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-bright);
    font-weight: 600;
    font-size: 0.95rem;
    text-decoration: none;
    transition: background 0.2s, border-color 0.2s, transform 0.2s
}

.btn-hero-ghost:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.3);
    transform: translateY(-1px)
}

body.light .btn-hero-ghost {
    border-color: rgba(0, 0, 0, 0.12);
    background: rgba(0, 0, 0, 0.04);
    color: #0f172a
}

body.light .btn-hero-ghost:hover {
    background: rgba(0, 0, 0, 0.08);
    border-color: rgba(0, 0, 0, 0.2)
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
textarea,
select {
    font-family: inherit;
    font-size: 0.9rem;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s
}

.contact-form input,
.contact-form textarea,
.modal-form input,
.modal-form textarea,
.modal-form select {
    width: 100%;
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.05);
    color: #f1f5f9;
    font-family: inherit;
    font-size: 0.9rem;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
    -webkit-appearance: none;
    appearance: none
}

.contact-form input::placeholder,
.contact-form textarea::placeholder,
.modal-form input::placeholder,
.modal-form textarea::placeholder {
    color: #6b7280
}

.contact-form input:focus,
.contact-form textarea:focus,
.modal-form input:focus,
.modal-form textarea:focus,
.modal-form select:focus {
    border-color: rgba(59, 130, 246, 0.5);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
    background: rgba(255, 255, 255, 0.08)
}

body.light .contact-form input,
body.light .contact-form textarea,
body.light .modal-form input,
body.light .modal-form textarea,
body.light .modal-form select {
    border-color: rgba(0, 0, 0, 0.12);
    background: #ffffff;
    color: #0f172a
}

body.light .contact-form input:focus,
body.light .contact-form textarea:focus,
body.light .modal-form input:focus,
body.light .modal-form textarea:focus,
body.light .modal-form select:focus {
    border-color: rgba(59, 130, 246, 0.45);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    background: #f8fafc
}

.form-label,
.modal-form label {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #9ca3af;
    margin-bottom: 6px;
    letter-spacing: 0.02em;
    text-transform: uppercase
}

body.light .form-label,
body.light .modal-form label {
    color: #64748b
}

.form-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 13px 24px;
    border-radius: 9999px;
    background: linear-gradient(135deg, #3b82f6, #6366f1);
    color: #fff;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.95rem;
    border: none;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s, filter 0.2s;
    box-shadow: 0 4px 16px rgba(59, 130, 246, 0.35)
}

.form-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(59, 130, 246, 0.45);
    filter: brightness(1.06)
}

.form-submit-btn:active {
    transform: translateY(0)
}

.form-submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none
}

.form-submit-btn .btn-spinner {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-top-color: #fff;
    border-radius: 50%;
    animation: btnSpin 0.7s linear infinite;
    display: none
}

.form-submit-btn.is-loading .btn-spinner {
    display: block
}

.form-submit-btn.is-loading .btn-text {
    opacity: 0.7
}

@keyframes btnSpin {
    to {
        transform: rotate(360deg)
    }
}

.modal-backdrop,
.idea-modal-overlay,
.gate-modal-overlay {
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: opacity 0.25s ease
}

.modal-panel,
.idea-modal,
.gate-modal {
    animation: modalSlideUp 0.3s cubic-bezier(0.23, 1, 0.32, 1) both
}

@keyframes modalSlideUp {
    from {
        opacity: 0;
        transform: translateY(28px) scale(0.97)
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1)
    }
}

.modal-close,
.idea-modal__close,
.gate-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.07);
    color: #9ca3af;
    cursor: pointer;
    transition: background 0.2s, color 0.2s
}

.modal-close:hover,
.idea-modal__close:hover,
.gate-modal__close:hover {
    background: rgba(255, 255, 255, 0.13);
    color: #f1f5f9
}

body.light .modal-close,
body.light .idea-modal__close,
body.light .gate-modal__close {
    background: rgba(0, 0, 0, 0.06);
    color: #64748b
}

body.light .modal-close:hover,
body.light .idea-modal__close:hover,
body.light .gate-modal__close:hover {
    background: rgba(0, 0, 0, 0.1);
    color: #0f172a
}

.ph-toast {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 99998;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    border-radius: 14px;
    background: rgba(18, 24, 38, 0.92);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
    color: #f1f5f9;
    font-size: 0.9rem;
    font-weight: 500;
    min-width: 260px;
    max-width: 380px;
    animation: toastIn 0.35s cubic-bezier(0.23, 1, 0.32, 1) both;
    transition: opacity 0.3s, transform 0.3s
}

.ph-toast.ph-toast--success {
    border-left: 3px solid #22c55e
}

.ph-toast.ph-toast--error {
    border-left: 3px solid #ef4444
}

.ph-toast.ph-toast--info {
    border-left: 3px solid #3b82f6
}

.ph-toast.ph-toast--hiding {
    opacity: 0;
    transform: translateX(20px)
}

@keyframes toastIn {
    from {
        opacity: 0;
        transform: translateX(20px)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}

.ph-toast__icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px
}

.ph-toast--success .ph-toast__icon {
    color: #22c55e
}

.ph-toast--error .ph-toast__icon {
    color: #ef4444
}

.ph-toast--info .ph-toast__icon {
    color: #3b82f6
}

body.light .ph-toast {
    background: rgba(255, 255, 255, 0.95);
    border-color: rgba(0, 0, 0, 0.1);
    color: #0f172a;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15)
}

@media (max-width:480px) {
    .ph-toast {
        bottom: 1rem;
        right: 1rem;
        left: 1rem;
        min-width: unset;
        max-width: unset
    }
}

.skeleton {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.04) 25%, rgba(255, 255, 255, 0.08) 50%, rgba(255, 255, 255, 0.04) 75%);
    background-size: 400% 100%;
    animation: skeletonShimmer 1.6s ease-in-out infinite;
    border-radius: 8px
}

body.light .skeleton {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.05) 25%, rgba(0, 0, 0, 0.09) 50%, rgba(0, 0, 0, 0.05) 75%);
    background-size: 400% 100%
}

@keyframes skeletonShimmer {
    0% {
        background-position: 200% 0
    }

    100% {
        background-position: -200% 0
    }
}

.back-to-top {
    position: fixed;
    bottom: 5.5rem;
    right: 1.5rem;
    z-index: 500;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(18, 18, 28, 0.75);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #9ca3af;
    cursor: pointer;
    transition: opacity 0.3s, transform 0.3s, background 0.2s, color 0.2s, box-shadow 0.2s;
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3)
}

.back-to-top.visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto
}

.back-to-top:hover {
    background: rgba(59, 130, 246, 0.15);
    border-color: rgba(59, 130, 246, 0.3);
    color: #60a5fa;
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.25);
    transform: translateY(-2px)
}

body.light .back-to-top {
    background: rgba(255, 255, 255, 0.85);
    border-color: rgba(0, 0, 0, 0.1);
    color: #64748b;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1)
}

body.light .back-to-top:hover {
    background: rgba(59, 130, 246, 0.08);
    border-color: rgba(59, 130, 246, 0.25);
    color: #2563eb
}

@media (max-width:768px) {
    .back-to-top {
        bottom: 4.5rem;
        right: 1rem;
        width: 40px;
        height: 40px
    }
}

.navbar.scrolled {
    background: rgba(10, 10, 15, 0.88) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-bottom-color: rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35) !important
}

body.light .navbar.scrolled {
    background: rgba(255, 255, 255, 0.96) !important;
    border-bottom-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important
}

.footer-link {
    position: relative;
    text-decoration: none;
    transition: color 0.2s
}

.footer-link::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 0;
    height: 1px;
    background: currentColor;
    transition: width 0.25s ease
}

.footer-link:hover::after {
    width: 100%
}

.footer-social {
    transition: transform 0.2s, opacity 0.2s
}

.footer-social:hover {
    transform: translateY(-3px);
    opacity: 0.85
}

.glass-card {
    background: rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--radius-card, 16px);
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.35s cubic-bezier(0.23, 1, 0.32, 1)
}

.glass-card:hover {
    border-color: rgba(255, 255, 255, 0.14);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.3)
}

body.light .glass-card {
    background: rgba(255, 255, 255, 0.85);
    border-color: rgba(0, 0, 0, 0.07);
    box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06)
}

body.light .glass-card:hover {
    border-color: rgba(0, 0, 0, 0.12);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.1)
}

.text-gradient {
    background: linear-gradient(135deg, #3b82f6, #a855f7 55%, #ec4899);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.text-gradient--blue {
    background: linear-gradient(135deg, #60a5fa, #3b82f6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text
}

.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    font-size: 0.78rem;
    font-weight: 700;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    margin-bottom: 1rem
}

body.light .section-badge {
    border-color: rgba(0, 0, 0, 0.1);
    background: rgba(0, 0, 0, 0.03);
    color: #64748b
}

img[loading="lazy"] {
    opacity: 0;
    transition: opacity 0.4s ease
}

img[loading="lazy"].loaded,
img[loading="lazy"].is-loaded {
    opacity: 1
}

.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.23, 1, 0.32, 1)
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0)
}

.reveal[data-delay="100"] {
    transition-delay: 0.1s
}

.reveal[data-delay="200"] {
    transition-delay: 0.2s
}

.reveal[data-delay="300"] {
    transition-delay: 0.3s
}

.reveal[data-delay="400"] {
    transition-delay: 0.4s
}

.reveal[data-delay="500"] {
    transition-delay: 0.5s
}

@media (max-width:768px) {

    .nav-link,
    .filter-tab,
    .blog-filter-btn,
    .mob-btn,
    .footer-link {
        min-height: 44px;
        min-width: 44px
    }

    .filter-tab,
    .blog-filter-btn {
        padding: 10px 18px
    }
}

@media print {

    .navbar,
    .site-footer,
    .back-to-top,
    .ph-toast,
    .scroll-progress-bar,
    #cursorGlow,
    #cursorParticles,
    #starsCanvas {
        display: none !important
    }

    body {
        background: #fff !important;
        color: #000 !important
    }
}

body .logo-combined {
    height: 46px;
    width: auto;
    max-width: 165px;
    object-fit: contain;
    margin: 0;
    display: block;
    transition: transform 0.22s ease, opacity 0.2s ease
}

body.light .logo-combined--light {
    height: 46px;
    width: auto;
    max-width: 165px;
    margin: 0;
    display: block !important
}

.logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none
}

.logo-link:hover .logo-combined {
    transform: scale(1.03)
}

@media (min-width:577px) and (max-width:992px) {

    body .logo-combined,
    body.light .logo-combined--light {
        height: 40px;
        max-width: 145px;
        margin: 0
    }
}

@media (max-width:576px) {

    body .logo-combined,
    body.light .logo-combined--light {
        height: 34px;
        max-width: 125px;
        margin: 0
    }
}

#bookCallBtn {
    white-space: nowrap
}

html {
    scroll-padding-top: 96px
}

.hero-title {
    text-wrap: balance
}

.hvc-iframe-wrap::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    box-shadow: inset 0 0 44px 16px rgba(8, 12, 20, 0.85)
}

body.light .hvc-iframe-wrap::after {
    box-shadow: inset 0 0 44px 16px rgba(248, 250, 252, 0.85)
}

.projects-grid,
.testimonials-slider,
.featured-projects-grid {
    scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
    scroll-padding-inline: 4px
}

.projects-grid>*,
.testimonials-slider>*,
.featured-projects-grid>* {
    scroll-snap-align: start
}

.img-failed {
    visibility: hidden
}

.project-card__img-wrap:has(.img-failed),
.mega-menu-case-wrapper:has(.img-failed),
figure:has(>.img-failed) {
    background: linear-gradient(135deg, #eef2ff 0%, #f5f3ff 50%, #faf5ff 100%)
}

.icon-chip-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 9px;
    border-radius: 7px;
    background: rgba(127, 127, 127, 0.14);
    color: currentColor;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
    vertical-align: middle;
    line-height: 1.5
}

.projects-breadcrumb ol {
    width: fit-content;
    max-width: 100%
}

body.light .projects-breadcrumb ol {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(0, 0, 0, 0.08)
}

.contact-form__input {
    transition: all 0.25s ease;
    background: var(--ph-bg-surface) !important;
    border: 1px solid var(--ph-border) !important;
    color: var(--ph-text-primary) !important;
    border-radius: 12px !important
}

.contact-form__input:focus {
    border-color: var(--ph-primary) !important;
    box-shadow: 0 0 0 3px var(--ph-primary-glow) !important;
    outline: none !important
}

.contact-form__submit {
    background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%) !important;
    color: #fff !important;
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    font-weight: 600 !important;
    padding: 0.85rem 2rem !important;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 4px 20px rgba(99, 102, 241, 0.4) !important
}

.contact-form__submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(99, 102, 241, 0.55) !important
}

.navbar {
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    transition: background-color 0.3s ease, border-color 0.3s ease
}

.mega-menu {
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 20px;
    border: 1px solid var(--ph-border);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35)
}

body.light .mega-menu {
    background: #ffffff;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1)
}

.stat-card,
.numbers-card {
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease
}

.stat-card:hover,
.numbers-card:hover {
    transform: translateY(-4px)
}

.about-stats-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
    margin-top: 16px !important
}

.about-stat-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 24px 16px 20px !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    border: 1px solid rgba(99, 102, 241, 0.12) !important;
    box-shadow: 0 4px 20px -2px rgba(99, 102, 241, 0.08), 0 2px 6px rgba(0, 0, 0, 0.03) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
    overflow: hidden !important;
    box-sizing: border-box !important
}

.about-stat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #6366f1 0%, #8b5cf6 50%, #3b82f6 100%);
    opacity: 0;
    transition: opacity 0.3s ease
}

.about-stat-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(99, 102, 241, 0.28) !important;
    box-shadow: 0 14px 34px -4px rgba(99, 102, 241, 0.18), 0 4px 12px rgba(0, 0, 0, 0.04) !important
}

.about-stat-card:hover::before {
    opacity: 1
}

.about-stat-card .brd-stat-icon {
    width: 52px !important;
    height: 52px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.12) 0%, rgba(139, 92, 246, 0.08) 100%) !important;
    border: 1px solid rgba(99, 102, 241, 0.18) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 12px !important;
    color: #6366f1 !important;
    box-shadow: 0 2px 8px rgba(99, 102, 241, 0.12) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important
}

.about-stat-card:nth-child(2) .brd-stat-icon {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.12) 0%, rgba(14, 165, 233, 0.08) 100%) !important;
    border-color: rgba(59, 130, 246, 0.18) !important;
    color: #2563eb !important;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.12) !important
}

.about-stat-card:hover .brd-stat-icon {
    transform: scale(1.1) rotate(4deg) !important
}

.about-stat-card__value {
    font-family: var(--ph-font-display, 'Outfit', -apple-system, sans-serif) !important;
    font-size: 34px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.03em !important;
    color: #1e1b4b !important;
    background: linear-gradient(135deg, #1e1b4b 0%, #4338ca 45%, #6366f1 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 0 6px 0 !important;
    display: inline-block !important
}

body.light .about-stat-card__value {
    color: #1e1b4b !important;
    background: linear-gradient(135deg, #1e1b4b 0%, #4338ca 45%, #6366f1 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important
}

.about-stat-card__label {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    letter-spacing: 0.01em !important;
    line-height: 1.35 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important
}

body.light .about-stat-card__label {
    color: #64748b !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important
}

@media (max-width:575.98px) {
    .about-stats-row {
        grid-template-columns: 1fr !important;
        gap: 12px !important
    }

    .about-stat-card {
        padding: 18px 14px 16px !important
    }

    .about-stat-card__value {
        font-size: 28px !important
    }
}

:root {
    --ph-primary: #6366f1;
    --ph-primary-hover: #4f46e5;
    --ph-primary-glow: rgba(99, 102, 241, 0.35);
    --ph-cyan: #06b6d4;
    --ph-cyan-hover: #0891b2;
    --ph-cyan-glow: rgba(6, 182, 212, 0.35);
    --ph-violet: #8b5cf6;
    --ph-violet-glow: rgba(139, 92, 246, 0.35);
    --ph-amber: #f59e0b;
    --ph-emerald: #10b981;
    --ph-rose: #f43f5e;
    --ph-teal: #14b8a6;
    --ph-blue: #3b82f6;
    --ph-font-sans: 'Plus Jakarta Sans', 'Inter', 'Outfit', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --ph-font-heading: 'Outfit', 'Plus Jakarta Sans', 'Lexend Deca', sans-serif;
    --ph-font-mono: 'JetBrains Mono', 'Fira Code', monospace;
    --ph-bg-base: #f8fafc;
    --ph-bg-subtle: #f1f5f9;
    --ph-bg-surface: rgba(255, 255, 255, 0.94);
    --ph-bg-surface-hover: #ffffff;
    --ph-bg-card: #ffffff;
    --ph-bg-glass: rgba(0, 0, 0, 0.03);
    --ph-border: rgba(0, 0, 0, 0.1);
    --ph-border-glow: rgba(99, 102, 241, 0.2);
    --ph-border-focus: #4f46e5;
    --ph-text-primary: #0f172a;
    --ph-text-secondary: #334155;
    --ph-text-muted: #64748b;
    --ph-text-inverse: #ffffff;
    --ph-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
    --ph-shadow-md: 0 8px 24px -4px rgba(0, 0, 0, 0.08);
    --ph-shadow-lg: 0 16px 44px -8px rgba(0, 0, 0, 0.12);
    --ph-shadow-glow: 0 0 30px -4px rgba(99, 102, 241, 0.18);
    --ph-nav-bg: rgba(255, 255, 255, 0.9)
}

html.light,
body.light,
html,
body {
    --ph-bg-base: #f8fafc;
    --ph-bg-subtle: #f1f5f9;
    --ph-bg-surface: rgba(255, 255, 255, 0.94);
    --ph-bg-surface-hover: #ffffff;
    --ph-bg-card: #ffffff;
    --ph-bg-glass: rgba(0, 0, 0, 0.03);
    --ph-border: rgba(0, 0, 0, 0.1);
    --ph-border-glow: rgba(99, 102, 241, 0.2);
    --ph-border-focus: #4f46e5;
    --ph-text-primary: #0f172a;
    --ph-text-secondary: #334155;
    --ph-text-muted: #64748b;
    --ph-text-inverse: #ffffff;
    --ph-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
    --ph-shadow-md: 0 8px 24px -4px rgba(0, 0, 0, 0.08);
    --ph-shadow-lg: 0 16px 44px -8px rgba(0, 0, 0, 0.12);
    --ph-shadow-glow: 0 0 30px -4px rgba(99, 102, 241, 0.18);
    --ph-nav-bg: rgba(255, 255, 255, 0.9)
}

*,
*::before,
*::after {
    box-sizing: border-box
}

html {
    height: 100%;
    background-color: var(--ph-bg-base)
}

body {
    font-family: var(--ph-font-sans);
    background-color: var(--ph-bg-base);
    color: var(--ph-text-primary);
    line-height: 1.6;
    margin: 0;
    padding: 0;
    transition: background-color 0.25s ease, color 0.25s ease;
    overflow-x: hidden;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column
}

#main-content-wrapper,
main {
    flex: 1 0 auto;
    width: 100%
}

:focus-visible {
    outline: 2px solid var(--ph-primary) !important;
    outline-offset: 3px !important;
    border-radius: 4px
}

.skip-to-content {
    position: absolute;
    top: -60px;
    left: 20px;
    background: var(--ph-primary);
    color: #ffffff;
    padding: 10px 18px;
    border-radius: 8px;
    font-weight: 700;
    z-index: 99999;
    transition: top 0.2s ease;
    text-decoration: none
}

.skip-to-content:focus {
    top: 15px
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--ph-font-heading);
    color: var(--ph-text-primary);
    letter-spacing: -0.02em
}

.ph-gradient-text {
    background: linear-gradient(135deg, #60a5fa 0%, #a855f7 50%, #ec4899 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block
}

.ph-gradient-cyan {
    background: linear-gradient(135deg, #38bdf8 0%, #818cf8 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block
}

.ph-gradient-purple {
    background: linear-gradient(135deg, #a78bfa 0%, #ec4899 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block
}

.navbar,
body.light .navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 72px;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.04) !important;
    padding: 0 1.75rem !important;
    pointer-events: auto !important;
    transition: background-color 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease, height 0.25s ease
}

body:not(.light) .navbar {
    background: rgba(10, 15, 30, 0.94) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 24px -2px rgba(0, 0, 0, 0.35) !important
}

.navbar.scrolled,
body.light .navbar.scrolled {
    height: 68px;
    background: rgba(255, 255, 255, 0.98) !important;
    border-bottom-color: rgba(15, 23, 42, 0.12) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.07) !important
}

body:not(.light) .navbar.scrolled {
    height: 68px;
    background: rgba(10, 15, 30, 0.98) !important;
    border-bottom-color: rgba(99, 102, 241, 0.25) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important
}

.navbar__inner,
body.light .navbar__inner {
    max-width: 1400px !important;
    height: 100% !important;
    margin: 0 auto !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1.5rem !important
}

@media (max-width:991px) {

    .navbar,
    body.light .navbar {
        height: 64px !important;
        padding: 0 1rem !important
    }

    .navbar__inner,
    body.light .navbar__inner {
        border-radius: 0 !important;
        padding: 0 !important
    }
}

.logo {
    display: flex;
    align-items: center;
    flex-shrink: 0
}

.logo a {
    display: flex;
    align-items: center;
    text-decoration: none
}

.logo-combined {
    height: 42px;
    width: auto;
    object-fit: contain;
    transition: opacity 0.2s ease, transform 0.2s ease
}

.logo-combined--light {
    display: block !important
}

.logo-combined--dark {
    display: none !important
}

body.light .logo-combined--light {
    display: block !important
}

body.light .logo-combined--dark {
    display: none !important
}

.navbar__links,
body.light .navbar__links {
    display: flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
    position: relative !important
}

.nav-link,
body.light .nav-link {
    color: #0f172a !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    padding: 0.55rem 0.95rem !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: color 0.18s ease, background-color 0.18s ease, transform 0.15s ease !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.35rem !important;
    position: relative !important;
    letter-spacing: -0.01em !important;
    background: transparent !important
}

body:not(.light) .nav-link {
    color: #f8fafc !important
}

.nav-link svg,
body.light .nav-link svg {
    color: #64748b !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
    stroke-width: 2.5 !important
}

body:not(.light) .nav-link svg {
    color: #94a3b8 !important
}

.nav-link:hover,
body.light .nav-link:hover {
    color: #4f46e5 !important;
    background: rgba(79, 70, 229, 0.08) !important
}

.nav-link:hover svg,
body.light .nav-link:hover svg {
    color: #4f46e5 !important;
    transform: translateY(1.5px) !important
}

body:not(.light) .nav-link:hover {
    color: #a5b4fc !important;
    background: rgba(99, 102, 241, 0.14) !important
}

body:not(.light) .nav-link:hover svg {
    color: #a5b4fc !important;
    transform: translateY(1.5px) !important
}

.nav-link.active,
body.light .nav-link.active {
    color: #4f46e5 !important;
    font-weight: 700 !important;
    background: rgba(79, 70, 229, 0.09) !important
}

body:not(.light) .nav-link.active {
    color: #a5b4fc !important;
    font-weight: 700 !important;
    background: rgba(99, 102, 241, 0.18) !important
}

.nav-item-dropdown {
    position: relative
}

.mega-menu {
    position: absolute;
    top: calc(100%+12px);
    background: #ffffff;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12), 0 1px 3px rgba(0, 0, 0, 0.04);
    padding: 1.15rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.22s;
    z-index: 1010
}

body.light .mega-menu {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.12)
}

.mega-menu::before {
    content: "";
    position: absolute;
    top: -14px;
    left: 0;
    right: 0;
    height: 14px
}

.mega-menu.mega-menu--work {
    width: 750px;
    max-width: calc(100vw - 32px);
    left: -80px;
    transform: translateY(8px)
}

.nav-item-dropdown:hover .mega-menu.mega-menu--work,
.nav-item-dropdown:focus-within .mega-menu.mega-menu--work {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0)
}

.mega-menu.mega-menu--help {
    width: 680px;
    max-width: calc(100vw - 32px);
    left: 50%;
    transform: translateX(-50%) translateY(8px)
}

.nav-item-dropdown:hover .mega-menu.mega-menu--help,
.nav-item-dropdown:focus-within .mega-menu.mega-menu--help {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0)
}

.nav-item-dropdown:hover .mega-menu:not(.mega-menu--work):not(.mega-menu--help),
.nav-item-dropdown:focus-within .mega-menu:not(.mega-menu--work):not(.mega-menu--help) {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0)
}

.mega-work-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.95rem
}

.mega-card {
    display: flex;
    flex-direction: column;
    background: #f8fafc;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1)
}

.mega-card:hover {
    background: #ffffff;
    border-color: rgba(91, 91, 255, 0.45);
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(91, 91, 255, 0.12)
}

.mega-card__media {
    position: relative;
    height: 108px;
    background: #e2e8f0;
    overflow: hidden
}

.mega-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease
}

.mega-card:hover .mega-card__media img {
    transform: scale(1.06)
}

.mega-card__badge {
    position: absolute;
    top: 7px;
    left: 7px;
    background: rgba(15, 23, 42, 0.85);
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 2px 7px;
    border-radius: 9999px;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 2
}

.mega-card__badge--cyan {
    background: rgba(8, 145, 178, 0.92)
}

.mega-card__badge--emerald {
    background: rgba(5, 150, 105, 0.92)
}

.mega-card__body {
    padding: 0.75rem 0.85rem;
    display: flex;
    flex-direction: column;
    flex: 1
}

.mega-card__title {
    font-size: 0.86rem;
    font-weight: 700;
    color: #0f172a;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.25rem;
    transition: color 0.15s ease
}

.mega-card:hover .mega-card__title {
    color: var(--ph-primary)
}

.mega-card__title svg {
    color: #94a3b8;
    transition: transform 0.2s ease, color 0.2s ease;
    flex-shrink: 0
}

.mega-card:hover .mega-card__title svg {
    color: var(--ph-primary);
    transform: translateX(3px)
}

.mega-card__desc {
    font-size: 0.735rem;
    line-height: 1.38;
    color: #64748b;
    margin: 0
}

.mega-menu-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0.85rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(226, 232, 240, 0.85)
}

.mega-menu-bottom__tags {
    display: flex;
    align-items: center;
    gap: 0.45rem
}

.mega-menu-bottom__label {
    font-size: 0.72rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-right: 0.15rem
}

.mega-pill-tag {
    font-size: 0.74rem;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    padding: 3px 9px;
    border-radius: 9999px;
    text-decoration: none;
    transition: all 0.15s ease
}

.mega-pill-tag:hover {
    background: rgba(91, 91, 255, 0.12);
    color: var(--ph-primary)
}

.mega-menu-bottom__cta {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--ph-primary);
    text-decoration: none;
    transition: transform 0.15s ease;
    display: inline-flex;
    align-items: center
}

.mega-menu-bottom__cta:hover {
    text-decoration: underline;
    transform: translateX(3px)
}

.mega-help-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.95rem
}

.mega-audience-card {
    background: #ffffff;
    border: 1px solid rgba(226, 232, 240, 0.9);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03)
}

.mega-audience-banner {
    position: relative;
    height: 110px;
    overflow: hidden;
    background: #1e293b;
    border-radius: 13px 13px 0 0
}

.mega-audience-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.92;
    filter: contrast(105%) saturate(115%);
    transition: transform 0.4s ease, opacity 0.3s ease
}

.mega-audience-card:hover .mega-audience-banner img {
    transform: scale(1.05);
    opacity: 1
}

.mega-audience-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.32) 0%, rgba(15, 23, 42, 0.06) 35%, rgba(15, 23, 42, 0.78) 75%, rgba(15, 23, 42, 0.92) 100%);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 12px;
    z-index: 2
}

.mega-audience-overlay .mega-card__badge {
    position: static !important;
    display: inline-flex !important;
    align-items: center;
    margin: 0 0 6px 0 !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    padding: 3px 9px !important;
    letter-spacing: 0.02em !important;
    border-radius: 9999px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important
}

.mega-audience-headline {
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: -0.015em;
    line-height: 1.25;
    margin: 0;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5)
}

.mega-audience-list {
    list-style: none;
    padding: 0.45rem 0.55rem;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem
}

.mega-audience-link {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.4rem 0.5rem;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: all 0.15s ease
}

.mega-audience-link:hover {
    background: #f8fafc;
    transform: translateX(3px)
}

.mega-audience-icon {
    font-size: 1.05rem;
    line-height: 1;
    flex-shrink: 0
}

.mega-audience-info {
    display: flex;
    flex-direction: column
}

.mega-audience-link-title {
    font-size: 0.82rem;
    font-weight: 700;
    color: #0f172a;
    transition: color 0.15s ease
}

.mega-audience-link:hover .mega-audience-link-title {
    color: var(--ph-primary)
}

.mega-audience-link-sub {
    font-size: 0.7rem;
    color: #64748b;
    line-height: 1.25
}

.mega-menu-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem
}

.mega-menu-title {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: var(--ph-primary);
    text-transform: uppercase;
    margin-bottom: 0.8rem
}

.mega-menu-list {
    list-style: none;
    padding: 0;
    margin: 0
}

.mega-menu-list li {
    margin-bottom: 0.5rem
}

.mega-menu-list a {
    color: var(--ph-text-secondary);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: color 0.18s ease, transform 0.18s ease;
    display: flex;
    align-items: center;
    padding: 0.3rem 0
}

.mega-menu-list a:hover {
    color: var(--ph-primary);
    transform: translateX(4px)
}

.navbar__actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0
}

.call-cta-wrap {
    position: relative
}

.btn-glass-wave {
    background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);
    color: #ffffff !important;
    font-weight: 700;
    font-size: 0.9rem;
    padding: 0.55rem 1.25rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    border: none;
    box-shadow: 0 4px 16px rgba(79, 70, 229, 0.4);
    transition: all 0.25s ease
}

.btn-glass-wave:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(79, 70, 229, 0.55)
}

.call-dropdown {
    position: absolute;
    top: calc(100%+12px);
    right: 0;
    width: 270px;
    background: #ffffff;
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 16px;
    padding: 0.85rem;
    box-shadow: 0 16px 44px -8px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: all 0.2s ease;
    z-index: 1020
}

body.light .call-dropdown {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: 0 16px 44px -8px rgba(0, 0, 0, 0.15)
}

.call-cta-wrap.active .call-dropdown,
.call-cta-wrap:focus-within .call-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.call-dropdown__label {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--ph-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0.2rem 0.6rem 0.6rem
}

.call-dropdown__item {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.65rem 0.75rem;
    border-radius: 10px;
    text-decoration: none;
    color: var(--ph-text-primary);
    transition: background 0.18s ease
}

.call-dropdown__item:hover {
    background: rgba(255, 255, 255, 0.08)
}

body.light .call-dropdown__item:hover {
    background: rgba(0, 0, 0, 0.05)
}

.call-dropdown__icon {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(99, 102, 241, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.call-dropdown__text strong {
    display: block;
    font-size: 0.88rem
}

.call-dropdown__text small {
    display: block;
    color: var(--ph-text-muted);
    font-size: 0.78rem
}

.theme-toggle-btn {
    display: none !important
}

.icon-moon {
    display: none !important
}

.icon-sun {
    display: none !important
}

.hamburger {
    display: none;
    background: transparent;
    border: 1px solid var(--ph-border);
    color: var(--ph-text-primary);
    width: 40px;
    height: 40px;
    border-radius: 10px;
    align-items: center;
    justify-content: center;
    cursor: pointer
}

.navbar__mobile {
    position: fixed;
    top: 72px;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--ph-bg-base);
    padding: 1.5rem;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 999
}

.navbar__mobile.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.mob-nav {
    display: flex;
    flex-direction: column;
    gap: 0.5rem
}

.mob-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0.9rem 1.25rem;
    background: var(--ph-bg-surface);
    border: 1px solid var(--ph-border);
    border-radius: 14px;
    color: var(--ph-text-primary);
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    text-align: left;
    cursor: pointer
}

.mob-sub {
    display: none;
    list-style: none;
    padding: 0.5rem 0.5rem 0.5rem 1.5rem;
    margin: 0
}

.mob-item.open .mob-sub {
    display: block
}

.mob-sub-title {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--ph-primary);
    text-transform: uppercase;
    margin: 0.75rem 0 0.4rem
}

.mob-sub-link {
    display: block;
    padding: 0.45rem 0;
    color: var(--ph-text-secondary);
    text-decoration: none;
    font-size: 0.92rem
}

.mobile-contact-group {
    margin-top: 2rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem
}

.mobile-contact-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.9rem;
    border-radius: 12px;
    font-weight: 700;
    text-decoration: none
}

.mobile-contact-btn--call {
    background: var(--ph-primary);
    color: #fff !important
}

.mobile-contact-btn--whatsapp {
    background: #25d366;
    color: #fff !important
}

@media (max-width:991px) {
    .navbar__links {
        display: none
    }

    .navbar__actions .call-cta-wrap {
        display: none
    }

    .hamburger {
        display: flex
    }

    .navbar {
        padding: 0.75rem 1.25rem
    }
}

.hero-section {
    padding: 130px 0 60px;
    position: relative;
    overflow: hidden
}

.hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: rgba(99, 102, 241, 0.14);
    border: 1px solid rgba(99, 102, 241, 0.3);
    color: #818cf8;
    padding: 0.4rem 1rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin-bottom: 1.25rem
}

body.light .hero-tag {
    background: rgba(99, 102, 241, 0.08);
    color: #4f46e5
}

.hero-tag__dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22d3ee;
    box-shadow: 0 0 10px #22d3ee;
    animation: ph-pulse 2s infinite
}

@keyframes ph-pulse {

    0%,
    100% {
        opacity: 1;
        transform: scale(1)
    }

    50% {
        opacity: 0.4;
        transform: scale(0.8)
    }
}

.hero-title {
    font-size: clamp(2.4rem, 5.5vw, 4rem);
    font-weight: 800;
    line-height: 1.15;
    margin-bottom: 1.25rem;
    color: var(--ph-text-primary);
    letter-spacing: -0.03em
}

.hero-title__underline {
    position: relative;
    display: inline-block
}

.hero-title__underline::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 4px;
    height: 6px;
    background: linear-gradient(90deg, #6366f1, #06b6d4);
    border-radius: 3px;
    opacity: 0.7;
    z-index: -1
}

.hero-title__gradient {
    background: linear-gradient(135deg, #38bdf8 0%, #818cf8 50%, #c084fc 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block
}

.hero-desc {
    font-size: clamp(1.05rem, 1.8vw, 1.2rem);
    color: var(--ph-text-secondary);
    max-width: 540px;
    line-height: 1.65;
    margin-bottom: 2rem
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 2.5rem
}

.btn-hero-primary {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);
    color: #ffffff !important;
    font-weight: 700;
    font-size: 1rem;
    padding: 0.85rem 1.85rem;
    border-radius: 999px;
    text-decoration: none;
    box-shadow: 0 6px 20px rgba(79, 70, 229, 0.4);
    transition: all 0.25s ease
}

.btn-hero-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(79, 70, 229, 0.55)
}

.btn-hero-ghost {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    background: var(--ph-bg-surface);
    border: 1px solid var(--ph-border);
    color: var(--ph-text-primary) !important;
    font-weight: 600;
    font-size: 1rem;
    padding: 0.85rem 1.75rem;
    border-radius: 999px;
    text-decoration: none;
    transition: all 0.25s ease
}

.btn-hero-ghost:hover {
    background: var(--ph-bg-surface-hover);
    border-color: var(--ph-primary);
    transform: translateY(-2px)
}

.hero-trust-bar {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--ph-border)
}

.hero-trust-item {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.hero-trust-value {
    font-weight: 800;
    font-size: 1.25rem;
    color: var(--ph-text-primary)
}

.hero-trust-label {
    font-size: 0.82rem;
    color: var(--ph-text-muted);
    font-weight: 500
}

.hero-trust-divider {
    width: 1px;
    height: 24px;
    background: var(--ph-border)
}

.projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    max-width: 1280px;
    margin: 2.5rem auto
}

.project-card {
    background: var(--ph-bg-card);
    border: 1px solid var(--ph-border);
    border-radius: 24px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: var(--ph-shadow-sm);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
    text-decoration: none;
    color: inherit
}

.project-card:hover {
    transform: translateY(-6px);
    border-color: var(--ph-border-glow);
    box-shadow: var(--ph-shadow-lg), 0 0 30px rgba(99, 102, 241, 0.18)
}

.project-card__img-wrap {
    position: relative;
    width: 100%;
    height: 210px;
    overflow: hidden;
    background: #0b1120
}

.project-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease
}

.project-card:hover .project-card__img {
    transform: scale(1.04)
}

.project-card__body {
    padding: 1.75rem;
    flex: 1;
    display: flex;
    flex-direction: column
}

.project-card__tags {
    display: flex;
    gap: 0.4rem;
    flex-wrap: wrap;
    margin-bottom: 0.85rem
}

.project-tag {
    background: rgba(99, 102, 241, 0.12);
    color: #818cf8;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.2rem 0.65rem
}

body.light .project-tag {
    background: rgba(99, 102, 241, 0.08);
    color: #4f46e5
}

.project-card__title {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--ph-text-primary);
    margin-bottom: 0.6rem;
    line-height: 1.3
}

.project-card__desc {
    font-size: 0.92rem;
    color: var(--ph-text-secondary);
    line-height: 1.6;
    margin-bottom: 1.25rem;
    flex: 1
}

.project-card__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--ph-primary);
    font-weight: 700;
    font-size: 0.92rem;
    transition: gap 0.2s ease
}

.project-card:hover .project-card__cta {
    gap: 0.75rem
}

.filter-tabs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    flex-wrap: wrap;
    margin: 2rem 0
}

.filter-tab {
    padding: 0.6rem 1.4rem;
    border-radius: 999px;
    background: var(--ph-bg-surface);
    border: 1px solid var(--ph-border);
    color: var(--ph-text-secondary);
    font-weight: 600;
    font-size: 0.88rem;
    cursor: pointer;
    transition: all 0.2s ease
}

.filter-tab:hover,
.filter-tab.active {
    background: var(--ph-primary);
    border-color: var(--ph-primary);
    color: #ffffff !important;
    box-shadow: 0 4px 16px var(--ph-primary-glow);
    transform: translateY(-2px)
}

.testimonials-section {
    padding: 80px 0;
    position: relative;
    overflow: hidden
}

.testimonials-slider-wrapper {
    position: relative;
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 1rem
}

.testimonials-slider {
    flex: 1 1 0%;
    min-width: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 1.75rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 1rem 0.35rem 1.5rem 0.35rem;
    scroll-snap-type: x mandatory
}

.testimonials-slider::-webkit-scrollbar {
    display: none
}

.testimonial-card {
    flex: 0 0 380px;
    max-width: 380px;
    min-width: 300px;
    scroll-snap-align: start;
    background: var(--ph-bg-card);
    border: 1px solid var(--ph-border);
    border-radius: 20px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    box-shadow: var(--ph-shadow-sm);
    box-sizing: border-box
}

.testimonial-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--ph-shadow-md)
}

.scroll-arrow {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1.5px solid rgba(99, 102, 241, 0.25) !important;
    color: #4f46e5 !important;
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.12), 0 2px 6px rgba(0, 0, 0, 0.04) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    z-index: 5 !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    outline: none
}

.scroll-arrow:hover {
    background: #6366f1 !important;
    border-color: #6366f1 !important;
    color: #ffffff !important;
    transform: scale(1.08) !important;
    box-shadow: 0 6px 20px rgba(99, 102, 241, 0.35) !important
}

.scroll-arrow:active {
    transform: scale(0.95) !important
}

body:not(.light) .scroll-arrow {
    background: rgba(30, 27, 60, 0.95) !important;
    border-color: rgba(139, 92, 246, 0.35) !important;
    color: #c7d2fe !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important
}

body:not(.light) .scroll-arrow:hover {
    background: #6366f1 !important;
    border-color: #818cf8 !important;
    color: #ffffff !important
}

@media (max-width:640px) {
    .testimonials-slider-wrapper {
        gap: 0.35rem
    }

    .scroll-arrow {
        width: 40px !important;
        height: 40px !important
    }

    .testimonial-card {
        flex: 0 0 calc(100% - 10px) !important;
        max-width: calc(100% - 10px) !important;
        min-width: 250px !important;
        padding: 1.5rem 1.25rem !important
    }
}

.trs-dot {
    border: none;
    padding: 0;
    cursor: pointer
}

.t-stars {
    color: #f59e0b;
    font-size: 1.1rem;
    letter-spacing: 2px;
    margin-bottom: 1rem
}

.t-text {
    font-size: 0.96rem;
    line-height: 1.65;
    color: var(--ph-text-secondary);
    flex: 1;
    margin-bottom: 1.5rem;
    font-style: italic
}

.t-author {
    display: flex;
    align-items: center;
    gap: 0.85rem
}

.t-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1rem;
    color: #ffffff;
    background: linear-gradient(135deg, #6366f1, #8b5cf6)
}

.t-info strong {
    display: block;
    font-size: 0.95rem;
    color: var(--ph-text-primary)
}

.t-info span {
    font-size: 0.82rem;
    color: var(--ph-text-muted)
}

.faq-section {
    padding: 80px 0;
    max-width: 860px;
    margin: 0 auto
}

.faq-header {
    text-align: center;
    margin-bottom: 2.5rem
}

.faq-title {
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 800;
    margin-bottom: 0.75rem
}

.faq-desc {
    color: var(--ph-text-secondary);
    font-size: 1.05rem
}

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.faq-item {
    background: var(--ph-bg-card);
    border: 1px solid var(--ph-border);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.2s ease
}

.faq-item:hover {
    border-color: var(--ph-border-glow)
}

.faq-question {
    width: 100%;
    padding: 1.25rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: transparent;
    border: none;
    font-family: var(--ph-font-heading);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ph-text-primary);
    text-align: left;
    cursor: pointer;
    gap: 1rem
}

.faq-icon-wrapper {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(99, 102, 241, 0.1);
    color: var(--ph-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.25s ease
}

.faq-item.active .faq-icon-wrapper {
    transform: rotate(180deg)
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s cubic-bezier(0.16, 1, 0.3, 1)
}

.faq-answer-inner {
    padding: 0 1.5rem 1.25rem;
    color: var(--ph-text-secondary);
    font-size: 0.95rem;
    line-height: 1.7
}

.contact-section {
    padding: 80px 0 50px;
    position: relative
}

.contact-inner {
    max-width: 1240px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: center;
    padding: 0 1.5rem
}

@media (max-width:900px) {
    .contact-inner {
        grid-template-columns: 1fr
    }
}

.contact-form-wrap {
    background: var(--ph-bg-card);
    border: 1px solid var(--ph-border);
    border-radius: 24px;
    padding: 2.5rem;
    box-shadow: var(--ph-shadow-lg);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px)
}

.contact-form__field {
    margin-bottom: 1.25rem
}

.contact-form__label {
    display: block;
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--ph-text-primary);
    margin-bottom: 0.4rem
}

.contact-form__input {
    width: 100%;
    background: var(--ph-bg-surface);
    border: 1px solid var(--ph-border);
    border-radius: 12px;
    padding: 0.85rem 1.15rem;
    font-family: inherit;
    font-size: 0.95rem;
    color: var(--ph-text-primary);
    transition: all 0.2s ease
}

.contact-form__input:focus {
    outline: none;
    border-color: var(--ph-primary);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2)
}

.contact-form__submit {
    width: 100%;
    background: linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);
    color: #ffffff;
    border: none;
    font-weight: 700;
    font-size: 1.05rem;
    padding: 1rem;
    border-radius: 14px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    box-shadow: 0 6px 20px rgba(79, 70, 229, 0.4);
    transition: all 0.25s ease
}

.contact-form__submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(79, 70, 229, 0.55)
}

.contact-captcha-group {
    margin-bottom: 1.35rem
}

.contact-captcha-box {
    display: flex;
    align-items: center;
    gap: 0.75rem
}

.contact-captcha-display {
    flex-shrink: 0;
    width: 140px;
    height: 48px;
    background: var(--ph-bg-surface, #f8fafc);
    border: 1.5px solid var(--ph-border, #e2e8f0);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    user-select: none;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.03)
}

.contact-captcha-display svg {
    width: 100%;
    height: 100%;
    display: block
}

.contact-captcha-refresh {
    flex-shrink: 0;
    width: 46px;
    height: 48px;
    border-radius: 12px;
    background: var(--ph-bg-surface, #f8fafc);
    border: 1.5px solid var(--ph-border, #e2e8f0);
    color: var(--ph-primary, #6366f1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1)
}

.contact-captcha-refresh:hover {
    background: rgba(99, 102, 241, 0.1);
    border-color: var(--ph-primary, #6366f1);
    color: var(--ph-primary-dark, #4f46e5);
    transform: rotate(45deg)
}

.contact-captcha-input {
    flex: 1;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    font-weight: 800;
    font-family: inherit;
    text-align: center
}

.contact-captcha-input::placeholder {
    letter-spacing: normal;
    font-weight: 500;
    text-align: left
}

.contact-captcha-hint {
    display: block;
    font-size: 0.76rem;
    color: var(--ph-text-muted, #64748b);
    margin-top: 0.4rem;
    line-height: 1.4
}

@media (max-width:540px) {
    .contact-captcha-box {
        flex-wrap: wrap
    }

    .contact-captcha-display {
        width: calc(100% - 58px)
    }

    .contact-captcha-input {
        width: 100%;
        text-align: left
    }
}

@media (prefers-reduced-motion:reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important
    }
}

.site-footer {
    margin-top: auto !important;
    margin-bottom: 0 !important;
    width: 100%;
    flex-shrink: 0;
    position: relative;
    background: var(--ph-bg-base, #f8fafc) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    padding: 3.5rem 0 1.75rem;
    overflow: hidden;
    z-index: 10
}

html.light .site-footer,
body.light .site-footer {
    background: var(--ph-bg-base, #f8fafc) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important
}

.site-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 5%;
    right: 5%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(56, 189, 248, 0.8), rgba(99, 102, 241, 0.8), transparent);
    opacity: 0.7;
    pointer-events: none
}

.site-footer .footer-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 1.5rem
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr 1.5fr;
    gap: 2.5rem;
    align-items: start
}

@media (max-width:1200px) {
    .footer-grid {
        grid-template-columns: 1.8fr 1fr 1fr 1.25fr;
        gap: 2.25rem
    }
}

@media (max-width:991px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2.25rem
    }

    .footer-brand-col {
        grid-column: 1 / -1
    }
}

@media (max-width:576px) {
    .site-footer {
        padding: 2.5rem 0 1.25rem
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2rem
    }
}

.footer-brand-col {
    display: flex;
    flex-direction: column;
    gap: 1.15rem
}

.footer-brand-logo-wrap {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    width: fit-content;
    transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1)
}

.footer-brand-logo-wrap:hover {
    transform: translateY(-2px)
}

.footer-brand-logo {
    height: 48px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
    display: block;
    transition: opacity 0.2s ease, transform 0.2s ease
}

.footer-brand-logo--light {
    display: block !important
}

.footer-brand-logo--dark {
    display: none !important
}

body.light .footer-brand-logo--light {
    display: block !important
}

body.light .footer-brand-logo--dark {
    display: none !important
}

body:not(.light) .footer-brand-logo--dark {
    display: block !important
}

body:not(.light) .footer-brand-logo--light {
    display: none !important
}

@media (max-width:576px) {
    .footer-brand-logo {
        height: 40px;
        max-width: 150px
    }
}

.footer-tagline {
    font-weight: 700;
    font-size: 0.98rem;
    color: var(--ph-text-primary);
    margin: 0;
    letter-spacing: -0.01em
}

.footer-bio {
    font-size: 0.88rem;
    color: var(--ph-text-secondary);
    line-height: 1.65;
    margin: 0;
    max-width: 340px
}

.footer-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.35rem 0.85rem;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid var(--ph-border);
    border-radius: 9999px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ph-text-secondary);
    width: fit-content;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2)
}

html.light .footer-status-pill,
body.light .footer-status-pill {
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05)
}

.footer-pulse-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #10b981;
    box-shadow: 0 0 8px #10b981;
    animation: footerPulse 2.5s infinite ease-in-out
}

@keyframes footerPulse {

    0%,
    100% {
        opacity: 1;
        transform: scale(1)
    }

    50% {
        opacity: 0.4;
        transform: scale(0.85)
    }
}

.footer-social-wrap {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-top: 0.25rem
}

.footer-social-label {
    font-family: var(--ph-font-heading);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: var(--ph-text-muted)
}

.footer-social-row {
    display: flex;
    align-items: center;
    gap: 0.65rem
}

.footer-social-btn {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--ph-border);
    color: var(--ph-text-secondary);
    text-decoration: none;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15)
}

html.light .footer-social-btn,
body.light .footer-social-btn {
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.1) !important;
    color: #475569 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important
}

.footer-social-btn:hover {
    color: #ffffff !important;
    transform: translateY(-3px)
}

.footer-social-btn svg {
    transition: transform 0.25s ease, fill 0.2s ease, stroke 0.2s ease
}

.footer-social-btn:hover svg {
    transform: scale(1.12)
}

.footer-social-btn--github:hover,
html.light .footer-social-btn--github:hover,
body.light .footer-social-btn--github:hover {
    background: #181717 !important;
    border-color: #181717 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(24, 23, 23, 0.35) !important
}

.footer-social-btn--github:hover svg {
    fill: #ffffff !important
}

.footer-social-btn--linkedin:hover,
html.light .footer-social-btn--linkedin:hover,
body.light .footer-social-btn--linkedin:hover {
    background: #0a66c2 !important;
    border-color: #0a66c2 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(10, 102, 194, 0.38) !important
}

.footer-social-btn--linkedin:hover svg {
    fill: #ffffff !important
}

.footer-social-btn--whatsapp:hover,
html.light .footer-social-btn--whatsapp:hover,
body.light .footer-social-btn--whatsapp:hover {
    background: #25d366 !important;
    border-color: #25d366 !important;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(37, 211, 102, 0.42) !important
}

.footer-social-btn--whatsapp:hover svg {
    fill: #ffffff !important
}

.footer-social-btn--instagram:hover,
html.light .footer-social-btn--instagram:hover,
body.light .footer-social-btn--instagram:hover {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
    border-color: transparent !important;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(225, 48, 108, 0.42) !important
}

.footer-social-btn--instagram:hover svg {
    stroke: #ffffff !important
}

.footer-nav-col {
    display: flex;
    flex-direction: column
}

.footer-col-header {
    font-family: var(--ph-font-heading);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--ph-text-muted);
    margin: 0 0 1.25rem;
    display: block
}

.footer-link-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.65rem
}

.footer-link-list li {
    margin: 0;
    padding: 0
}

.footer-nav-link {
    color: var(--ph-text-secondary);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    line-height: 1.45
}

.footer-nav-link:hover {
    color: var(--ph-primary, #6366f1);
    transform: translateX(3px)
}

html.light .footer-nav-link:hover,
body.light .footer-nav-link:hover {
    color: var(--ph-primary-hover, #4f46e5)
}

.footer-link-badge {
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.12rem 0.45rem;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1
}

.footer-link-badge--cyan {
    background: rgba(6, 182, 212, 0.15);
    color: #0e7490;
    border: 1px solid rgba(6, 182, 212, 0.35)
}

.footer-link-badge--emerald {
    background: rgba(16, 185, 129, 0.15);
    color: #047857;
    border: 1px solid rgba(16, 185, 129, 0.35)
}

.footer-link-badge--purple {
    background: rgba(139, 92, 246, 0.15);
    color: #6d28d9;
    border: 1px solid rgba(139, 92, 246, 0.35)
}

.footer-contact-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.88rem;
    color: var(--ph-text-secondary);
    text-decoration: none;
    transition: all 0.2s ease;
    line-height: 1.4;
    padding: 0.35rem 0
}

.footer-contact-item:hover {
    color: var(--ph-primary, #6366f1);
    transform: translateX(2px)
}

.footer-contact-icon {
    flex-shrink: 0;
    width: 17px;
    height: 17px;
    color: var(--ph-cyan, #06b6d4)
}

.footer-cta-li {
    margin-top: 0.35rem
}

.footer-whatsapp-cta,
body.light .footer-whatsapp-cta {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    max-width: 240px;
    padding: 0.65rem 0.95rem 0.65rem 1rem;
    background: linear-gradient(135deg, #25d366 0%, #128c7e 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    border-radius: 12px;
    text-decoration: none !important;
    transition: all 0.28s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 4px 14px rgba(18, 140, 126, 0.28), 0 2px 4px rgba(37, 211, 102, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.25);
    box-sizing: border-box
}

.footer-whatsapp-cta *,
.footer-whatsapp-cta span,
.footer-whatsapp-cta .footer-wa-left,
.footer-whatsapp-cta .footer-wa-text,
body.light .footer-whatsapp-cta *,
body.light .footer-whatsapp-cta span,
body.light .footer-whatsapp-cta .footer-wa-left,
body.light .footer-whatsapp-cta .footer-wa-text {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important
}

.footer-wa-left {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    min-width: 0;
    white-space: nowrap !important
}

.footer-wa-icon,
.footer-whatsapp-cta .footer-wa-icon,
body.light .footer-whatsapp-cta .footer-wa-icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    fill: #ffffff !important;
    color: #ffffff !important;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.15))
}

.footer-wa-text {
    font-size: 0.88rem;
    font-weight: 700;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    white-space: nowrap !important;
    letter-spacing: -0.01em;
    line-height: 1.2
}

.footer-wa-arrow-pill {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #ffffff !important;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.2s ease;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px)
}

.footer-wa-arrow-pill svg {
    color: #ffffff !important;
    stroke: #ffffff !important;
    flex-shrink: 0
}

.footer-whatsapp-cta:hover,
body.light .footer-whatsapp-cta:hover {
    background: linear-gradient(135deg, #2ae06e 0%, #159a8b 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(37, 211, 102, 0.45), 0 2px 6px rgba(18, 140, 126, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.35);
    color: #ffffff !important
}

.footer-whatsapp-cta:hover .footer-wa-arrow-pill {
    transform: translateX(3px);
    background: rgba(255, 255, 255, 0.32)
}

.footer-whatsapp-cta:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(18, 140, 126, 0.3)
}

.footer-response-tag {
    font-size: 0.78rem;
    color: var(--ph-text-muted, #64748b);
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.45rem;
    white-space: nowrap !important;
    line-height: 1.4
}

.footer-response-text {
    white-space: nowrap !important;
    font-weight: 500
}

.footer-bolt {
    color: #f59e0b;
    flex-shrink: 0;
    font-size: 0.85rem;
    animation: pulseBolt 2.5s infinite ease-in-out
}

@keyframes pulseBolt {

    0%,
    100% {
        transform: scale(1);
        opacity: 1
    }

    50% {
        transform: scale(1.2);
        opacity: 0.8
    }
}

.ph-toast-container {
    position: fixed !important;
    bottom: 1.5rem !important;
    right: 1.5rem !important;
    z-index: 99998 !important;
    pointer-events: none !important
}

.footer-bottom-bar {
    border-top: 1px solid var(--ph-border);
    margin-top: 2.75rem;
    padding-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem
}

.footer-copy-text {
    margin: 0;
    color: var(--ph-text-muted);
    font-size: 0.85rem
}

.footer-legal-links {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap
}

.footer-legal-link {
    color: var(--ph-text-muted);
    text-decoration: none;
    font-size: 0.85rem;
    transition: color 0.2s ease
}

.footer-legal-link:hover {
    color: var(--ph-text-primary);
    text-decoration: underline
}

.footer-top-btn {
    background: var(--ph-bg-surface);
    border: 1px solid var(--ph-border);
    color: var(--ph-text-secondary);
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.4rem 0.85rem;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: var(--ph-shadow-sm)
}

.footer-top-btn:hover {
    background: var(--ph-bg-surface-hover);
    color: var(--ph-text-primary);
    border-color: var(--ph-primary);
    transform: translateY(-2px)
}

.ph-search-wrapper {
    width: 100%;
    max-width: 620px;
    margin: 0.75rem auto 1rem;
    padding: 0 0.5rem
}

.ph-search-bar {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    background: #ffffff;
    border: 1.5px solid rgba(226, 232, 240, 0.95);
    border-radius: 9999px;
    padding: 10px 18px;
    box-shadow: 0 4px 20px -2px rgba(91, 91, 255, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1)
}

body.light .ph-search-bar {
    background: #ffffff;
    border-color: rgba(226, 232, 240, 0.95);
    box-shadow: 0 4px 20px -2px rgba(91, 91, 255, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04)
}

.ph-search-bar:hover {
    border-color: rgba(91, 91, 255, 0.45);
    box-shadow: 0 6px 24px -2px rgba(91, 91, 255, 0.14)
}

.ph-search-bar:focus-within {
    border-color: #6366f1;
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.15), 0 8px 30px rgba(91, 91, 255, 0.14);
    transform: translateY(-1px)
}

.ph-search-icon {
    color: #6366f1;
    flex-shrink: 0;
    transition: transform 0.2s ease
}

.ph-search-bar:focus-within .ph-search-icon {
    transform: scale(1.1)
}

.ph-search-input {
    flex: 1;
    width: 100%;
    min-width: 0;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    font-family: inherit;
    font-size: 0.92rem;
    font-weight: 500;
    color: #0f172a;
    padding: 0;
    margin: 0;
    box-shadow: none !important
}

.ph-search-input::placeholder {
    color: #94a3b8;
    font-weight: 400
}

.ph-search-clear {
    display: none;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: none;
    background: #f1f5f9;
    color: #64748b;
    font-size: 0.75rem;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.15s ease;
    padding: 0;
    line-height: 1
}

.ph-search-clear:hover {
    background: #e2e8f0;
    color: #0f172a
}

.ph-search-kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 22px;
    min-width: 22px;
    padding: 0 6px;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #94a3b8;
    font-size: 0.72rem;
    font-weight: 600;
    font-family: inherit;
    pointer-events: none;
    flex-shrink: 0
}

body.light .aip-cta h2,
body.light .aia-cta h2,
body.light .aic-cta h2,
body.light .ind-cta h2,
body.light .cs-cta-box h2,
.aip-cta h2,
.aia-cta h2,
.aic-cta h2,
.ind-cta h2,
.cs-cta-box h2 {
    color: #ffffff !important
}

body.light .aip-cta p,
body.light .aia-cta p,
body.light .aic-cta p,
body.light .ind-cta p,
body.light .cs-cta-box p,
.aip-cta p,
.aia-cta p,
.aic-cta p,
.ind-cta p,
.cs-cta-box p {
    color: rgba(255, 255, 255, 0.85) !important
}

.projects-breadcrumb ol,
body.light .projects-breadcrumb ol {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important
}

.projects-breadcrumb a,
body.light .projects-breadcrumb a {
    font-weight: 500;
    color: #64748b;
    text-shadow: none !important;
    transition: color 0.15s ease
}

.projects-breadcrumb a:hover,
body.light .projects-breadcrumb a:hover {
    color: var(--ph-primary, #0242cd);
    text-decoration: underline
}