/* Consolidated responsive rules keep the section styles isolated in their files. */
@media (max-width: 1100px) {
    .navigation { gap: 22px; }
    .navigation a { font-size: 15px; }
    .header-btn { padding-inline: 22px; }
    .hero-container { gap: 45px; }
    .hero h1 { font-size: clamp(3rem, 6vw, 4.25rem); }
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .pricing-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-layout { gap: 48px; }
    .footer-top { grid-template-columns: 1.5fr 1fr 1fr; gap: 40px; }
    .footer-top--wide { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 760px) {
    .header { padding: 14px 0; }
    .header .container { position: relative; }
    .logo { max-width: calc(100% - 56px); }
    .logo img { height: 72px; }
    .blur { filter: blur(60px); opacity: .12; }
    .blur-one { width: 260px; height: 260px; }
    .blur-two { width: 200px; height: 200px; }
    .service-card:hover, .why-card:hover, .hero-image img:hover { transform: none; }
    .menu-toggle {
        display: grid;
        place-items: center;
        gap: 5px;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
    }
    .menu-toggle span { display: block; width: 25px; height: 2px; background: currentColor; transition: transform var(--transition), opacity var(--transition); }
    .navigation {
        position: absolute;
        top: calc(100% + 10px);
        right: 0;
        left: 0;
        z-index: 1000;
        display: none;
        flex-direction: column;
        gap: 0;
        padding: 12px;
        border: 1px solid rgba(255,255,255,.12);
        border-radius: 20px;
        background: var(--dark);
        box-shadow: 0 20px 45px rgba(0,0,0,.35);
    }
    .navigation.is-open { display: flex; }
    .navigation a { padding: 13px 16px; color: var(--white); }
    .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
    .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-7px) rotate(-45deg); }
    .header-btn { display: none; }
    .hero { min-height: auto; padding: 165px 0 85px; }
    .hero-container { grid-template-columns: 1fr; gap: 48px; text-align: center; }
    .hero-content { max-width: none; }
    .hero h1 { font-size: clamp(2.65rem, 11vw, 3.5rem); }
    .hero p { font-size: 1rem; }
    .hero-buttons, .hero-features { justify-content: center; }
    .hero-features { gap: 12px 22px; }
    .hero-image { order: -1; }
    .hero-image-frame { max-width: 520px; margin-inline: auto; }
    .header.is-scrolled .logo img { height: 58px; }
    .services, .why-section { padding: 82px 0; }
    .pricing-section { padding: 82px 0; }
    .services h2, .section-title h2 { font-size: clamp(2rem, 8vw, 2.45rem); }
    .section-text { margin-bottom: 42px; font-size: 1rem; }
    .services-grid, .why-grid { grid-template-columns: 1fr; gap: 20px; }
    .pricing-grid { grid-template-columns: 1fr; gap: 20px; }
    .price-card, .price-card-custom { grid-column: auto; min-height: auto; }
    .price-card-featured { transform: none; }
    .service-card, .why-card { padding: 30px; }
    .contact-section { padding: 82px 0; }
    .contact-layout { grid-template-columns: 1fr; gap: 40px; }
    .contact-copy { padding-top: 0; }
    .contact-form { padding: 26px; }
    .form-row { grid-template-columns: 1fr; gap: 0; }
    .footer { padding: 72px 0 26px; }
    .footer-top { grid-template-columns: 1fr; gap: 40px; padding-bottom: 44px; }
    .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
    .back-top { right: 18px; bottom: 18px; width: 48px; height: 48px; border-radius: 16px; }
}

@media (min-width: 761px) { .menu-toggle { display: none; } }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
