/* Extracted from PHP template; preserve original cascade position. */
/* Общие улучшения */
    body {
        background-color: #f9fafc;
    }
    
    /* Шапка (уменьшенная) */
    .developer-header {
        background: linear-gradient(135deg, #4f6df5 0%, #8a6de9 100%);
        color: white;
        padding: 2rem 0 1.5rem 0;
        margin-bottom: 2rem;
        border-radius: 0 0 30px 30px;
        box-shadow: 0 8px 20px rgba(79, 109, 245, 0.2);
    }
    .developer-avatar {
        width: 70px;
        height: 70px;
        background: rgba(255,255,255,0.2);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto 0.8rem;
        font-size: 2rem;
        border: 2px solid white;
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    }
    .developer-name {
        font-size: 1.8rem;
        font-weight: 600;
        margin-bottom: 0.2rem;
    }
    .developer-tagline {
        font-size: 1rem;
        opacity: 0.95;
        max-width: 700px;
        margin: 0 auto;
    }

    /* Карточки портфолио (сайты) – теперь сразу после шапки */
    .portfolio-section {
        margin-bottom: 2rem;
    }
    .site-card {
        background: white;
        border-radius: 16px;
        padding: 0.8rem 0.5rem;
        text-align: center;
        transition: all 0.25s ease;
        border: 1px solid #eef2f6;
        box-shadow: 0 4px 12px rgba(0,0,0,0.02);
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .site-card:hover {
        transform: translateY(-3px);
        border-color: #8a6de9;
        box-shadow: 0 12px 20px -10px rgba(79, 109, 245, 0.3);
        background: #fefeff;
    }
    .site-card a {
        text-decoration: none;
        color: #2d3a5e;
        font-weight: 500;
        font-size: 0.95rem;
        word-break: break-all;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
    }
    .site-card a i {
        font-size: 1.1rem;
        color: #4f6df5;
        transition: transform 0.2s;
    }
    .site-card:hover a i {
        transform: translate(2px, -2px);
    }

    /* Карточки направлений работы */
    .service-card {
        background: white;
        border-radius: 20px;
        padding: 1.2rem 1rem;
        text-align: center;
        box-shadow: 0 6px 18px rgba(0,0,0,0.03);
        transition: transform 0.25s, box-shadow 0.3s;
        height: 100%;
        border: 1px solid #f0f3f8;
    }
    .service-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 20px 25px -12px rgba(79, 109, 245, 0.15);
        border-color: transparent;
    }
    .service-icon {
        font-size: 2rem;
        margin-bottom: 0.5rem;
        background: linear-gradient(145deg, #4f6df5, #8a6de9);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }
    .service-title {
        font-size: 1rem;
        font-weight: 600;
        color: #1e293b;
        margin: 0;
    }

    /* Контакты */
    .contact-info {
        background: white;
        border-radius: 24px;
        padding: 1.5rem;
        box-shadow: 0 10px 25px rgba(0,0,0,0.02);
        border: 1px solid #edf2f7;
    }
    .contact-item {
        display: flex;
        align-items: center;
        padding: 0.8rem;
        border-bottom: 1px solid #f1f5f9;
    }
    .contact-item:last-child {
        border-bottom: none;
    }
    .contact-icon {
        width: 44px;
        height: 44px;
        background: linear-gradient(145deg, #4f6df5, #8a6de9);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 1.2rem;
        margin-right: 1rem;
        box-shadow: 0 6px 12px rgba(79, 109, 245, 0.2);
    }
    .contact-detail h6 {
        margin-bottom: 0.1rem;
        font-size: 0.8rem;
        color: #64748b;
        letter-spacing: 0.3px;
    }
    .contact-detail a {
        font-weight: 600;
        color: #1e293b;
        text-decoration: none;
        font-size: 1rem;
    }
    .contact-detail a:hover {
        color: #4f6df5;
    }

    /* Разделители заголовков */
    .section-title {
        position: relative;
        margin-bottom: 1.5rem;
        font-weight: 700;
        color: #1e293b;
        font-size: 1.3rem;
    }
    .section-title:after {
        content: '';
        display: block;
        width: 50px;
        height: 3px;
        background: linear-gradient(90deg, #4f6df5, #8a6de9);
        margin-top: 0.3rem;
        border-radius: 3px;
    }

    /* Цитата */
    .quote-block {
        background: linear-gradient(145deg, #ffffff, #f5f7fd);
        border-radius: 24px;
        padding: 1.5rem;
        border-left: 5px solid #8a6de9;
        box-shadow: 0 8px 18px rgba(0,0,0,0.02);
        margin-top: 2rem;
    }
