/* Portrait media with live text overlays. Desktop retains its existing layout. */
@media(max-width:767px){
 .hero{position:relative;display:block;margin-top:72px;height:calc(100svh - 72px);min-height:600px;max-height:none;aspect-ratio:auto;background:#191919 url('assets/fragma-header-completo.jpg') center/cover no-repeat;color:#fff;isolation:isolate}
 .hero video{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 50%;z-index:0}
 .hero-shade{position:absolute;inset:0;display:block;background:linear-gradient(180deg,#0003 0%,#0005 35%,#0009 100%);z-index:1}
 .hero-center{position:absolute;inset:0;background:transparent;padding:54px 28px 110px;display:flex;align-items:flex-start;justify-content:center;text-align:left;z-index:2}
 .hero-center h1{font-size:clamp(34px,9.5vw,56px);line-height:1.1;font-weight:800;letter-spacing:-.045em;max-width:530px;text-align:left;text-wrap:balance;text-shadow:0 2px 16px #0003}
 .hero-center>p.hero-offer{font-size:16px;line-height:1.6;max-width:340px;margin:24px 0 30px;color:#fff;text-shadow:0 1px 12px #0005}
 .hero-center .chapter-open{margin:0;min-height:50px;max-width:100%;padding:15px 20px;font-size:12px;letter-spacing:.06em;gap:28px;background:#c1121f;color:#fff;border:1px solid #c1121f}
 .hero-top{display:none}.hero-bottom{top:auto;bottom:24px;left:28px;right:28px;z-index:3;display:flex}
 .hero-bottom>a,.hero-bottom>span{display:none}.hero-bottom button{min-height:44px;padding:10px 15px;font-size:12px;background:#0003;backdrop-filter:blur(6px)}
 .scene{position:relative;display:flex;align-items:center;height:calc(100svh - 72px);min-height:600px;max-height:none;padding:0;background:#191919;isolation:isolate}
 .scene>img{position:absolute;inset:0;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;transform:none;z-index:0}
 .scene:hover>img{transform:none}
 .scene:after{content:'';position:absolute;inset:0;display:block;background:linear-gradient(180deg,#0002,#0006 38%,#0009);z-index:1;pointer-events:none}
 .scene-content{position:relative;inset:auto;transform:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:100%;max-width:620px;min-height:0;margin:0;padding:68px 28px;text-align:left;background:transparent;z-index:2}
 .scene h2{font-size:clamp(34px,9.3vw,54px);line-height:1.12;font-weight:800;letter-spacing:-.045em;white-space:normal;margin:0;width:100%;color:#fff;text-align:left;text-wrap:balance;text-shadow:0 2px 16px #0004}
 .scene-summary{font-size:16px;line-height:1.65;max-width:340px;margin:24px 0 30px;text-align:left;color:#fff;text-shadow:0 1px 12px #0006}
 .scene .chapter-open{position:relative;inset:auto;display:inline-flex;justify-content:space-between;align-items:center;gap:28px;margin:0;min-height:50px;max-width:100%;padding:15px 20px;font-size:12px;letter-spacing:.06em;background:#c1121f;border:1px solid #c1121f;color:#fff}
 .scene .chapter-open span{font-size:20px;line-height:1}
 #servicios .scene>img{object-position:60% center}#lineas .scene>img{object-position:48% center}#obras .scene>img{object-position:55% center}
 .scene-top,.scene-caption,.scene-number{display:none}
}
@media(max-width:360px){.hero-center{padding-inline:24px}.scene-content{padding-inline:24px}.hero-center h1,.scene h2{font-size:33px}.hero-center>p.hero-offer,.scene-summary{font-size:15px}.hero-bottom{left:24px}}
@media(max-width:767px) and (max-height:650px){.hero,.scene{min-height:520px}.hero-center{padding-block:38px 85px}.scene-content{padding-block:38px}.hero-center h1,.scene h2{font-size:32px}.hero-center>p.hero-offer,.scene-summary{margin-block:18px 24px}}

/* Scroll-driven appearance. Styles activate only after the script is ready. */
@media(prefers-reduced-motion:no-preference){
 .scroll-reveal>.reveal-item{opacity:var(--reveal-opacity,1);transform:translate3d(0,var(--reveal-y,0px),0);will-change:opacity,transform}
 .scroll-reveal:focus-within>.reveal-item{opacity:1!important;transform:none!important}
}
@media(prefers-reduced-motion:reduce){.scroll-reveal>.reveal-item{opacity:1!important;transform:none!important;will-change:auto}}
