/**
 * mozagon — Light theme glass polish (loads last)
 * Palette: purple · turquoise · silver · white · black
 * Glass gradients, readable contrast, subtle motion
 */

/* —— Motion tokens —— */
@keyframes ltGlassSheen {
    0%, 100% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
}

@keyframes ltOrbitRing {
    0%, 100% {
        opacity: 0.42;
        transform: rotate(calc(-7deg + var(--orbit-rotation))) scale(1);
    }
    50% {
        opacity: 0.72;
        transform: rotate(calc(-5deg + var(--orbit-rotation))) scale(1.012);
    }
}

@keyframes ltOrbitRingAlt {
    0%, 100% {
        opacity: 0.38;
        transform: rotate(calc(12deg - var(--orbit-rotation))) scale(1);
    }
    50% {
        opacity: 0.62;
        transform: rotate(calc(14deg - var(--orbit-rotation))) scale(1.008);
    }
}

@keyframes ltNodeDrift {
    0%, 100% {
        transform: var(--base-transform) var(--orbit-shift) translateY(0);
    }
    50% {
        transform: var(--base-transform) var(--orbit-shift) translateY(-5px);
    }
}

@keyframes ltGlassBorderPulse {
    0%, 100% {
        border-color: rgba(148, 163, 184, 0.32);
    }
    50% {
        border-color: rgba(8, 145, 178, 0.38);
    }
}

/* —— References orbit —— */
html.theme-light .references-orbit-section {
    isolation: isolate;
}

html.theme-light .references-orbit {
    border-radius: 1.5rem;
    background:
        radial-gradient(ellipse 70% 50% at 18% 22%, rgba(8, 145, 178, 0.07), transparent 58%),
        radial-gradient(ellipse 62% 44% at 82% 78%, rgba(124, 58, 237, 0.06), transparent 54%),
        linear-gradient(165deg, rgba(248, 250, 252, 0.55) 0%, rgba(241, 245, 249, 0.35) 100%);
}

html.theme-light .references-orbit::before {
    border-color: rgba(8, 145, 178, 0.22);
    box-shadow: 0 0 40px rgba(8, 145, 178, 0.06);
    animation: ltOrbitRing 9s ease-in-out infinite;
}

html.theme-light .references-orbit::after {
    border-color: rgba(124, 58, 237, 0.2);
    box-shadow: 0 0 36px rgba(124, 58, 237, 0.05);
    animation: ltOrbitRingAlt 11s ease-in-out infinite;
}

html.theme-light .references-core {
    position: relative;
    overflow: hidden;
    animation: ltGlassBorderPulse 8s ease-in-out infinite;
}

html.theme-light .references-core::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(
        115deg,
        transparent 0%,
        rgba(255, 255, 255, 0.55) 42%,
        rgba(224, 242, 254, 0.28) 58%,
        transparent 100%
    );
    background-size: 220% 100%;
    animation: ltGlassSheen 7s ease-in-out infinite;
    opacity: 0.55;
}

html.theme-light .references-core > * {
    position: relative;
    z-index: 1;
}

html.theme-light .references-core .text-soweda-cyan,
html.theme-light .references-core .uppercase {
    color: var(--brand-turquoise-deep) !important;
    font-weight: 600;
    letter-spacing: 0.18em;
}

html.theme-light .reference-node {
    color: var(--lt-ink-body) !important;
    text-decoration: none;
    animation: ltNodeDrift 5.6s ease-in-out infinite;
    animation-delay: var(--float-delay);
}

html.theme-light .reference-node strong {
    color: var(--lt-ink) !important;
    font-weight: 600;
}

html.theme-light .reference-node small {
    color: var(--lt-ink-muted) !important;
}

html.theme-light .reference-node:hover {
    background: var(--lt-glass-bg-hover) !important;
    border-color: rgba(8, 145, 178, 0.38) !important;
    box-shadow:
        0 14px 36px rgba(15, 23, 42, 0.1),
        0 0 0 1px rgba(124, 58, 237, 0.08),
        var(--lt-glass-inset) !important;
}

html.theme-light .reference-dot {
    background: var(--brand-turquoise) !important;
    box-shadow: 0 0 10px rgba(8, 145, 178, 0.45) !important;
}

/* —— Services FAQ —— */
html.theme-light .services-faq-stage {
    background: transparent;
}

/* Services FAQ — animated brand ribbon waves */
html.theme-light .services-faq-waves {
    opacity: 1;
}

html.theme-light .services-faq-wave-canvas {
    opacity: 0.9 !important;
    mix-blend-mode: normal !important;
    filter: saturate(1.2) contrast(1.05);
}

html.theme-light .services-faq-title.gradient-heading {
    background: var(--lt-heading-gradient) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
}

html.theme-light .services-faq-lead {
    color: var(--lt-ink-body) !important;
    max-width: 26rem;
}

html.theme-light .services-faq-link {
    color: var(--brand-turquoise-deep) !important;
    text-decoration: none;
}

html.theme-light .services-faq-link svg {
    color: currentColor !important;
}

html.theme-light .services-faq-item {
    background: var(--lt-glass-bg) !important;
    border: 1px solid var(--lt-glass-border) !important;
    box-shadow: var(--lt-glass-shadow), var(--lt-glass-inset) !important;
    backdrop-filter: var(--lt-glass-blur) !important;
    -webkit-backdrop-filter: var(--lt-glass-blur) !important;
    transition:
        border-color 0.28s ease,
        box-shadow 0.28s ease,
        transform 0.28s ease;
}

