/* LMP v2 layer: live network, thicker frames, lift on hover, reveal. Loaded last so it wins. */
#lmp-net { position: fixed; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; display: block; }
.global-network { display: none; }
main, header, section, footer { position: relative; z-index: 1; }
nav { position: sticky; top: 0; z-index: 100; }

/* thicker frames */
.service-card, .cex-feature, .pkg, .why-card, .int.live, .chat { border-width: 2.5px; }
.service-link, .case-card, .news-card, .scope-card, .plat, .int, .use, .facts, .stats, .msg { border-width: 2px; }
.scope-card, .plat, .int, .use, .facts { border-color: rgba(180,255,57,0.2); }
.btn-secondary, .view-all-link, .hero-badge, .news-service-tag, .case-tag, .news-social-link { border-width: 1.5px; }
.nav-dd-panel { border-width: 2px; }

/* lift forward on hover, like the service cards */
.service-link, .case-card, .news-card, .pkg, .why-card, .scope-card, .plat, .int, .use, .cex-feature { transition: transform .25s, border-color .25s, box-shadow .25s, background .25s; }
.service-link:hover, .case-card:hover, .news-card:hover, .pkg:hover, .why-card:hover, .scope-card:hover, .plat:hover, .int:hover, .use:hover, .cex-feature:hover { transform: translateY(-4px); border-color: rgba(180,255,57,0.6); box-shadow: 0 16px 44px rgba(180,255,57,0.09); }
.service-card { will-change: transform; }

/* client logos: keep sliding, lift to the front on hover */
.marquee-wrap { padding-block: 14px; }
.marquee-wrap:not(:last-child) { margin-bottom: -12px; }
.logo-cell { position: relative; border: 2px solid rgba(180,255,57,0.28); border-radius: 20px; transition: transform .25s, border-color .25s, box-shadow .25s, background .25s; }
.logo-cell:hover { transform: translateY(-6px) scale(1.06); z-index: 5; border-color: rgba(180,255,57,0.6); background: #0E1017; box-shadow: 0 18px 44px rgba(180,255,57,0.14); }

/* tags in the menu */
.nav-core { white-space: nowrap; }
.nav-dd-wrap { position: relative; }

/* scroll reveal */
section { transition: opacity .7s, transform .7s; }
section.lmp-pre { opacity: 0; transform: translateY(22px); }
@media (prefers-reduced-motion: reduce) { section { transition: none; } section.lmp-pre { opacity: 1; transform: none; } }


/* services dropdown on pages that did not have it */
body.lmp-sub .nav-dd { position: relative; }
body.lmp-sub .nav-dd-btn { font-family: inherit; font-size: 14px; color: #85858D; display: inline-flex; align-items: center; gap: 8px; padding: 0; background: none; border: none; cursor: pointer; transition: color .15s; }
body.lmp-sub .nav-dd-btn:hover,body.lmp-sub .nav-dd.open .nav-dd-btn,body.lmp-sub .nav-dd:hover .nav-dd-btn { color: #fff; }
body.lmp-sub .nav-dd-chev { width: 10px; height: 10px; transition: transform .2s; }
body.lmp-sub .nav-dd.open .nav-dd-chev,body.lmp-sub .nav-dd:hover .nav-dd-chev { transform: rotate(180deg); }
body.lmp-sub .nav-dd-menu { position: absolute; top: 100%; left: -20px; padding-top: 16px; min-width: 340px; display: none; }
body.lmp-sub .nav-dd:hover .nav-dd-menu,body.lmp-sub .nav-dd.open .nav-dd-menu { display: block; }
body.lmp-sub .nav-dd-panel { background: #0B0C12; border: 2px solid rgba(180,255,57,0.28); border-radius: 14px; padding: 8px; box-shadow: 0 20px 50px rgba(0,0,0,0.55); }
body.lmp-sub .nav-dd-item { display: block; padding: 14px 16px; border-radius: 8px; transition: background .15s; }
body.lmp-sub .nav-dd-item:hover { background: rgba(180,255,57,0.07); }
body.lmp-sub .nav-dd-item-top { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; color: #fff; margin-bottom: 4px; }
body.lmp-sub .nav-dd-item small { display: block; font-size: 12px; color: #9A9AA3; line-height: 1.5; font-weight: 400; }
body.lmp-sub .nav-dd-all { display: block; margin-top: 4px; padding: 12px 16px; border-top: 1px solid rgba(255,255,255,0.07); font-size: 13px; color: #9A9AA3; }
body.lmp-sub .nav-dd-all:hover { color: #B4FF39; }
body.lmp-sub .nav-core { font-family: "Geist Mono", monospace; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; color: #B4FF39; border: 1px solid rgba(180,255,57,0.5); padding: 2px 7px; border-radius: 100px; font-weight: 500; }
@media (max-width: 900px) { body.lmp-sub .nav-dd-wrap { display: none; } }
