@media (max-width: 1024px) {
  .print-motif { width: 4.5rem; height: 4.5rem; opacity: .24; }
  .services-section::before,
  .business-section::before,
  .contact-section::before { opacity: .2; background-size: 6rem auto, 4.8rem auto, 7rem auto; }
  .services-section::after,
  .business-section::after,
  .contact-section::after { opacity: .17; background-size: 4.4rem auto, 5.4rem auto, 3.8rem auto; }
  .site-header { height: 6rem; padding: 1rem 1.55rem; }
  .site-header.is-scrolled { height: 5.2rem; }
  .brand { width: 8.8rem; height: 2.35rem; }
  .site-nav { gap: .55rem .8rem; }
  .nav-link { min-height: 2.35rem; font-size: .83rem; }
  .nav-link-phone { font-size: .79rem; }
  .nav-link-whatsapp { min-height: 2.5rem; padding: 0 .85rem; font-size: .81rem; }
  .hero-section { grid-template-columns: 40% 60%; }
  .hero-copy { width: min(58rem, 66%); padding: 7.5rem 2rem 3rem; }
  .hero-copy h1 { max-width: 7.5ch; }
  .hero-visual { margin: 0; padding: .9rem; }
  .interior-section { grid-template-columns: 44% 56%; gap: 1.5rem; padding: 2.4rem 2rem; }
  .interior-copy, .business-copy, .contact-copy { padding: 3.5rem; }
  .services-section { padding: 4rem 3rem; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
  .service-card { min-height: 10.8rem; padding: 1.3rem 1.2rem; }
  .service-card h3 { font-size: 1.15rem; }
  .service-card p { font-size: .92rem; }
  .service-icon { width: 3.1rem; height: 3.1rem; flex: 0 0 3.1rem; }
  .service-icon svg { width: 1.85rem; height: 1.85rem; }
  .brands-section { padding: 4rem; grid-template-columns: 40% 60%; }
  .brand-list { padding-left: 2rem; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .8rem; }
  .brands-note { padding-left: 2rem; }
  .business-section { grid-template-columns: 1fr; padding: 3.2rem 2rem; }
  .business-head { grid-template-columns: 1fr; gap: 1.2rem; }
  .business-copy { margin-bottom: 0; padding: 0; }
  .business-copy h2 { max-width: 15ch; }
  .business-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-section { padding: 1rem; }
  .contact-top { grid-template-columns: 46% 54%; gap: 1rem; }
  .contact-copy { padding: 1.75rem 1.25rem; }
  .map-shell { height: 420px; }
  .faq-list { grid-template-columns: 1fr; }
  .site-footer { padding-inline: 2.5rem; }
  .footer-inner { grid-template-columns: minmax(15rem, 1.35fr) minmax(7rem, .6fr) minmax(13rem, 1fr); gap: 2.5rem; padding-block: 4.8rem; }
}

@media (max-width: 700px) {
  .print-motif { width: 3.5rem !important; height: 3.5rem !important; opacity: .2; }
  .print-motif.motif-c,
  .print-motif.motif-d,
  .print-motif.motif-e { display: none; }
  .print-motif.motif-a { top: -1rem; left: -1rem; }
  .print-motif.motif-b { top: auto; right: -1rem; bottom: 8%; }
  .services-section::before,
  .business-section::before,
  .contact-section::before {
    inset: -1rem;
    opacity: .14;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 72'%3E%3Cg fill='none' stroke='%23E9E9E9' stroke-width='1.35' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M25 29V12h46v17M19 29h58a7 7 0 0 1 7 7v19H72v9H24v-9H12V36a7 7 0 0 1 7-7Z'/%3E%3Cpath d='M31 49h34v15H31zM67 37h5M25 20h46'/%3E%3C/g%3E%3C/svg%3E");
    background-position: 96% 8%;
    background-size: 4.5rem auto;
    animation-name: print-drift-mobile;
  }
  .services-section::after,
  .business-section::after,
  .contact-section::after { display: none; }
  .eyebrow { margin-bottom: 1rem; }
  h1 { font-size: clamp(2.3rem, 11vw, 3.6rem); }
  h2 { font-size: clamp(2.6rem, 12vw, 4rem); }
  .lead { font-size: .95rem; line-height: 1.5; }
  .site-header {
    height: auto;
    min-height: 6rem;
    padding: .95rem 1.15rem;
    align-items: center;
    gap: .7rem;
  }
  .site-header.is-scrolled { min-height: 5.35rem; padding-top: .75rem; padding-bottom: .75rem; }
  .brand { width: 7.2rem; height: 2rem; }
  .site-nav {
    max-width: 74%;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: .38rem .7rem;
  }
  .nav-link {
    min-height: 1.95rem;
    padding: .1rem 0;
    font-size: .69rem;
  }
  .nav-link::after { bottom: -.2rem; }
  .nav-link-phone {
    width: 100%;
    justify-content: flex-end;
    margin-left: 0;
    color: #6a7077;
    font-size: .64rem;
    line-height: 1;
  }
  .nav-link-whatsapp {
    min-height: 2.1rem;
    padding: 0 .8rem;
    font-size: .72rem;
    margin-left: .25rem;
  }
  .hero-section { display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto; min-height: auto; }
  .hero-copy { order: 2; width: 100%; min-height: 0; padding: 1.4rem 1.25rem 2.2rem; justify-content: center; }
  .hero-copy h1 { max-width: 10.5ch; margin-bottom: .8rem; font-size: clamp(2.35rem, 12vw, 3.25rem); }
  .hero-copy .lead { max-width: 33rem; }
  .hero-visual { order: 1; position: relative; inset: auto; min-height: 18rem; margin: 0; padding: .8rem .8rem 0; }
  .hero-visual::after { content: ""; position: absolute; inset: .8rem .8rem 0; border-radius: 1.6rem; background: linear-gradient(to bottom, rgba(255,255,255,.35), transparent 32%); }
  .hero-visual img { min-height: 18rem; object-position: 55% center; }
  .actions { margin-top: 1.1rem; gap: 1rem; flex-wrap: wrap; }
  .button { min-height: 2.8rem; }

  .interior-section { display: grid; grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 1.2rem; padding: 1rem; }
  .interior-visual { grid-column: 1; grid-row: 1; }
  .interior-copy { max-width: none; padding: .2rem .25rem 0; }
  .interior-copy { grid-column: 1; grid-row: 2; }
  .interior-copy h2 { max-width: 11ch; margin-bottom: .8rem; font-size: clamp(2.8rem, 12vw, 4rem); }
  .interior-rule { margin: .45rem 0 1.35rem; }
  .interior-copy .lead { font-size: 1.02rem; }
  .interior-copy .text-link { margin-top: 1.2rem; font-size: 1.06rem; }

  .services-section { padding: 3.4rem 1.1rem 2.6rem; display: block; }
  .section-heading h2 { max-width: 11ch; margin-bottom: 1.2rem; }
  .service-grid { height: auto; display: grid; grid-template-columns: 1fr; gap: .7rem; }
  .service-card { min-height: 8.8rem; padding: 1.15rem 1rem; align-items: flex-start; gap: .8rem; border-radius: 1.1rem; }
  .service-card:nth-child(1), .service-card:nth-child(3) { transform: none; }
  .service-content { width: auto; flex: 1; }
  .service-card h3 { margin-bottom: .42rem; font-size: 1.08rem; line-height: 1.2; }
  .service-card p { font-size: .9rem; line-height: 1.48; }
  .service-icon { width: 2.95rem; height: 2.95rem; flex: 0 0 2.95rem; border-radius: .85rem; }
  .service-icon svg { width: 1.7rem; height: 1.7rem; }

  .brands-section { padding: 4.5rem 1.5rem 2rem; display: flex; flex-direction: column; align-items: stretch; justify-content: center; }
  .brands-intro h2 { max-width: 11ch; margin-bottom: 3rem; }
  .brand-list { padding: 0; grid-template-columns: 1fr; gap: .8rem; }
  .brands-note { margin-top: 3rem; padding: 0; text-align: center; }

  .business-section { padding: 3rem 1rem; }
  .business-copy { margin-bottom: 0; }
  .business-copy h2 { max-width: 11ch; margin-bottom: .8rem; }
  .business-lead { max-width: none; }
  .business-actions { margin-top: 1.4rem; }
  .business-grid { grid-template-columns: 1fr; gap: .8rem; }
  .business-grid article { min-height: 0; padding: 1.4rem; }
  .business-advantages { padding: 1.2rem 1.2rem; }

  .contact-section { padding: .6rem; }
  .contact-top { grid-template-columns: 1fr; gap: .65rem; }
  .contact-copy { order: 1; padding: 1.35rem .65rem .75rem; }
  .contact-copy h2 { margin-bottom: .8rem; }
  .contact-data { margin-bottom: .8rem; }
  .contact-data div { padding: .72rem 0; grid-template-columns: 5.3rem 1fr; gap: .55rem; }
  .contact-actions { gap: .7rem; }
  .contact-actions .button { width: 100%; }
  .contact-form-heading { padding: 1.8rem .65rem 0; }
  .contact-form-heading h2 { font-size: clamp(2.25rem, 10vw, 3.2rem); }
  .contact-form { margin-top: .9rem; padding: 1.1rem .65rem .35rem; }
  .contact-form-grid { grid-template-columns: 1fr; gap: .55rem; }
  .form-field-wide { grid-column: auto; }
  .contact-submit { width: 100%; min-height: 3.2rem; }
  .faq-section { padding: 3.5rem 1rem; }
  .faq-list details { padding: 1.1rem 1rem; }
  .map-shell { order: 2; height: 320px; padding: 0; }
}

@media (max-height: 700px) and (max-width: 700px) {
  .hero-copy { padding-top: 1rem; }
  .actions { margin-top: .8rem; }
  .services-section { padding-top: 2.4rem; }
  .service-card { min-height: 8.5rem; }
}

@media (max-width: 700px) {
  .hero-points { margin-top: 1.7rem; gap: .8rem 1.2rem; }
  .service-grid { grid-template-columns: 1fr; }
  .service-card > img { height: 7rem; }
  .service-card { min-height: 8.8rem; }
  .site-footer { min-height: 0; padding: 0 1.5rem; }
  .footer-inner { grid-template-columns: 1fr; gap: 2.75rem; padding: 4.5rem 0 3rem; }
  .site-footer .footer-brand img { width: 10.5rem; max-width: 100%; height: auto; }
  .footer-brand p { max-width: none; margin-top: 1.1rem; }
  .footer-whatsapp { width: 100%; min-height: 3.3rem; margin-top: 1.5rem; padding-inline: 1rem; }
  .footer-links { gap: .7rem; }
  .footer-bottom { padding: 1.2rem 0 1.5rem; flex-direction: column; align-items: flex-start; }
  .footer-legal { justify-content: flex-start; }
  .brands-section { display: block; min-height: 27rem; padding: 3.5rem 1.5rem; }
  .brands-intro { margin-bottom: 2rem; }
  .brands-intro h2 { max-width: none; }
  .brand-list { width: 100%; display: grid; grid-template-columns: 1fr; gap: .75rem; }
  .brand-item { width: 100%; }
  .cookie-banner { right: .65rem; bottom: .65rem; width: calc(100% - 1.3rem); padding: 1rem; }
  .cookie-actions { grid-template-columns: 1fr; }
  .legal-header { min-height: 5.5rem; }
  .legal-header .site-nav { max-width: none; }
  .legal-main { padding: 7.5rem 1rem 3.5rem; }
  .legal-shell { grid-template-columns: 1fr; gap: 1.25rem; }
  .legal-index { position: static; }
  .legal-content { padding: 1.25rem 1rem; }
}

@keyframes brand-mobile-carousel {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-100% + 100vw - 3rem)); }
}

