:root { 
    --primary: #ff3e3e; 
    --dark: #070707; 
    --gray: #f2f2f7; /* Цвет фона как в iOS */
    --radius: 20px;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

body { 
    margin: 0; 
    font-family: -apple-system, BlinkMacSystemFont, 'Inter', sans-serif; 
    background: #fff; 
    color: var(--dark); 
    line-height: 1.5;
}

.container { 
    width: 100%; 
    max-width: 500px; /* Идеально для десктопа, чтобы не растягивалось */
    margin: 0 auto; 
    padding: 0 16px; 
}

/* Header */
header { 
    padding: 16px 0; 
    display: flex; 
    justify-content: space-between; 
    align-items: center;
    position: sticky;
    top: 0;
    background: rgba(255,255,255,0.8);
    backdrop-filter: blur(10px);
    z-index: 100;
}

.logo { font-weight: 900; font-size: 1.2rem; letter-spacing: -0.5px; }

/* Hero Section */
.hero { padding: 24px 0; }
.hero h1 { 
    font-size: 2.5rem; 
    line-height: 1.05; 
    margin: 0 0 16px 0; 
    letter-spacing: -1.5px; 
}
.hero p { font-size: 1.1rem; color: #666; margin: 0; }

/* Галерея: эффект "карточек" */
.stories { 
    display: flex; 
    gap: 12px; 
    overflow-x: auto; 
    padding: 10px 0 20px 0; 
    margin: 0 -16px; /* Выход за края контейнера для красоты */
    padding-left: 16px;
    scrollbar-width: none; 
}
.stories::-webkit-scrollbar { display: none; }

.story-item { 
    min-width: 280px; 
    height: 400px; 
    border-radius: var(--radius); 
    background-size: cover; 
    background-position: center; 
    flex-shrink: 0;
}

/* Блок статистики */
.about-card { 
    background: var(--dark); 
    color: #fff; 
    padding: 30px 24px; 
    border-radius: 28px; 
    margin: 20px 0; 
}
.about-card h2 { color: var(--primary); font-size: 1.8rem; margin: 0 0 12px 0; }
.about-card p { font-size: 1rem; color: #ccc; margin-bottom: 20px; }

.stats-grid { 
    display: grid; 
    grid-template-columns: 1fr 1fr 1fr; 
    gap: 10px;
    border-top: 1px solid #333;
    padding-top: 20px;
}
.stat-item b { font-size: 1.2rem; display: block; color: #fff; }
.stat-item span { font-size: 0.75rem; color: #888; text-transform: uppercase; }

/* Список встреч */
.events-list { margin: 30px 0; }
.event-item { 
    background: var(--gray); 
    padding: 20px; 
    border-radius: var(--radius); 
    margin-bottom: 12px; 
}
.ev-date { font-weight: 700; font-size: 0.8rem; color: var(--primary); display: block; margin-bottom: 4px; }
.ev-title { font-size: 1.2rem; font-weight: 800; margin: 0 0 8px 0; }
.ev-desc { font-size: 0.95rem; color: #444; margin: 0; }

/* Форма: крупные инпуты */
.join-section { padding: 40px 0; }
.join-section h2 { font-size: 2rem; margin-bottom: 10px; }
input, textarea { 
    width: 100%; 
    background: var(--gray);
    border: 2px solid transparent;
    padding: 18px; 
    border-radius: 16px; 
    margin-bottom: 12px; 
    font-size: 1rem;
    font-family: inherit;
}
input:focus { border-color: var(--primary); outline: none; background: #fff; }

button { 
    width: 100%; 
    padding: 20px; 
    background: var(--dark); 
    color: #fff; 
    border: none; 
    border-radius: 18px; 
    font-size: 1.1rem; 
    font-weight: 700; 
    cursor: pointer;
    margin-top: 10px;
}

footer { padding: 40px 0; text-align: center; font-size: 0.8rem; color: #999; }