
/* Fisio Aquatica UX refinement layer */
:root { scroll-behavior: smooth; }
img { max-width: 100%; }
.fisio-video-section { background: linear-gradient(135deg, #092f4f 0%, #0b5273 100%); color: #fff; }
.fisio-video-section video { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:1.25rem; box-shadow:0 20px 55px rgba(3,25,43,.28); }
.fisio-card-grid > article { height:100%; }
.fisio-card-grid > article > div:last-child { min-height:11.5rem; display:flex; flex-direction:column; }
.fisio-card-grid img { aspect-ratio:16/10; object-fit:cover; object-position:center; }
.fisio-convenio-grid img { width:100%; height:7rem; object-fit:contain; background:#fff; }
.fisio-team-note { margin-top:.5rem; font-size:.82rem; line-height:1.5; color:rgba(255,255,255,.72); }
@media (max-width:640px) { .fisio-video-section video { aspect-ratio:4/3; } .fisio-card-grid > article > div:last-child { min-height:0; } }

/* One-click accessibility controls */
.fisio-accessibility { position:fixed; right:1rem; bottom:1rem; z-index:50; }
.fisio-accessibility button { border:0; border-radius:999px; background:#092f4f; color:#fff; padding:.65rem .9rem; font-weight:700; cursor:pointer; box-shadow:0 8px 25px rgba(0,0,0,.2); }
.fisio-accessibility button:focus-visible { outline:3px solid #48c7e8; outline-offset:3px; }
body.fisio-high-contrast { filter:contrast(1.18); }
body.fisio-large-text { font-size:112.5%; }
body.fisio-reduced-motion *, body.fisio-reduced-motion *::before, body.fisio-reduced-motion *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }

/* Equal-height specialty cards: preserve the Home showcase, remove masonry drift. */
.fisio-card-grid { align-items:stretch; grid-auto-rows:1fr; }
.fisio-card-grid > article { min-height:100%; height:100%; }
.fisio-card-grid > article > a:first-child { flex:none; }
.fisio-card-grid > article > div:last-child { flex:1 1 auto; min-height:12.25rem; }
.fisio-home-specialty-grid { align-items:stretch; grid-auto-rows:1fr; }
.fisio-home-specialty-grid > a { height:100%; min-height:24rem; }
@media (max-width:640px) { .fisio-home-specialty-grid > a { min-height:21rem; } }

/* Static deploy final corrections: large visible logo and responsive cards. */
.site-logo-primary { height: 6rem !important; width: auto !important; max-width: none !important; }
@media (min-width:640px) { .site-logo-primary { height: 7rem !important; } }
@media (min-width:1024px) { .site-logo-primary { height: 8rem !important; } }
.fisio-static-mobile-menu { display:none; }
.fisio-static-mobile-menu.is-open { display:block; }
@media (min-width:1024px) { .fisio-static-mobile-menu { display:none !important; } }

/* Stable static header: transparent at the top, solid and readable after scroll. */
.site-header { background: transparent !important; transition: background-color .28s ease, box-shadow .28s ease, backdrop-filter .28s ease; }
.site-header.is-scrolled { background: rgba(255,255,255,.94) !important; box-shadow: 0 8px 28px rgba(9,47,79,.12); backdrop-filter: blur(14px); }
.site-header.is-scrolled nav a, .site-header.is-scrolled button { color: #092f4f !important; text-shadow: none !important; }
body:not(.site-home) .site-header { background: rgba(255,255,255,.86) !important; box-shadow: 0 4px 18px rgba(9,47,79,.08); backdrop-filter: blur(14px); }
body:not(.site-home) .site-header nav a, body:not(.site-home) .site-header button { color: #092f4f !important; text-shadow: none !important; }
body.site-home:not(.is-scrolled) .site-header .site-logo-primary { filter: brightness(0) invert(1) drop-shadow(0 2px 10px rgba(10,25,60,.45)); }
body:not(.site-home) .site-header .site-logo-primary, .site-header.is-scrolled .site-logo-primary { filter: none !important; }

/* Static fallback: content must remain visible even when Reveal animation JS is unavailable. */
.reveal, .reveal[data-visible="false"], .reveal[data-visible="true"] { opacity: 1 !important; visibility: visible !important; transform: none !important; }

/* Conventions image card and intentional scroll-state transitions. */
.fisio-convenios-home img { max-height: 7rem; }
.site-header { will-change: background-color, box-shadow, backdrop-filter; }
body.site-home:not(.is-scrolled) .site-header { background: transparent !important; box-shadow: none !important; backdrop-filter: none !important; }
body.site-home.is-scrolled .site-header { background: rgba(255,255,255,.94) !important; box-shadow: 0 8px 28px rgba(9,47,79,.14); backdrop-filter: blur(14px); }

/* Final header rule: color at rest, transparent only during downward scrolling. */
.site-header { background: rgba(255,255,255,.94) !important; color: #092f4f; box-shadow: 0 5px 20px rgba(9,47,79,.10); backdrop-filter: blur(14px); }
.site-header.is-scrolling-down { background: transparent !important; color: white; box-shadow: none; backdrop-filter: none; }
.site-header.is-scrolling-down nav a, .site-header.is-scrolling-down button { color: rgba(255,255,255,.92) !important; text-shadow: 0 1px 4px rgba(0,0,0,.25) !important; }
.site-header.is-scrolling-down .site-logo-primary { filter: brightness(0) invert(1) drop-shadow(0 2px 10px rgba(10,25,60,.45)) !important; }
.site-header:not(.is-scrolling-down) .site-logo-primary { filter: none !important; }
.fisio-accessibility { display:none !important; }
