/* KLIK Сервис — responsive layer. */
@media (max-width: 1180px) {
    .desktop-nav { display: none; }
    .header-main { justify-content: space-between; }
    .header-actions { margin-left: auto; }
    .menu-toggle { display: block; }
    .mobile-menu { max-height: calc(100vh - 76px); overflow-y: auto; overscroll-behavior: contain; }
    .home-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(420px, .88fr); gap: 36px; }
    .home-hero__content h1 { font-size: clamp(42px, 5.5vw, 62px); }
    .trust-band__grid > div { padding-inline: 18px; }
    .benefit-grid--four { grid-template-columns: 1fr 1fr; }
    .footer-grid { grid-template-columns: minmax(270px, 1.25fr) repeat(3, minmax(140px, .75fr)); gap: 26px; }
}

@media (max-width: 1024px) {
    :root { --container: 940px; }
    .section { padding-block: 68px; }
    .section--compact { padding-block: 38px 56px; }
    .header-request { display: none; }
    .home-hero__grid { grid-template-columns: 1fr; }
    .home-hero__content { max-width: 820px; }
    .hero-service-stack { grid-template-columns: 1.2fr .8fr; }
    .hero-service-stack__row { grid-template-columns: 1fr; }
    .hero-service--large, .hero-service { min-height: 250px; }
    .service-grid { grid-template-columns: 1fr 1fr; }
    .service-grid .service-card:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: .8fr 1.2fr; }
    .service-grid .service-card:last-child .service-card__media { height: 100%; min-height: 260px; }
    .process-grid { grid-template-columns: 1fr 1fr; }
    .process-step { min-height: 200px; }
    .form-section-grid { grid-template-columns: .75fr 1.25fr; gap: 34px; }
    .faq-layout { gap: 36px; }
    .contact-location { grid-template-columns: 1fr 1fr; }
    .pickup-note { grid-template-columns: 1fr; gap: 28px; }
    .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
    .footer-contacts { grid-column: 2 / -1; }
}

@media (max-width: 860px) {
    .service-strip__status { display: none; }
    .service-strip__inner { justify-content: flex-end; }
    .header-phone span small { display: none; }
    .header-phone strong { font-size: 12px; }
    .section-heading--split { display: grid; gap: 14px; }
    .trust-band__grid { grid-template-columns: 1fr 1fr; }
    .trust-band__grid > div { border-bottom: 1px solid var(--line); }
    .trust-band__grid > div:nth-child(2) { border-right: 0; }
    .trust-band__grid > div:nth-last-child(-n+2) { border-bottom: 0; }
    .split-feature { grid-template-columns: 1fr; }
    .split-feature__aside { min-height: 300px; }
    .form-section-grid { grid-template-columns: 1fr; }
    .form-section-copy { position: static; }
    .service-detail-grid { grid-template-columns: 1fr; }
    .quote-card { position: static; }
    .faq-layout { grid-template-columns: 1fr; }
    .faq-layout .section-heading { margin-bottom: 0; }
    .page-hero__grid, .page-intro__grid { grid-template-columns: 1fr; gap: 28px; }
    .business-service-grid { grid-template-columns: 1fr 1fr; }
    .business-service-grid article:last-child { grid-column: 1 / -1; }
    .business-service-grid p { min-height: 0; }
    .contact-location { grid-template-columns: 1fr; }
    .contact-location__map, .contact-location__map iframe, .map-fallback { min-height: 340px; }
    .article-page__layout { grid-template-columns: 1fr; }
    .article-page__aside { position: static; }
    .legal-page__layout { grid-template-columns: 1fr; gap: 30px; }
    .legal-page__header { position: static; }
    .footer-cta__inner { align-items: flex-start; flex-direction: column; gap: 28px; }
    .footer-cta__actions { flex-direction: row; }
    .footer-grid { grid-template-columns: 1fr 1fr; }
    .footer-brand { grid-column: 1 / -1; }
    .footer-contacts { grid-column: auto; }
    .footer-bottom { display: flex; align-items: flex-start; flex-direction: column; justify-content: center; gap: 8px; padding-block: 18px; }
    .footer-bottom span:nth-child(3) { justify-self: start; text-align: left; }
    .cookie-consent { align-items: flex-start; flex-direction: column; }
    .cookie-consent__actions { justify-content: flex-start; }
}

