/* HACKERWEB V49: precise 2% extra horizontal overscan; V48 frame, hand and scene retained. */
#v48-phone-erase{position:absolute;left:61.1878%;top:73.701%;width:38.8122%;height:26.299%;background-image:url('ocultar-movil-night.webp');background-size:100% 100%;background-repeat:no-repeat;z-index:21;pointer-events:none;opacity:0;transition:opacity .42s ease;will-change:opacity}
.scene.v18-day #v48-phone-erase{background-image:url('ocultar-movil-day.webp')}
body.v48-phone-open #v48-phone-erase{opacity:1}
body.v48-phone-open #vid{opacity:0!important;visibility:hidden!important}
body.v48-phone-open #scene{filter:blur(7px) brightness(.70) saturate(.92);transition:filter .62s cubic-bezier(.16,.78,.18,1);}
.scene.v18-day{--v48-scene-brightness:.74}
body.v48-phone-open #scene.v18-day{filter:blur(7px) brightness(.74) saturate(.89)}
#scene{transition:filter .65s ease}
body.v48-phone-open .header,body.v48-phone-open .note{filter:blur(4px);opacity:.28;transition:opacity .45s,filter .45s}
body.v48-phone-open #v43-hotspots-halos{opacity:0!important;visibility:hidden!important}
#v48-phone-overlay{position:fixed;inset:0;z-index:2147481000;display:block;overflow:hidden;visibility:hidden;opacity:0;pointer-events:none;background:rgba(5,13,24,.16);transition:opacity .44s ease,visibility .44s ease;font-family:ui-sans-serif,system-ui,-apple-system,Arial,sans-serif;color:#f0e9dc;isolation:isolate}
#v48-phone-overlay.v48-visible{visibility:visible;opacity:1;pointer-events:auto}
#v48-phone-overlay:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 34% 62% at 52% 53%,rgba(45,62,82,.22),transparent 78%);pointer-events:none}
#v48-phone-overlay .v48-grain{position:absolute;inset:0;pointer-events:none;background:linear-gradient(114deg,rgba(3,10,18,.08),transparent 47%,rgba(4,12,25,.09));}
#v48-phone-figure{position:absolute;height:min(113svh,182vw,1100px);aspect-ratio:1122/1402;width:auto;left:50%;top:51%;transform:translate(-50%,-42%) scale(.85);opacity:0;filter:drop-shadow(2px 32px 40px rgba(0,0,0,.51));transition:transform .92s cubic-bezier(.17,.88,.22,1),opacity .45s;will-change:transform,opacity}
#v48-phone-overlay.v48-visible #v48-phone-figure{transform:translate(-50%,-45%) scale(1);opacity:1}
/* Pixel measured on the 1122x1402 source: x=400 y=107 w=440 h=930 r=44. 
   Percent geometry scales with the image so the 4 corners remain aligned on desktop and mobile. */
#v48-phone-screen{position:absolute;left:35.65062389%;top:7.63195435%;width:39.21568627%;height:66.33380884%;overflow:hidden;border-radius:10% / 4.73118%;background:#040507;z-index:1;isolation:isolate}
/* Original source is vertical 9:16. Cover a slightly narrower physical display (440:930)
   without black side gutters. Bleed is symmetrical so the video remains centered. */
/* V49 · 2% horizontal overscan, with the Vimeo player viewport unchanged.
   Scaling its rendered surface (not the iframe's layout box) prevents Vimeo's
   player from introducing new letterbox gutters. Its visual center is fixed,
   and the unchanged parent rounded clip masks any overscan. */
#v48-phone-screen iframe{position:absolute;top:0;left:-9.44%;width:118.88%;height:100%;transform:scaleX(1.02);transform-origin:center center;border:0;background:#030609;display:block}
#v48-phone-figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none;z-index:2}
/* Dynamic Island: genuinely positioned above the playing video, not painted into the photo. */
#v48-dynamic-island{position:absolute;left:50.35650624%;top:9.12981455%;width:10.33868093%;height:2.06847361%;border-radius:999px;background:#020308;box-shadow:0 1px 3px #111b,inset 0 1px 2px rgba(255,255,255,.08);z-index:3;pointer-events:none;display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;padding-right:1.2%}
#v48-dynamic-island .v48-lens{display:block;width:7%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 34% 32%,#1c3b56,#050712 68%);box-shadow:0 0 1px #40648755}
#v48-phone-close{position:absolute;z-index:5;top:max(21px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));appearance:none;border:1px solid rgba(236,231,220,.48);background:rgba(11,25,35,.48);backdrop-filter:blur(8px);border-radius:100px;color:#fff;letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600;padding:13px 17px;cursor:pointer;box-shadow:0 6px 25px #0004;transition:background .2s,transform .2s}
#v48-phone-close:hover,#v48-phone-close:focus-visible{background:rgba(20,43,60,.78);transform:scale(1.035);outline:1px solid #d4bb79;outline-offset:2px}
#v48-phone-caption{position:absolute;z-index:2;top:clamp(20px,4vh,52px);left:clamp(20px,3.6vw,68px);font-size:clamp(10px,1.02vw,13px);letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 16px #000a;opacity:.79;pointer-events:none}
#v48-phone-caption strong{display:block;font-size:clamp(13px,1.6vw,22px);font-family:Georgia,serif;letter-spacing:.02em;text-transform:none;font-weight:400;margin-top:8px;color:#f4e9d7}
#v48-phone-controls{position:absolute;z-index:4;bottom:max(17px,env(safe-area-inset-bottom));left:clamp(16px,3vw,48px);display:flex;gap:9px;align-items:center}
#v48-phone-controls button{border-radius:100px;border:1px solid rgba(240,235,222,.24);background:rgba(8,23,31,.42);backdrop-filter:blur(8px);color:#f2f0e8;font:500 12px ui-sans-serif,system-ui;padding:9px 13px;cursor:pointer}
#v48-phone-controls button:hover,#v48-phone-controls button:focus-visible{background:rgba(15,38,46,.85);outline:1px solid rgba(240,235,222,.8)}
#v48-video-status{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);z-index:4;font-size:11px;background:rgba(8,20,27,.72);padding:7px 12px;border-radius:20px;transition:opacity .3s;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}
#v48-video-status[hidden]{display:none}
@media(max-width:600px){#v48-phone-caption{left:14px;top:20px;font-size:9px}#v48-phone-caption strong{font-size:14px}#v48-phone-close{right:14px;top:14px;padding:11px 12px;font-size:10px}#v48-phone-figure{top:53%;height:min(100svh,187vw,980px)}#v48-phone-controls{bottom:12px;left:12px;gap:5px}#v48-phone-controls button{font-size:11px;padding:8px 10px}}
@media(prefers-reduced-motion:reduce){#v48-phone-figure,#v48-phone-overlay,body.v48-phone-open #scene{transition-duration:.05s!important}}
