.cv-showcase{padding:32px 0;position:relative;isolation:isolate}.cv-showcase:before{content:"";position:absolute;inset:5% -5%;z-index:-1;background:radial-gradient(ellipse at 50% 30%,#af642b22,transparent 65%);pointer-events:none}.show-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.show-intro h1{font-size:clamp(34px,5vw,68px);letter-spacing:-.065em;line-height:1.04;margin:10px 0}.show-intro h1 em{font-style:normal;color:var(--acento-texto)}.show-intro p{font-size:14px;color:var(--tinta-2);margin:0 0 10px}.show-kicker{font:600 10px/1.5 monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--acento-texto)}.show-gallery{position:relative;margin:0 -20px 22px}.show-heading{display:flex;justify-content:space-between;align-items:center;padding:0 22px;gap:12px}.show-heading h2{font-size:13px;letter-spacing:.035em;margin:0;font-weight:600}.show-heading h2 span{font:11px monospace;opacity:.5;margin-right:12px}.show-heading a{font-size:11px;text-decoration:none;color:inherit;opacity:.75}.show-stage{height:360px;position:relative;overflow:hidden;perspective:1100px;touch-action:pan-y;cursor:grab;outline-offset:-4px;border-radius:18px}.show-stage:focus-visible{outline:2px solid var(--acento-texto)}.show-stage.is-dragging{cursor:grabbing}.show-card{position:absolute;left:50%;top:22px;width:min(64%,680px);height:310px;margin:0;overflow:hidden;border-radius:16px;border:1px solid #ffffff26;background:#181818;color:#fff;box-shadow:0 22px 44px #0005;transform:translateX(-50%);transition:transform .6s cubic-bezier(.2,.8,.2,1),opacity .5s,filter .5s;user-select:none}.show-card img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.show-card figcaption{position:absolute;inset:auto 0 0;padding:40px 22px 18px;background:linear-gradient(transparent,#000d);display:flex;align-items:end;justify-content:space-between;gap:16px;pointer-events:none}.show-card strong{font-size:20px;letter-spacing:-.035em;display:block}.show-card small{display:block;font:10px/1.6 monospace;letter-spacing:.12em;text-transform:uppercase;color:#eee}.show-card a{color:white;text-decoration:none;font-size:12px;pointer-events:auto;border:1px solid #fff5;background:#17171775;padding:9px 13px;border-radius:30px;white-space:nowrap}.show-card a:hover{background:#fff;color:#151515}.show-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 22px}.show-controls p{margin:0;font:11px monospace;opacity:.65}.show-navigation{display:flex;align-items:center;gap:10px}.show-navigation button{width:34px;height:34px;border:1px solid var(--linea);border-radius:50%;background:transparent;color:inherit;cursor:pointer;font-size:17px}.show-navigation button:hover{background:var(--acento-texto);color:#171717}.show-navigation button:focus-visible,.show-card a:focus-visible{outline:2px solid var(--acento-texto);outline-offset:3px}.show-status{min-width:52px;text-align:center;font:11px monospace}.show-gallery-web .show-stage{height:260px}.show-gallery-web .show-card{height:214px;width:min(47%,510px);background:linear-gradient(135deg,#30283e,#141820)}.show-gallery-web .show-card img{object-fit:contain;object-position:72% top;width:56%;margin-left:40%;padding-top:12px}.show-gallery-web .show-card figcaption{inset:0;padding:24px;background:linear-gradient(90deg,#10121be6,transparent 90%);align-items:start;flex-direction:column;justify-content:center;gap:22px}.show-gallery-web .show-card strong{font-size:26px;max-width:160px}.show-gallery-web .show-card small{max-width:160px;font-size:9px}.show-next{display:flex;justify-content:center;margin:24px 0 0;font-size:12px;color:inherit;text-decoration:none;gap:14px}.cv-studio .hero{border-top:1px solid var(--linea);padding-top:48px}.cv-studio .hero .hero-statement{font-size:clamp(40px,5vw,72px);line-height:1.05;letter-spacing:-.065em;margin:22px auto}.show-stage:not(.is-ready){display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;align-items:center}.show-stage:not(.is-ready) .show-card{position:relative;flex:0 0 75%;left:auto;top:auto;transform:none;scroll-snap-align:center}.show-gallery:not(.is-ready) .show-controls{display:none}
@media(min-width:1500px){.show-stage{height:410px}.show-card{height:360px}}
@media(max-width:640px){.cv-showcase{padding-top:24px}.show-intro{display:block}.show-intro p{max-width:38ch;font-size:12px}.show-gallery{margin-left:-10px;margin-right:-10px}.show-heading{padding:0 10px}.show-heading h2{font-size:11px}.show-heading a{font-size:10px}.show-stage{height:300px}.show-card{width:82%;height:252px;top:22px}.show-card figcaption{padding:32px 15px 15px;gap:8px}.show-card strong{font-size:18px}.show-card small{font-size:8px}.show-card a{font-size:10px;padding:8px}.show-controls{padding:0 10px}.show-controls p{font-size:9px;max-width:145px}.show-gallery-web .show-stage{height:236px}.show-gallery-web .show-card{width:80%;height:194px}.show-gallery-web .show-card strong{font-size:23px}.show-gallery-web .show-card figcaption{padding:20px}.show-next{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.show-card{transition:none!important}}
@media print{.cv-showcase{display:none}}
/* Reserva espacio a Phyro en los controles de escritorio. */
@media(min-width:641px){.show-controls{padding-right:110px}}
.cv-showcase{scroll-margin-top:100px}
/* CV: encuadre fijo de página; el desplazamiento horizontal pertenece a las galerías. */
html:has(body.cv-studio){width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y}
body.cv-studio{width:100%;max-width:100%;min-width:0;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y}
.cv-studio main,.cv-studio .cv-layout,.cv-studio .cv-section,.cv-studio .tool-group{min-width:0;max-width:100%}
.cv-studio .cv-scene{overflow:clip}
.cv-studio .contact-form input,.cv-studio .contact-form textarea{font-size:16px}
.show-stage{touch-action:pan-y;overscroll-behavior-x:none;-webkit-user-select:none;user-select:none}
.show-stage.is-dragging .show-card{transition:none!important;will-change:transform;cursor:grabbing}
.show-stage.is-dragging .show-card a{pointer-events:none}
.show-progress{height:3px;background:var(--linea);margin:4px 22px 16px;overflow:hidden;border-radius:5px}
.show-progress i{display:block;height:100%;background:var(--acento-texto);transform-origin:left;transform:scaleX(var(--progress,.1));transition:transform .35s ease}
.show-gallery-web .show-stage{height:620px}
.show-gallery-web .show-card{width:270px;height:574px;background:#17191e;display:flex;flex-direction:column}
.show-gallery-web .show-card img{width:100%;height:calc(100% - 68px);margin:0;padding:0;object-fit:contain;object-position:center;background:#111318}
.show-gallery-web .show-card figcaption{position:static;inset:auto;min-height:68px;padding:10px 12px;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;background:#17191e}
.show-gallery-web .show-card strong{font-size:16px;max-width:none;line-height:1.2}
.show-gallery-web .show-card small{font-size:8px;letter-spacing:.04em;max-width:none;margin-bottom:4px}
.show-gallery-web .show-card a{padding:8px;font-size:10px}
@media(max-width:640px){.show-gallery-web .show-stage{height:560px}.show-gallery-web .show-card{width:min(76%,258px);height:516px}.show-gallery-web .show-card img{height:calc(100% - 68px)}.show-gallery-web .show-card figcaption{padding:9px 10px}.show-gallery-web .show-card strong{font-size:14px}.show-progress{margin:4px 10px 12px}.show-controls{padding-right:28px}.show-navigation button{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.show-progress i{transition:none}}
/* Selección de cuatro diseños web: captura horizontal completa. */
.show-gallery-web .show-stage{height:480px}
.show-gallery-web .show-card{width:min(74%,650px);height:auto;aspect-ratio:650/434}
.show-gallery-web .show-card img{width:100%;height:auto;aspect-ratio:1265/712;object-fit:contain;flex:1;min-height:0}
.show-gallery-web .show-card figcaption{flex:0 0 68px}
@media(max-width:640px){.show-gallery-web .show-stage{height:calc((100vw - 40px)*.563 + 130px)}.show-gallery-web .show-card{width:90%;height:auto;aspect-ratio:auto}.show-gallery-web .show-card img{height:auto;flex:none}.show-gallery-web .show-card figcaption{min-height:68px}.show-gallery-web .show-card strong{font-size:16px}}
