/* --- RESET & GLOBALS --- */
* { box-sizing: border-box; margin: 0; padding: 0; }
:root {
    --bg: #000000;
    --text: #ffffff;
    --lines: rgba(255, 255, 255, 0.2);
    --subtext: rgba(255, 255, 255, 0.6);
}
html { scroll-behavior: smooth; }
body {
    background: var(--bg); color: var(--text);
    font-family: 'Roboto Mono', monospace; /* Единый моноширинный шрифт */
    font-size: 16px; font-weight: 300;
    line-height: 1.6;
    cursor: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* ИСПРАВЛЕНО: Убрано 'overflow: hidden' для включения скролла */
}
a { color: inherit; text-decoration: none; cursor: none; }

/* --- ЭФФЕКТЫ И КУРСОР --- */
#noise-canvas {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none; z-index: -1;
    opacity: 0.04;
}
#cursor {
    position: fixed; top: 0; left: 0;
    width: 2px; height: 10px; /* Состояние "стрелка вниз" ↓ */
    background-color: var(--text);
    pointer-events: none; z-index: 10001;
    transition: width 0.2s, height 0.2s, transform 0.2s;
}
#cursor::before {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    background-color: var(--text);
    transform: translate(-50%, -50%);
    transition: width 0.2s, height 0.2s;
    width: 0; height: 0; /* Скрыто по умолчанию */
}
/* Стили для состояния "+" */
body.cursor-plus #cursor { width: 12px; height: 2px; }
body.cursor-plus #cursor::before { width: 2px; height: 12px; }

/* --- СТРУКТУРА САЙТА --- */
.site-wrapper { width: 100%; }
.hero-section {
    height: 100vh;
    display: flex; align-items: center; justify-content: center;
    position: relative;
    overflow: hidden;
}
#hero-title-container {
    width: 100%; height: 100%;
}
.scroll-indicator {
    position: absolute;
    bottom: 2rem;
    font-size: 0.8rem;
    color: var(--subtext);
    animation: bounce 2s infinite;
    opacity: 1;
    transition: opacity 0.3s;
}
.scroll-indicator.hidden {
    opacity: 0;
}
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-10px); }
    60% { transform: translateY(-5px); }
}

/* --- КОНТЕНТ --- */
.content-section {
    padding: 0 4rem;
    max-width: 900px;
    margin: 0 auto;
    position: relative; /* Для правильной работы ScrollTrigger */
    z-index: 2;
}
.rubric {
    width: 100%;
    padding: 8rem 0;
    display: flex; align-items: center;
    text-align: center;
    opacity: 0; /* Для анимации */
}
.rubric::before, .rubric::after {
    content: ''; flex: 1; border-bottom: 1px solid var(--lines);
}
.rubric-text {
    padding: 0 2rem; font-size: 0.8rem;
    letter-spacing: 0.1em; color: var(--subtext);
    text-transform: uppercase;
}
.item {
    padding: 2rem 0 8rem 0;
    /* Начальное состояние для анимации */
    opacity: 0;
    transform: translateY(30px);
}
.item-link { font-size: 3rem; font-weight: 300; line-height: 1.1; }
.item-desc { font-size: 1rem; color: var(--subtext); margin-top: 1rem; max-width: 50ch; }