@media (max-width: 680px) {
    html { scroll-padding-top: 78px; }
    body { font-size: 15px; }
    .container, .breadcrumbs { width: min(100% - 28px, var(--container)); }
    .service-strip { display: none; }
    .header-main { min-height: 66px; gap: 9px; }
    .brand { min-width: 0; }
    .brand__logo-crop { width: 114px; height: 46px; flex-basis: 114px; }
    .brand__logo-crop img { width: 140px; height: 140px; }
    .brand__descriptor { padding-left: 6px; }
    .brand__descriptor strong { font-size: 12px; }
    .brand__descriptor small { display: none; }
    .header-phone { display: grid; width: 42px; height: 42px; place-items: center; padding: 0; border: 1px solid var(--line); }
    .header-phone span { display: none; }
    .menu-toggle { width: 42px; height: 42px; }
    .mobile-menu { max-height: calc(100vh - 66px); overflow-y: auto; }
    .mobile-menu__actions { grid-template-columns: 1fr; }
    .breadcrumbs { margin-top: 13px; font-size: 12px; }
    .breadcrumbs span[aria-current="page"] { max-width: 210px; }
    .section { padding-block: 52px; }
    .section--compact { padding-block: 30px 44px; }
    .section-heading { margin-bottom: 25px; }
    .section-heading h2, .page-intro h1, .page-hero h1, .form-section-copy h2 { font-size: clamp(30px, 9vw, 42px); }
    .section-heading p, .page-intro__grid > p, .page-hero__content > p, .form-section-copy p { font-size: 15px; }
    .button--large { min-height: 49px; padding-inline: 17px; }
    .home-hero { padding: 34px 0; }
    .home-hero__grid { gap: 30px; }
    .home-hero__content h1 { font-size: clamp(39px, 12vw, 56px); }
    .home-hero__lead { margin-top: 19px; font-size: 16px; }
    .hero-actions { display: grid; grid-template-columns: 1fr; }
    .hero-actions .button { width: 100%; }
    .hero-checks { display: grid; gap: 9px; }
    .hero-service-stack { display: grid; grid-template-columns: 1fr; }
    .hero-service--large { min-height: 250px; }
    .hero-service-stack__row { grid-template-columns: 1fr 1fr; }
    .hero-service-stack__row .hero-service { min-height: 160px; }
    .hero-service > span { right: 14px; bottom: 13px; left: 14px; }
    .hero-service > span strong { font-size: 16px; }
    .trust-band__grid > div { min-height: 84px; padding: 15px; }
    .trust-band strong { font-size: 22px; }
    .trust-band span { font-size: 11px; }
    .service-grid { grid-template-columns: 1fr; }
    .service-grid .service-card:last-child { display: block; grid-column: auto; }
    .service-grid .service-card:last-child .service-card__media, .service-card__media { height: 210px; min-height: 0; }
    .service-card__body { padding: 22px; }
    .service-card p { min-height: 0; }
    .process-grid { grid-template-columns: 1fr; }
    .process-step { min-height: 0; }
    .split-feature__content { padding: 25px; }
    .split-feature__content h2 { font-size: 32px; }
    .split-feature__aside { min-height: 0; padding: 28px; }
    .split-feature__aside strong { font-size: 24px; }
    .location-grid { grid-template-columns: 1fr; }
    .location-card { grid-template-columns: auto 1fr; padding: 22px; }
    .article-grid { grid-template-columns: 1fr; }
    .form-card { padding: 21px 18px; }
    .form-grid { grid-template-columns: 1fr; }
    .field--wide { grid-column: auto; }
    .lead-form__footer { align-items: stretch; flex-direction: column; }
    .lead-form__footer .button { width: 100%; }
    .lead-form__footer p { max-width: none; }
    .modal .lead-form--compact .form-grid { grid-template-columns: 1fr; }
    .modal .lead-form--compact .field--optional { display: none; }
    .modal { padding: 10px; }
    .modal__dialog { max-height: calc(100vh - 20px); padding: 25px 17px 20px; border-radius: 17px; }
    .modal__close { top: 8px; right: 8px; }
    .service-hero { padding-top: 17px; }
    .service-hero__panel { min-height: 610px; border-radius: 18px; }
    .service-hero__media, .service-hero__media img { height: 100%; }
    .service-hero__media img { object-position: center; }
    .service-hero__shade { background: linear-gradient(to top, rgba(27, 13, 34, .97) 0%, rgba(38, 17, 48, .84) 54%, rgba(38, 17, 48, .22) 100%); }
    .service-hero__content { min-height: 610px; justify-content: flex-end; padding: 28px 21px; }
    .service-hero h1 { font-size: clamp(35px, 10vw, 48px); }
    .service-hero__content > p { font-size: 15px; }
    .benefit-grid, .benefit-grid--four { grid-template-columns: 1fr; }
    .issue-list { grid-template-columns: 1fr; }
    .quote-card { padding: 27px; }
    .quote-card h3 { font-size: 24px; }
    .price-row { align-items: flex-start; flex-direction: column; gap: 7px; }
    .faq-item summary { padding-inline: 16px; }
    .page-hero { padding: 36px 0 48px; }
    .business-summary { padding: 24px; }
    .business-service-grid { grid-template-columns: 1fr; }
    .business-service-grid article:last-child { grid-column: auto; }
    .contact-summary-grid { grid-template-columns: 1fr; }
    .contact-location__info { padding: 24px 20px; }
    .contact-location dl > div { grid-template-columns: 1fr; gap: 3px; }
    .contact-location__actions { display: grid; }
    .contact-location__map, .contact-location__map iframe, .map-fallback { min-height: 290px; }
    .map-fallback { padding: 25px; }
    .map-fallback strong { font-size: 21px; }
    .pickup-note__items { grid-template-columns: 1fr; }
    .article-page__header { padding: 40px 0; }
    .article-page__header h1 { font-size: clamp(35px, 10vw, 48px); }
    .article-page__layout { padding-block: 38px 55px; }
    .prose { font-size: 16px; }
    .prose h2 { font-size: 27px; }
    .prose table { display: block; overflow-x: auto; }
    .legal-page { padding-block: 34px 58px; }
    .legal-page__content { padding: 22px 18px; }
    .empty-state { padding: 34px 22px; }
    .footer-cta__inner { min-height: 0; }
    .footer-cta__actions { display: grid; width: 100%; }
    .footer-grid { grid-template-columns: 1fr; padding-block: 44px 35px; }
    .footer-brand { grid-column: auto; }
    .footer-column { padding-bottom: 22px; border-bottom: 1px solid rgba(255, 255, 255, .10); }
    .footer-contacts { grid-column: auto; }
    .footer-bottom { min-height: 0; }
    .cookie-consent { right: 10px; bottom: 10px; width: calc(100% - 20px); padding: 15px; }
    .cookie-consent__actions { display: grid; width: 100%; grid-template-columns: 1fr; }
    .cookie-consent__actions .button { width: 100%; }
}

@media (max-width: 420px) {
    .brand__descriptor { display: none; }
    .brand__logo-crop { width: 128px; flex-basis: 128px; }
    .header-actions { gap: 6px; }
    .hero-service-stack__row { grid-template-columns: 1fr; }
    .hero-service-stack__row .hero-service { min-height: 190px; }
    .trust-band__grid { grid-template-columns: 1fr; }
    .trust-band__grid > div, .trust-band__grid > div:first-child { border-right: 0; border-bottom: 1px solid var(--line); border-left: 0; }
    .trust-band__grid > div:last-child { border-bottom: 0; }
    .location-card { grid-template-columns: 1fr; }
    .location-card .button { grid-column: auto; width: 100%; }
    .contact-prompt a { font-size: 23px; }
    .status-card__links { align-items: center; flex-direction: column; }
}

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

@media print {
    .service-strip, .site-header, .footer-cta, .site-footer, .cookie-consent, .modal, .button, .article-page__aside { display: none !important; }
    body { color: #000; font-size: 12pt; }
    .container { width: 100%; }
    .prose { color: #000; }
    a { color: #000; text-decoration: none; }
}
