/* Responsive styles */
@media (max-width: 1024px) {
    .hero-inner { grid-template-columns: 1fr; text-align: center; }
    .hero-image { order: -1; }
    .hero-image img { max-width: 350px; }
    .hero-description { margin-left: auto; margin-right: auto; }
    .hero-buttons, .hero-badges { justify-content: center; }
    .menu-toggle { display: block; }
    .main-navigation { display: none; flex-basis: 100%; order: 4; }
    .main-navigation.is-open { display: block; }
    .primary-menu { flex-direction: column; align-items: stretch; padding: 1rem 0; border-top: 1px solid var(--pdp-border); }
    .header-cta { display: none; }
    .contact-inner { grid-template-columns: 1fr; }
    .timeline::before { left: 20px; }
    .timeline-item { width: 100%; padding-left: 60px !important; padding-right: 0 !important; text-align: left !important; }
    .timeline-item:nth-child(even) { margin-left: 0; }
    .timeline-marker { left: 12px !important; right: auto !important; }
    .footer-widget-area { grid-template-columns: 1fr 1fr; }
    .resume-cta { flex-direction: column; text-align: center; }
}
@media (max-width: 768px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.75rem; }
    .hero-title { font-size: 2rem; }
    .hero-buttons { flex-direction: column; align-items: center; }
    .hero-buttons .btn { width: 100%; max-width: 300px; }
    .projects-grid, .services-grid, .posts-grid { grid-template-columns: 1fr; }
    .skills-grid { grid-template-columns: repeat(2, 1fr); }
    .process-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-form { grid-template-columns: 1fr; }
    .footer-widget-area { grid-template-columns: 1fr; }
    .footer-bottom-inner { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) {
    .hero-title { font-size: 1.5rem; }
    .container { padding: 0 1rem; }
    .section { padding: 2rem 0; }
    .skills-grid { grid-template-columns: 1fr; }
    .process-grid { grid-template-columns: 1fr; }
}
@media (max-width: 320px) {
    body { font-size: 14px; }
    .hero-title { font-size: 1.375rem; }
    .btn { padding: 0.5rem 1rem; font-size: 0.875rem; }
}