:root {
    --bg-color: #030303;
    --text-primary: #ffffff;
    --text-secondary: rgba(255, 255, 255, 0.65);
    --text-faint: rgba(255, 255, 255, 0.25);
    --font-heading: 'Outfit', sans-serif;
    --font-mono: 'Space Grotesk', sans-serif;
}

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

body, html {
    width: 100%;
    height: 100%;
    background-color: var(--bg-color);
    color: var(--text-primary);
    font-family: var(--font-heading);
    overflow: hidden;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/* Background Ambient Glow & Grid */
.ambient-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 50% 50%, rgba(30, 41, 59, 0.35) 0%, rgba(0, 0, 0, 0) 70%);
    pointer-events: none;
    z-index: 1;
    transition: background 0.5s ease;
}

.grid-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(rgba(255, 255, 255, 0.015) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.015) 1px, transparent 1px);
    background-size: 50px 50px;
    pointer-events: none;
    z-index: 2;
}

/* Main Content Wrapper */
.content-wrapper {
    position: relative;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 2rem;
    width: 100%;
}

/* Logo Presentation */
.logo-container {
    position: relative;
    margin-bottom: 2rem;
    width: 100%;
    height: 37px;
    display: flex;
    justify-content: center;
}

.logo-wrapper-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo-wrapper-inner {
    position: relative;
    width: 210px;
    height: 100%;
    display: flex;
    align-items: center;
    will-change: transform;
}

/* Overlapping Screen Blending for Chromatic Aberration Text & Cursors */
.layer-b { mix-blend-mode: screen; z-index: 17; }
.layer-g { mix-blend-mode: screen; z-index: 18; }
.layer-r { mix-blend-mode: screen; z-index: 19; }
.layer-main { z-index: 20; filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.2)); }

.logo-glyphs {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.hero-glyphs-svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

/* Standalone HTML Div Cursor */
.cursor-i {
    position: absolute;
    top: 0;
    left: 0; /* Starts at left: 0 */
    width: 4.4%; /* 8 / 182 */
    height: 100%;
    will-change: transform, left, opacity;
    transform-origin: center center;
    border-radius: 4px; /* Perfectly matching the 2px rounded corner vector curves of the refreshed logo */
}

.trail-b { background-color: rgb(0, 150, 255); }
.trail-g { background-color: rgb(0, 255, 128); }
.trail-r { background-color: rgb(255, 0, 85); }
.main-cursor { background-color: #ffffff; }

/* Tagline */
.tagline {
    font-family: var(--font-mono);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.08em;
    color: #525252; /* Pure desaturated neutral gray */
    opacity: 0;
    transform: translateY(20px) scale(0.95);
    transition: opacity 1.2s cubic-bezier(0.16, 1, 0.3, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.tagline.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Footer */
.faint-footer {
    position: absolute;
    bottom: 2.5rem;
    left: 50%;
    transform: translateX(-50%) translateY(15px);
    z-index: 10;
    font-family: var(--font-mono);
    font-size: 0.85rem;
    letter-spacing: 0.1em;
    color: var(--text-faint);
    opacity: 0;
    transition: opacity 1.5s ease, transform 1.5s ease, color 0.3s ease;
}

.faint-footer.visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.faint-footer:hover {
    color: rgba(255, 255, 255, 0.7);
}

/* Responsive adjustments */
@media (min-width: 768px) {
    .logo-container { height: 45px; }
    .logo-wrapper-inner { width: 255px; }
    .tagline { font-size: 1.15rem; }
}

@media (min-width: 1200px) {
    .logo-container { height: 52px; }
    .logo-wrapper-inner { width: 300px; }
    .tagline { font-size: 1.25rem; }
}

@media (min-width: 1600px) {
    .logo-container { height: 66px; }
    .logo-wrapper-inner { width: 375px; }
    .tagline { font-size: 1.4rem; }
}

@media (min-width: 2000px) {
    .logo-container { height: 79px; }
    .logo-wrapper-inner { width: 450px; }
    .tagline { font-size: 1.6rem; }
}

@media (min-width: 2560px) {
    .logo-container { height: 94px; }
    .logo-wrapper-inner { width: 540px; }
    .tagline { font-size: 1.85rem; }
}
