/* MENDOZA RESUELVE V9 — UI with purposeful movement, not a disruptive animation pack */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-speed:680ms}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{overflow-x:clip}
/* Service ribbon softly moves without stealing space from the mobile viewport */
.mr-action-ribbon{width:100%;overflow:hidden;background:#173333;color:#f6f2eb;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:12px 0;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.mr-action-ribbon-track{width:max-content;display:flex;animation:mr-marquee 45s linear infinite;will-change:transform}
.mr-ribbon-set{display:flex;align-items:center;gap:38px;padding-left:38px;white-space:nowrap}
.mr-ribbon-set span{display:flex;gap:10px;align-items:center;font-weight:650;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.mr-ribbon-set i{height:6px;width:6px;background:#e3935b;border-radius:50%;display:inline-block}
.mr-action-ribbon:hover .mr-action-ribbon-track,.mr-action-ribbon:focus-within .mr-action-ribbon-track{animation-play-state:paused}
@keyframes mr-marquee{to{transform:translateX(-50%)}}
/* Finding a service feels simpler with explicit paths */
.mr-fast-paths{margin:18px 0 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mr-fast-paths-label{font-size:13px;font-weight:700;color:#51635d}
.mr-fast-paths a{display:inline-flex;gap:10px;align-items:center;font-weight:650;font-size:13px;background:#fff;border:1px solid #d4dbd6;padding:10px 14px;border-radius:40px;color:#23403f;text-decoration:none;transition:background .2s ease,color .2s ease,transform .2s ease}
.mr-fast-paths a:hover,.mr-fast-paths a:focus-visible{background:#23403f;color:white;transform:translateY(-2px)}
/* Entrance animation is opt-in after JS observer is ready; never conceal content by default */
.mr-motion-on [data-reveal]:not(.is-visible){opacity:0;transform:translateY(24px)}
.mr-motion-on [data-reveal]{transition:opacity var(--motion-speed) var(--motion-ease),transform var(--motion-speed) var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.mr-motion-on [data-reveal].is-visible{opacity:1;transform:translateY(0)}
.mr-hero-content h1{animation:mr-rise .75s var(--motion-ease) both}
.mr-hero-content .mr-hero-lead{animation:mr-rise .8s .12s var(--motion-ease) both}
.mr-hero-actions{animation:mr-rise .85s .22s var(--motion-ease) both}
.mr-hero-photos figure{transition:transform .65s var(--motion-ease),filter .65s var(--motion-ease)}
.mr-hero-photos figure:hover{transform:translateY(-7px)}
@keyframes mr-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.directory-card,.mr-feature,.mr-fast-card,.mr-review,.mr-catalog-card{transition:transform .3s var(--motion-ease),box-shadow .3s var(--motion-ease),border-color .2s ease}
.directory-card:hover,.directory-card:focus-within,.mr-feature:hover,.mr-fast-card:hover,.mr-review:hover,.mr-catalog-card:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(22,46,43,.13);border-color:#baccc6}
.directory-card img,.mr-feature img,.mr-fast-media img,.mr-catalog-image-wrap img{transition:transform .8s var(--motion-ease)}
.directory-card:hover img,.mr-feature:hover img,.mr-fast-card:hover img,.mr-catalog-card:hover img{transform:scale(1.045)}
.directory-main,.mr-fast-media,.mr-feature-image,.mr-catalog-image-wrap{overflow:hidden}
.mr-button,.mr-header-wa,.mr-whatsapp-fixed{transition:transform .22s ease,box-shadow .22s ease,background-color .2s ease}
.mr-button:hover,.mr-header-wa:hover,.mr-whatsapp-fixed:hover{transform:translateY(-2px)}
.mr-search-input:focus-within{box-shadow:0 0 0 4px rgba(201,106,58,.12);border-color:#c96a3a}
/* Catalog: swipeable in mobile, arrows on all sizes, one catalog per service. */
.mr-catalog-shell{position:relative}
.mr-catalog-tools{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin:0 0 12px}
.mr-catalog-caption{font-size:12px;font-weight:700;color:#56716c;letter-spacing:.03em;margin-right:auto}
.mr-catalog-counter{color:#23403f;font-variant-numeric:tabular-nums;font-size:13px;font-weight:800;padding:0 10px}
.mr-catalog-nav{width:40px;height:40px;border:1px solid #cbd8d3;background:white;color:#23403f;border-radius:50%;font-weight:900;cursor:pointer;display:grid;place-items:center;transition:background .2s ease,color .2s ease,transform .2s ease}
.mr-catalog-nav:hover:not(:disabled){transform:translateY(-2px);background:#23403f;color:#fff}
.mr-catalog-nav:disabled{opacity:.3;cursor:default}
.mr-service-catalog .mr-catalog-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);grid-template-columns:none;gap:16px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scroll-behavior:smooth;scroll-padding-inline:2px;padding:0 2px 14px}
.mr-service-catalog .mr-catalog-card{scroll-snap-align:start;min-width:0}
.mr-service-catalog .mr-catalog-card img{width:100%;height:240px;object-fit:cover}
.mr-catalog-grid:focus-visible{outline:3px solid #c96a3a;outline-offset:3px}
.mr-catalog-dots{display:flex;justify-content:center;gap:7px;margin:8px 0 0}
.mr-catalog-dots i{height:5px;border-radius:6px;width:16px;background:#cbd5d0;transition:width .25s ease,background .25s ease}
.mr-catalog-dots i.is-current{width:34px;background:#c96a3a}
/* Movement on load never blocks keyboard, and mobile can still scroll normally. */
@media(max-width:960px){.mr-service-catalog .mr-catalog-grid{grid-auto-columns:calc((100% - 16px)/2)}.mr-ribbon-set{gap:25px}}
@media(max-width:640px){.mr-service-catalog .mr-catalog-grid{grid-auto-columns:86%;padding-bottom:12px}.mr-action-ribbon{padding:10px 0}.mr-ribbon-set span{font-size:11px}.mr-fast-paths a{font-size:12px}.mr-service-catalog .mr-catalog-card img{height:225px}.mr-service-catalog .mr-catalog-grid{scrollbar-width:none}.mr-service-catalog .mr-catalog-grid::-webkit-scrollbar{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.mr-action-ribbon-track{animation:none!important}.mr-motion-on [data-reveal],.mr-hero-content h1,.mr-hero-content .mr-hero-lead,.mr-hero-actions{transition:none!important;animation:none!important;opacity:1!important;transform:none!important}.directory-card,.mr-feature,.mr-fast-card,.mr-review,.mr-catalog-card,.mr-button,.mr-header-wa,.mr-whatsapp-fixed,.mr-hero-photos figure{transition:none!important;transform:none!important}.mr-service-catalog .mr-catalog-grid{scroll-behavior:auto!important}}

/* Lightweight reading progress line */
.mr-scroll-progress{position:fixed;z-index:1000;left:0;right:0;top:0;height:3px;background:#c96a3a;transform:scaleX(0);transform-origin:left center;pointer-events:none;box-shadow:0 0 10px rgba(201,106,58,.3)}
.mr-image-unavailable{position:static!important;display:grid;place-items:center;text-align:center;min-height:210px;padding:20px!important;background:#ebf0ed!important;color:#23403f!important;font-weight:700!important;border-radius:0!important;font-size:14px!important}

@media(max-width:640px){.mr-promo-detail{display:none}.mr-promo-bar-inner{flex-wrap:nowrap;gap:9px;align-items:center;padding:7px 0}.mr-promo-bar p{font-size:11px;line-height:1.25;flex:1}.mr-promo-bar a{font-size:11px;white-space:nowrap;font-weight:750}}