html.theme-light .services-faq-item:hover {
    border-color: rgba(8, 145, 178, 0.32) !important;
}

html.theme-light .services-faq-item[open] {
    border-color: rgba(124, 58, 237, 0.32) !important;
    box-shadow:
        0 12px 34px rgba(15, 23, 42, 0.09),
        0 0 0 1px rgba(124, 58, 237, 0.1),
        var(--lt-glass-inset) !important;
}

html.theme-light .services-faq-item__answer {
    color: var(--lt-ink-muted) !important;
}

html.theme-light .services-faq-btn {
    border: 1px solid rgba(124, 58, 237, 0.28) !important;
    background: linear-gradient(
        135deg,
        rgba(224, 242, 254, 0.92) 0%,
        rgba(255, 255, 255, 0.88) 42%,
        rgba(237, 233, 254, 0.78) 100%
    ) !important;
    color: var(--lt-ink) !important;
    box-shadow: var(--lt-glass-shadow), var(--lt-glass-inset) !important;
    backdrop-filter: var(--lt-glass-blur) !important;
    -webkit-backdrop-filter: var(--lt-glass-blur) !important;
}

html.theme-light .services-faq-btn:hover {
    border-color: rgba(8, 145, 178, 0.42) !important;
    box-shadow:
        0 14px 32px rgba(8, 145, 178, 0.14),
        0 4px 12px rgba(124, 58, 237, 0.08),
        var(--lt-glass-inset) !important;
    color: var(--brand-purple-deep) !important;
}

html.theme-light .services-faq-btn svg {
    color: currentColor !important;
}

/* —— Shared glass surfaces (home sections) —— */
html.theme-light .home-main .glass-panel:not(.cyber-card-item),
html.theme-light .home-main .section-surface:not(.cyber-panel),
html.theme-light .home-main .service-showcase-card,
html.theme-light .home-main .executive-brief-card,
html.theme-light .home-main .motion-strip-shell--premium {
    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

html.theme-light .home-main .glass-panel:not(.cyber-card-item):hover,
html.theme-light .home-main .service-showcase-card:hover,
html.theme-light .home-main .executive-brief-card:hover {
    border-color: rgba(8, 145, 178, 0.34) !important;
    box-shadow:
        0 14px 38px rgba(15, 23, 42, 0.09),
        0 0 0 1px rgba(124, 58, 237, 0.06),
        var(--lt-glass-inset) !important;
}

html.theme-light .motion-strip-track--premium {
    background: transparent !important;
}

/* Ambient: galaxy canvas only — soweda hidden in light */
html.theme-light #soweda-canvas {
    opacity: 0 !important;
    visibility: hidden !important;
}

html.theme-light .galaxy-canvas {
    opacity: 0.92 !important;
}

/* —— Reduced motion —— */
@media (prefers-reduced-motion: reduce) {
    html.theme-light .references-orbit::before,
    html.theme-light .references-orbit::after,
    html.theme-light .references-core,
    html.theme-light .references-core::before,
    html.theme-light .reference-node {
        animation: none !important;
    }
}

/* —— Company intro: readable text lock (loads last) —— */
html.theme-light .company-intro-glass-card .company-intro-title__silver,
html.theme-light .company-intro-glass-card .company-intro-title__main {
    background: none !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    color: var(--lt-ink) !important;
    -webkit-text-fill-color: var(--lt-ink) !important;
    animation: none !important;
}

html.theme-light .company-intro-glass-card .hero-word-accent {
    background: none !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    color: var(--brand-turquoise-deep) !important;
    -webkit-text-fill-color: var(--brand-turquoise-deep) !important;
    animation: none !important;
    font-weight: 700;
}

html.theme-light .company-intro-glass-card .company-intro-lead {
    color: var(--lt-ink-body) !important;
    -webkit-text-fill-color: var(--lt-ink-body) !important;
}

/* —— Company intro: codes float on site background (loads last) —— */
.company-intro-code-rain {
    mask-image: none !important;
    -webkit-mask-image: none !important;
}

html.theme-light .company-intro-code-rain {
    opacity: 0.55 !important;
}

html:not(.theme-light) .company-intro-code-rain {
    opacity: 0.72 !important;
}

/* —— Light mode elevation (loads last — fixes card vs background melt) —— */
html.theme-light .home-main .glass-panel:not(.cyber-card-item),
html.theme-light .home-main .interactive-card:not(.cyber-card-item),
html.theme-light .home-main .service-showcase-card,
html.theme-light .home-main .executive-brief-card {
    background: linear-gradient(165deg, #ffffff 0%, #f8fafc 100%) !important;
    border: 1px solid rgba(8, 145, 178, 0.16) !important;
    box-shadow:
        0 12px 32px rgba(15, 23, 42, 0.09),
        inset 0 1px 0 rgba(255, 255, 255, 1) !important;
}

html.theme-light .home-main .problem-stack-section {
    padding-top: 1.75rem !important;
    padding-bottom: 2rem !important;
}

html.theme-light .home-main .reference-node {
    background: #ffffff !important;
    border: 1px solid rgba(8, 145, 178, 0.16) !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
}

html.theme-light .home-main .earth-glass-panel {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(8, 145, 178, 0.18) !important;
    box-shadow: var(--lt-shadow) !important;
}

html.theme-light .home-main .services-faq-item {
    background: #ffffff !important;
    border: 1px solid rgba(8, 145, 178, 0.18) !important;
}