@keyframes print-drift-mobile {
  0% { transform: translate3d(0, 0, 0); opacity: .1; }
  50% { opacity: .15; }
  100% { transform: translate3d(.25rem, -.35rem, 0); opacity: .12; }
}

@media (max-width: 700px) and (prefers-reduced-motion: reduce) {
  .services-section::before,
  .business-section::before,
  .contact-section::before {
    animation: none;
    transform: none;
    opacity: .1;
  }
}

@media (max-width: 820px) {
  .site-header { overflow: visible; }
  .site-header > .site-nav { display: none; }
  .menu-toggle { width: 3rem; height: 3rem; margin-left: auto; padding: .72rem; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem; border: 1px solid rgba(16,19,24,.12); border-radius: .8rem; background: #fff; color: #171b21; cursor: pointer; }
  .menu-toggle span { width: 1.35rem; height: 2px; display: block; border-radius: 2px; background: currentColor; transition: transform 180ms ease, opacity 180ms ease; }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(.4rem) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-.4rem) rotate(-45deg); }
  .menu-toggle:focus-visible { outline: 3px solid rgba(215,25,32,.25); outline-offset: 3px; }
  .mobile-nav { position: absolute; top: calc(100% + 1px); left: 1rem; right: 1rem; z-index: 30; max-height: calc(100vh - 7rem); padding: .75rem; overflow-y: auto; display: flex; flex-direction: column; align-items: stretch; gap: 0; border: 1px solid rgba(16,19,24,.1); border-radius: 0 0 1rem 1rem; background: rgba(255,255,255,.99); box-shadow: 0 1.2rem 2.5rem rgba(12,16,22,.14); animation: mobile-menu-open 180ms ease both; }
  .mobile-nav[hidden] { display: none; }
  .mobile-nav > a:not(.mobile-nav-whatsapp) { min-height: 3rem; padding: .75rem .65rem; display: flex; align-items: center; border-bottom: 1px solid rgba(16,19,24,.07); color: #252a31; font-size: .9rem; font-weight: 700; }
  .mobile-nav-phone { color: #626970 !important; }
  .mobile-nav-whatsapp { width: 100%; min-height: 3.1rem; margin-top: .75rem; }
  .footer-social a { width: 3rem; height: 3rem; }
}

@media (max-width: 820px) and (prefers-reduced-motion: reduce) {
  .menu-toggle span { transition: none; }
  .mobile-nav { animation: none; }
}

@keyframes mobile-menu-open {
  from { opacity: 0; transform: translateY(-.5rem); }
  to { opacity: 1; transform: translateY(0); }
}
