* {
    box-sizing: border-box;
}
body {
    margin: 0;
    font-family: Arial, sans-serif;
    background-color: #f5f7fa;
    color: #1c2331;
}
.container {
    width: min(1100px, 100% - 2rem);
    margin: 0 auto;
}
.site-header {
    background: #0f1a2f;
    color: white;
    padding: 1rem 0;
}
.logo {
    font-weight: 700;
    font-size: 1.2rem;
}
.main-nav {
    background: #162447;
    color: white;
}
.main-nav .container {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.nav-link {
    color: white;
    text-decoration: none;
}
.nav-link.active {
    text-decoration: underline;
}
.site-main {
    padding: 2rem 0;
}
.hero {
    background: linear-gradient(135deg, #1d4f91 0%, #1e3a61 100%);
    color: white;
    padding: 4rem 0;
    margin-bottom: 2rem;
}
.hero h1 {
    margin-top: 0;
    font-size: clamp(2rem, 4vw, 3.5rem);
}
.hero p {
    max-width: 700px;
    line-height: 1.6;
}
.hero .hero-actions {
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.btn {
    display: inline-block;
    padding: 0.9rem 1.6rem;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 600;
}
.btn-primary {
    background: #ff7f50;
    color: white;
}
.btn-secondary {
    background: rgba(255,255,255,0.15);
    color: white;
}
.section {
    padding: 3rem 0;
}
.section h2 {
    margin-top: 0;
}
.grid {
    display: grid;
    gap: 1.5rem;
}
.grid-3 {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.card {
    background: white;
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    padding: 1.5rem;
}
.form-group {
    margin-bottom: 1rem;
}
.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
}
.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 0.85rem 1rem;
    border: 1px solid #ccd6e3;
    border-radius: 10px;
    font: inherit;
}
.form-group textarea {
    resize: vertical;
}
.image-block {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 1.5rem;
}
.image-block img {
    width: 100%;
    display: block;
    height: auto;
}
.alert-success {
    background: #e6f9ed;
    border: 1px solid #c2efd6;
}
.alert-error {
    background: #ffe5e5;
    border: 1px solid #f2c2c2;
}
.site-footer {
    background: #0f1a2f;
    color: white;
    padding: 2rem 0;
}
.site-footer p {
    margin: 0.25rem 0;
}
@media (max-width: 768px) {
    .main-nav .container {
        flex-direction: column;
    }
    .hero {
        padding: 3rem 0;
    }
}
