:root,
[data-bs-theme=light],
[data-bs-theme=dark] {
    --bs-border-radius: 18px;
    --bs-border-radius-sm: 12px;
    --bs-border-radius-lg: 24px;
    --nexo-orange: #ff7a00;
    --nexo-red: #e94b2f;
    --nexo-dark: #09090d;
    --nexo-card: rgba(24, 24, 32, .88);
    --nexo-border: rgba(255, 122, 0, .28);
}

html, body { min-height: 100%; }
body {
    display: flex;
    flex-direction: column;
    background:
        radial-gradient(circle at top left, rgba(255, 122, 0, .18), transparent 28rem),
        radial-gradient(circle at bottom right, rgba(233, 75, 47, .12), transparent 24rem),
        var(--nexo-dark);
    color: #f5f5f7;
}
#app { flex-shrink: 0; padding-bottom: 0; }
a { text-decoration: none; }
h1, .h1 { text-transform: uppercase; }
.content { margin-top: 5rem; margin-bottom: 5rem; }

.navbar, .footer { background: rgba(9, 9, 13, .94) !important; backdrop-filter: blur(14px); }
.navbar { font-size: 1rem; text-transform: uppercase; border-bottom: 1px solid var(--nexo-border); }
.navbar .navbar-nav .nav-link { color: #eee; font-weight: 800; letter-spacing: .04em; }
.navbar .navbar-nav .nav-link:hover, .navbar .navbar-nav .nav-link.active { color: var(--nexo-orange); }
.navbar-brand img { height: 72px; filter: drop-shadow(0 0 18px rgba(255, 122, 0, .55)); }
.dropdown-menu { background: #13131a; border: 1px solid var(--nexo-border); }
.dropdown-item { color: #f5f5f7; }
.dropdown-item:hover { background: rgba(255, 122, 0, .14); color: var(--nexo-orange); }

.prism-nav-right .nav-item { margin-right: 1rem; display: inline-block; list-style: none; }
.copy-address { border-radius: 999px; border: 1px solid var(--nexo-border); padding: .55rem 1rem; margin-bottom: 0; cursor: pointer; background: rgba(0,0,0,.35); color: #fff; display: inline-block; }

@media (min-width: 991px) {
    .navbar-brand { margin-right: 0; position: absolute; top: 5px; left: 50%; width: 150px; transform: translateX(-50%); z-index: 50; transition: all .3s ease-in-out; }
    .navbar-collapse .navbar-nav { width: calc((100% - 170px) / 2); }
    .navbar-brand img { max-width: 100%; height: auto; }
}
.sub-navbar { background: linear-gradient(90deg, #e94b2f, #ff7a00) !important; box-shadow: 0 12px 35px rgba(255, 122, 0, .2); }
.sub-navbar .btn-rounded { padding: .55em 1.1em; border-radius: 999px; font-weight: 700; }

.nexo-hero { position: relative; min-height: 720px; background-size: cover; background-position: center; overflow: hidden; }
.nexo-hero::before { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, black, transparent); }
.nexo-hero > .container { position: relative; z-index: 1; }
.nexo-badge { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem 1rem; border: 1px solid var(--nexo-border); border-radius: 999px; background: rgba(255, 122, 0, .12); color: #ffd6ae; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.nexo-title { text-align: left; font-size: clamp(3rem, 8vw, 7rem); line-height: .88; font-weight: 950; color: #fff; text-shadow: 0 0 38px rgba(255, 122, 0, .48); }
.nexo-subtitle { max-width: 720px; font-size: 1.35rem; color: #d6d6dc; }
.nexo-btn { border-radius: 999px; font-weight: 900; letter-spacing: .03em; padding-left: 1.35rem; padding-right: 1.35rem; box-shadow: 0 12px 30px rgba(255, 122, 0, .2); }
.btn-primary, .progress-bar { background: linear-gradient(90deg, var(--nexo-red), var(--nexo-orange)) !important; border: none; }
.btn-outline-light:hover { color: #111 !important; }
.nexo-logo-card, .nexo-card, .nexo-feature { background: var(--nexo-card); border: 1px solid var(--nexo-border); box-shadow: 0 20px 65px rgba(0,0,0,.38); backdrop-filter: blur(16px); }
.nexo-logo-card { padding: 2rem; border-radius: 32px; }
.nexo-logo-big { max-height: 260px; filter: drop-shadow(0 0 40px rgba(255, 122, 0, .7)); }
.nexo-status-card { padding: 1rem 1.25rem; border-radius: 999px; background: rgba(0,0,0,.34); }
.nexo-dot { width: .8rem; height: .8rem; border-radius: 999px; display: inline-block; margin-right: .5rem; box-shadow: 0 0 14px currentColor; }
.nexo-dot.online { background: #2ecc71; color: #2ecc71; }
.nexo-dot.offline { background: #e74c3c; color: #e74c3c; }

.home-container .card, .post-preview { position: relative; height: 100%; }
.nexo-card { border-radius: 24px; overflow: hidden; }
.nexo-feature { border-radius: 24px; padding: 2rem; transition: transform .2s ease, border-color .2s ease; }
.nexo-feature:hover { transform: translateY(-6px); border-color: rgba(255, 122, 0, .6); }
.nexo-feature i { font-size: 2.4rem; color: var(--nexo-orange); }
.nexo-feature h3 { margin-top: 1rem; font-weight: 900; }
.nexo-feature p { color: #d7d7dc; margin-bottom: 0; }
.nexo-section-head { text-align: center; margin: 3rem 0 1.5rem; }
.nexo-section-head span { color: var(--nexo-orange); font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.nexo-section-head h2 { font-size: clamp(2rem, 4vw, 3rem); font-weight: 950; text-transform: uppercase; }
.nexo-progress { height: .8rem; background: rgba(255,255,255,.08); border-radius: 999px; overflow: hidden; }
.post-preview .title { position: absolute; bottom: 0; left: 0; right: 0; background: rgba(9, 9, 13, .82); font-size: 1.5rem; font-weight: 900; }
.post-preview:hover .title { background: rgba(255, 122, 0, .88); }
footer { border-top: 1px solid var(--nexo-border); background: #09090d !important; }
footer a { color: #ffd6ae; }
footer a:hover { color: var(--nexo-orange); }

@media (max-width: 767px) {
    .nexo-hero { min-height: auto; padding: 5rem 0; }
    .nexo-title { text-align: center; }
    .nexo-subtitle { text-align: center; }
    .nexo-badge { margin-left: auto; margin-right: auto; display: flex; width: fit-content; }
}
