.str-hero-media{position:absolute;inset:0 0 0 auto;width:min(64%,1050px);z-index:1;pointer-events:none;overflow:hidden;opacity:.52;mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 22%,#000 58%);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.18) 22%,#000 58%)}
.str-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,7,.04),rgba(7,7,7,.55))}
.str-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82) contrast(1.08)}
.str-security-note{display:flex;align-items:center;gap:.5rem;color:#8e8e8e;font-size:10px;letter-spacing:.08em;margin-top:.85rem}
.str-security-note svg{width:13px;height:13px;color:#d4af37;flex:none}
.str-form-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@media(max-width:767px){.str-hero-media{width:100%;opacity:.24;mask-image:linear-gradient(to bottom,#000 0%,transparent 88%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 88%)}.str-hero-media img{object-position:65% center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.hero-item,.reveal{animation:none!important;transition:none!important}}
/* iOS: evita el zoom automatico de Safari al enfocar un campo (font-size < 16px) */
@media(max-width:767px){input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{font-size:16px!important}}
/* iOS: 100vh incluye las barras del navegador y corta el hero; dvh usa el alto real */
@supports(height:100dvh){.min-h-screen{min-height:100dvh}.h-screen{height:100dvh}}
/* iOS/Android: background-attachment:fixed no se soporta bien y provoca parpadeos */
@media(max-width:767px){body{background-attachment:scroll!important}}
