:root {
    --primary: #E54B4B; --primary-dark: #C0392B; --accent: #F4D03F;
    --dark: #1C2833; --gray: #5D6D7E; --light-bg: #F8F9F9; --white: #FFFFFF;
    --shadow: 0 10px 30px rgba(0,0,0,0.06); --radius: 20px;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: 'Inter', sans-serif; background: var(--light-bg); color: var(--dark); line-height:1.6; }
.container { max-width: 1140px; margin:0 auto; padding:0 20px; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
.navbar { background: rgba(255,255,255,0.97); backdrop-filter: blur(12px); position: fixed; width:100%; top:0; z-index:1000; box-shadow:0 2px 20px rgba(0,0,0,0.05); }
.nav-container { display:flex; justify-content:space-between; align-items:center; height:74px; }
.logo { font-family: 'Playfair Display', serif; font-weight:700; font-size:1.5rem; color: var(--primary); }
.nav-links { display:flex; gap:1.8rem; }
.nav-links a { font-weight:500; transition:0.3s; }
.nav-links a:hover, .nav-links a.active { color: var(--primary); }
.hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; }
.hamburger span { width:26px; height:2px; background: var(--dark); transition:0.3s; }
.skip-link { position:absolute; top:-40px; left:0; background:var(--primary); color:white; padding:8px 16px; }
.skip-link:focus { top:0; }
.btn { display:inline-block; padding:12px 28px; border-radius:40px; font-weight:600; transition:0.3s; border:none; cursor:pointer; }
.btn-primary { background: var(--primary); color:white; box-shadow:0 4px 12px rgba(229,75,75,0.35); }
.btn-primary:hover { background: var(--primary-dark); transform:translateY(-2px); }
.btn-full { width:100%; }
.section { padding: 80px 0; }
.page-header { background: var(--dark); color:white; padding:120px 0 60px; text-align:center; }
.page-header h1 { font-family:'Playfair Display',serif; font-size:2.8rem; }
.page-header p { opacity:0.8; }
.legal-box { background:white; padding:2.5rem; border-radius:24px; box-shadow:var(--shadow); max-width:800px; margin:0 auto; }
.legal-box h2, .legal-box h3 { margin-top:1.5rem; }
.news-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:2rem; }
.news-card { background:white; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transition:0.3s; }
.news-card:hover { transform:translateY(-6px); box-shadow:0 15px 35px rgba(0,0,0,0.1); }
.news-card img { width:100%; height:200px; object-fit:cover; }
.news-card-content { padding:1.5rem; }
.news-date { font-size:0.85rem; color:var(--gray); display:block; margin-bottom:0.5rem; }
.news-card-content h3 { font-size:1.2rem; margin-bottom:0.75rem; font-weight:600; }
.news-card-content h3 a { color:var(--dark); transition:0.2s; }
.news-card-content h3 a:hover { color:var(--primary); }
.news-card-content p { color:var(--gray); font-size:0.95rem; line-height:1.5; }
.read-more { display:inline-block; margin-top:1rem; font-weight:600; color:var(--primary); }
.read-more:hover { text-decoration:underline; }
.news-detail-content { background:white; border-radius:var(--radius); padding:2rem; box-shadow:var(--shadow); }
.news-detail-img { width:100%; max-height:400px; object-fit:cover; border-radius:12px; margin-bottom:1.5rem; }
.news-body { font-size:1.05rem; line-height:1.8; }
.news-body p { margin-bottom:1rem; }
.news-meta { margin-top:0.5rem; font-size:1rem; }
.news-back { margin-top:2rem; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; }
.contact-info, .contact-form { background:white; padding:2rem; border-radius:var(--radius); box-shadow:var(--shadow); }
.contact-form input, .contact-form textarea { width:100%; padding:10px 14px; border:1px solid #ddd; border-radius:12px; font-family:inherit; margin-bottom:1rem; }
.contact-form label { font-weight:500; display:block; margin-bottom:0.3rem; }
.success-message { background:#d4edda; color:#155724; padding:0.8rem; border-radius:8px; margin-bottom:1rem; }
.error-message { background:#f8d7da; color:#721c24; padding:0.8rem; border-radius:8px; margin-bottom:1rem; }
.footer { background:#1C2833; color:#bbb; padding:3rem 0 1rem; margin-top:2rem; }
.footer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:2rem; }
.footer a { color:#aaa; transition:0.2s; }
.footer a:hover { color:var(--accent); }
.footer-bottom { border-top:1px solid #2E4053; padding-top:1.2rem; text-align:center; font-size:0.9rem; }
.back-to-top { position:fixed; bottom:2rem; right:2rem; background:var(--primary); color:white; border:none; border-radius:50%; width:50px; height:50px; font-size:1.5rem; cursor:pointer; opacity:0; transition:0.3s; box-shadow:0 4px 12px rgba(0,0,0,0.2); }
.back-to-top.show { opacity:1; }
.back-to-top:hover { background:var(--primary-dark); }
/* Стили для выделенной новости на главной */
.featured-news-full {
    background: white;
    border-radius: var(--radius);
    padding: 2rem;
    box-shadow: var(--shadow);
    margin-bottom: 2rem;
}
.featured-news-full .news-date {
    font-size: 0.9rem;
    color: var(--gray);
    margin-bottom: 0.5rem;
}
.featured-news-full h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2rem;
    margin-bottom: 1rem;
}
.featured-img {
    width: 100%;
    max-height: 400px;
    object-fit: cover;
    border-radius: 12px;
    margin-bottom: 1.5rem;
}
.featured-body {
    font-size: 1.05rem;
    line-height: 1.8;
}
.featured-body p {
    margin-bottom: 1rem;
}
.news-divider {
    margin: 2rem 0;
}
.other-news-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
    color: var(--dark);
}
@media (max-width:768px) {
    .nav-links { display:none; position:absolute; top:74px; left:0; width:100%; background:white; flex-direction:column; padding:1.5rem; gap:1rem; box-shadow:0 10px 20px rgba(0,0,0,0.05); }
    .nav-links.active { display:flex; }
    .hamburger { display:flex; }
    .page-header h1 { font-size:2rem; }
    .news-grid { grid-template-columns:1fr; }
    .contact-grid { grid-template-columns:1fr; }
    .featured-news-full h2 { font-size:1.5rem; }
}