{"product_id":"punch-in-studio-for-final-cut-pro","title":"Punch In Studio for Final Cut Pro","description":"\u003cstyle\u003e\n.pis-wrap{--ink:#0b0b0f;--ink2:#55555e;--line:#e6e6ea;--soft:#f6f6f8;--a:#ff8a1f;--b:#ff3d77;--c:#7a5cff;--dark:#0a0a0f;--ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.34,1.56,.64,1);color:var(--ink);max-width:1100px;margin:0 auto;line-height:1.55}\n.pis-wrap *,.pis-wrap *::before,.pis-wrap *::after{box-sizing:border-box}\n.pis-wrap h2,.pis-wrap h3,.pis-wrap p{margin:0}\n.pis-wrap button{-webkit-appearance:none;appearance:none;font:inherit;margin:0;cursor:pointer;text-transform:none;letter-spacing:normal;min-height:0;min-width:0;box-shadow:none;line-height:1.3}\n.pis-wrap .video-wrapper{display:block!important;width:100%!important;max-width:100%!important;float:none!important;flex:none!important;margin:0 0 18px!important;position:relative}\n.pis-wrap .video-wrapper video{display:block;width:100%;height:auto;border-radius:14px;background:#000}\n.pis-s{margin:0 0 clamp(56px,8vw,96px)}\n.pis-center{text-align:center}\n.pis-head{margin-bottom:30px}\n.pis-kicker{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin-bottom:12px!important}\n.pis-center .pis-kicker{justify-content:center}\n.pis-kicker::before{content:\"\";flex:none;width:15px;height:15px;border-radius:50%;border:2px solid var(--a);background:radial-gradient(circle,var(--a) 0 2px,transparent 2.5px)}\n.pis-h2{font-size:clamp(30px,4.6vw,48px);font-weight:700;letter-spacing:-.025em;line-height:1.08}\n.pis-lead{text-wrap:balance;font-size:clamp(17px,1.9vw,20px);color:var(--ink2);max-width:680px;margin-top:14px!important}\n.pis-center .pis-lead{margin-left:auto;margin-right:auto}\n.pis-grad{background:linear-gradient(90deg,var(--a),var(--b),var(--c),var(--b),var(--a));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:pisShift 10s linear infinite}\n@keyframes pisShift{0%{background-position:0% 50%}100%{background-position:300% 50%}}\n\n\n.pis-hero{background:var(--dark);color:#fff;border-radius:24px;padding:clamp(12px,2vw,20px);position:relative;overflow:hidden;text-align:center}\n.pis-hero::after,.pis-dark::after{content:\"\";position:absolute;inset:0;background:radial-gradient(560px circle at var(--mx,50%) var(--my,100%),rgba(255,61,119,.25),transparent 60%),radial-gradient(420px circle at calc(var(--mx,50%) + 14%) calc(var(--my,100%) - 12%),rgba(122,92,255,.2),transparent 60%);pointer-events:none}\n.pis-hero\u003e*,.pis-dark\u003e*{position:relative;z-index:2}\n.pis-wrap .pis-hero .video-wrapper{margin:0!important}\n.pis-hero-txt{padding:clamp(28px,4.5vw,48px) clamp(8px,4vw,40px) clamp(14px,2.5vw,26px)}\n.pis-hero .pis-kicker,.pis-dark .pis-kicker{color:rgba(255,255,255,.62)}\n.pis-wrap .pis-tag{color:#fff;font-size:clamp(38px,6.4vw,72px);font-weight:800;letter-spacing:-.035em;line-height:1.04}\n.pis-hero .pis-lead{color:rgba(255,255,255,.74);margin:16px auto 0!important}\n.pis-buy{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;color:#fff!important;text-decoration:none!important;font-size:17px;font-weight:600;background:linear-gradient(90deg,var(--a),var(--b),var(--c),var(--b),var(--a));background-size:300% 100%;animation:pisShift 9s linear infinite;transition:transform .4s var(--spring)}\n.pis-buy svg{width:18px;height:18px;transition:transform .4s var(--spring)}\n.pis-hero .pis-buy{margin-top:26px}\n@media (hover:hover){.pis-buy:hover{transform:translateY(-3px)}.pis-buy:hover svg{transform:translateX(4px)}}\n\n.pis-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:20px;margin-top:22px;overflow:hidden}\n.pis-stat{padding:24px 14px;text-align:center;border-left:1px solid var(--line)}\n.pis-stat:first-child{border-left:0}\n.pis-stat b{display:block;font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}\n.pis-stat span{display:block;font-size:14px;color:var(--ink2);margin-top:6px}\n\n.pis-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}\n.pis-panel{border-radius:20px;padding:clamp(24px,3.5vw,36px)}\n.pis-panel h3{font-size:21px;font-weight:700;letter-spacing:-.01em;margin-bottom:16px!important}\n.pis-panel ol,.pis-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}\n.pis-panel li{display:flex;gap:11px;align-items:center;margin:0;font-size:16.5px}\n.pis-panel li::before{content:\"\";flex:none;width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.32}\n.pis-old{background:var(--soft);color:var(--ink2)}\n.pis-wrap .pis-old h3{color:var(--ink)}\n.pis-new{background:linear-gradient(120deg,var(--a),var(--b),var(--c),var(--b),var(--a));background-size:300% 300%;animation:pisShift 14s linear infinite;color:#fff}\n.pis-wrap .pis-new h3{color:#fff}\n.pis-new li{font-weight:600}\n.pis-new li::before{background:#fff;opacity:1}\n\n.pis-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}\n.pis-step{border:1px solid var(--line);border-radius:20px;padding:26px 24px;background:#fff}\n.pis-step i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;color:#fff;font-weight:700;font-size:16px;margin-bottom:16px}\n.pis-step:nth-child(1) i{background:linear-gradient(135deg,var(--a),var(--b))}\n.pis-step:nth-child(2) i{background:linear-gradient(135deg,var(--b),var(--c))}\n.pis-step:nth-child(3) i{background:linear-gradient(135deg,var(--c),#2f6bff)}\n.pis-step h3{font-size:20px;font-weight:700;letter-spacing:-.01em;margin-bottom:8px!important}\n.pis-step p{font-size:16px;color:var(--ink2)}\n\n.pis-dark{background:var(--dark);color:#fff;border-radius:24px;padding:clamp(30px,5vw,56px);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,48px);align-items:center;position:relative;overflow:hidden}\n.pis-wrap .pis-dark h2{color:#fff}\n.pis-dark .pis-lead{color:rgba(255,255,255,.72)}\n.pis-label{display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:20px 0 8px}\n.pis-label b{color:#fff;font-weight:700}\n.pis-wrap input.pis-range{-webkit-appearance:none;appearance:none;display:block;width:100%;height:6px;margin:8px 0;padding:0;border:0;border-radius:9px;background:linear-gradient(90deg,var(--a),var(--b) var(--p,33%),rgba(255,255,255,.14) var(--p,33%));cursor:pointer}\n.pis-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.45)}\n.pis-range::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:50%;background:#fff}\n.pis-chips{display:grid;gap:6px}\n.pis-chips.six{grid-template-columns:repeat(6,1fr)}\n.pis-chips.three{grid-template-columns:repeat(3,1fr)}\n.pis-chips button{padding:8px 2px!important;font-size:13px;font-weight:600;border-radius:10px;color:rgba(255,255,255,.82)!important;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.1)!important;white-space:nowrap;transition:background .25s,color .25s}\n.pis-chips button[aria-checked=\"true\"]{background:#fff!important;color:var(--ink)!important}\n.pis-chips button:focus-visible,.pis-wrap button.pis-tick:focus-visible,.pis-point:focus-visible{outline:2px solid var(--a);outline-offset:2px}\n@media (hover:hover){.pis-chips button[aria-checked=\"false\"]:hover{background:rgba(255,255,255,.17)!important}}\n.pis-wrap button.pis-tick{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:18px;padding:12px 14px!important;border-radius:12px;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.1)!important;color:#fff!important;font-size:15px;font-weight:600}\n.pis-tog{width:36px;height:21px;border-radius:999px;background:#3a3a44;position:relative;flex:none;transition:background .35s}\n.pis-tog::after{content:\"\";position:absolute;top:2.5px;left:2.5px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .45s var(--spring)}\n.pis-tick[aria-pressed=\"true\"] .pis-tog{background:linear-gradient(90deg,var(--a),var(--b))}\n.pis-tick[aria-pressed=\"true\"] .pis-tog::after{transform:translateX(15px)}\n.pis-screen{position:relative;aspect-ratio:16\/9;border-radius:14px;overflow:hidden;background:#15151f;box-shadow:0 30px 60px -30px rgba(255,61,119,.55),0 0 0 1px rgba(255,255,255,.08);-webkit-tap-highlight-color:transparent}\n.pis-stage{position:absolute;inset:0;will-change:transform}\n.pis-stage svg{display:block;width:100%;height:100%}\n.pis-point{position:absolute;width:48px;height:48px;margin:-24px 0 0 -24px;cursor:grab;touch-action:none;z-index:3}\n.pis-point.drag{cursor:grabbing}\n.pis-point::before{content:\"\";position:absolute;inset:9px;border-radius:50%;border:2px solid #fff;background:rgba(255,138,31,.32);box-shadow:0 2px 12px rgba(0,0,0,.5);transition:transform .35s var(--spring)}\n.pis-point::after{content:\"\";position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);background:linear-gradient(#fff,#fff) center\/2px 100% no-repeat,linear-gradient(#fff,#fff) center\/100% 2px no-repeat}\n.pis-point.drag::before{transform:scale(1.25)}\n.pis-hint,.pis-read{position:absolute;top:10px;z-index:2;font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:999px;color:#fff;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none}\n.pis-hint{left:10px}\n.pis-read{right:10px;font-variant-numeric:tabular-nums}\n\n.pis-feats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:34px}\n.pis-feat{border:1px solid var(--line);border-radius:20px;padding:26px 24px;background:#fff}\n.pis-feat h3{font-size:20px;font-weight:700;letter-spacing:-.01em;margin-bottom:8px!important}\n.pis-feat p{font-size:16px;color:var(--ink2)}\n.pis-wrap .pis-stack{grid-column:1\/-1;display:flex;align-items:center;justify-content:space-between;gap:28px;border:0;color:#fff;background:linear-gradient(120deg,var(--a),var(--b),var(--c),var(--b),var(--a));background-size:300% 300%;animation:pisShift 14s linear infinite}\n.pis-wrap .pis-stack h3{color:#fff;font-size:clamp(21px,2.6vw,26px)}\n.pis-stack p{color:rgba(255,255,255,.92);max-width:560px}\n.pis-stack svg{flex:none;width:150px;height:auto}\n.pis-styles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}\n.pis-style{position:relative;border-radius:20px;padding:24px;background:var(--soft);overflow:hidden;isolation:isolate;transition:transform .6s var(--ease),color .35s}\n.pis-style::before{content:\"\";position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(120deg,var(--a),var(--b),var(--c),var(--a));background-size:300% 300%;transition:opacity .4s}\n.pis-curve{display:block;width:100%;max-width:150px;height:auto;margin-bottom:16px;color:var(--ink)}\n.pis-style h3{font-size:19px;font-weight:700;letter-spacing:-.01em;margin:0 0 4px!important}\n.pis-style p.pis-cap{font-size:15px;color:var(--ink2);margin:0!important;transition:color .35s}\n@media (hover:hover){.pis-style:hover{transform:translateY(-4px);color:#fff}.pis-style:hover::before{opacity:1;animation:pisShift 6s linear infinite}.pis-style:hover p.pis-cap{color:rgba(255,255,255,.9)}.pis-style:hover .pis-curve{color:#fff}.pis-style:hover .pis-curve polyline{stroke:#fff}}\n\n\n.pis-one{text-align:center;border:1px solid var(--line);border-radius:24px;padding:clamp(28px,5vw,56px)}\n.pis-one .pis-kicker{justify-content:center}\n.pis-one .pis-lead{margin-left:auto;margin-right:auto}\n.pis-wrap a.pis-link{color:var(--ink)!important;text-decoration:underline}\n.pis-one .pis-more{margin-top:20px!important;font-size:16px;color:var(--ink2)}\n\n.pis-bundle{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;border-radius:28px;padding:clamp(30px,5vw,60px);color:#fff;background:linear-gradient(120deg,#e0641a,#d92f68,#5f43e0,#d92f68,#e0641a);background-size:300% 300%;animation:pisShift 14s linear infinite}\n.pis-bundle::after{content:\"\";position:absolute;inset:0;z-index:-1;background:radial-gradient(480px circle at var(--mx,80%) var(--my,20%),rgba(255,255,255,.25),transparent 60%);pointer-events:none}\n.pis-bkick{display:inline-flex;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3)}\n.pis-wrap .pis-bundle h3{color:#fff;font-size:clamp(30px,4.4vw,48px);font-weight:800;letter-spacing:-.035em;line-height:1.04;margin-top:18px!important}\n.pis-bsub{color:rgba(255,255,255,.88);font-size:clamp(16.5px,1.8vw,19px);margin-top:14px!important;max-width:520px}\n.pis-price{border-radius:24px;padding:clamp(24px,3.5vw,36px);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.38);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}\n.pis-amt{display:flex;align-items:flex-end;gap:12px}\n.pis-amt b{font-size:clamp(64px,8vw,92px);font-weight:800;letter-spacing:-.05em;line-height:.9}\n.pis-amt span{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.35;color:rgba(255,255,255,.85);padding-bottom:8px}\n.pis-ticks{list-style:none;padding:0;margin:22px 0 26px;display:grid;gap:11px}\n.pis-ticks li{display:flex;align-items:center;gap:11px;margin:0;font-size:16px;font-weight:600}\n.pis-ticks li::before{content:\"\";flex:none;width:22px;height:22px;border-radius:50%;background:#fff url(\"data:image\/svg+xml;utf8,\u003csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 24 24' fill='none' stroke='%23d92f68' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'\u003e\u003cpath d='M6 12.5l4 4 8-9'\/\u003e\u003c\/svg\u003e\") center\/14px no-repeat}\n.pis-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:17px 24px;border-radius:999px;background:#fff;color:var(--ink)!important;text-decoration:none!important;font-weight:700;font-size:17px;white-space:nowrap;transition:transform .4s var(--spring)}\n@media (hover:hover){.pis-btn:hover{transform:translateY(-3px) scale(1.02)}}\n\n.pis-specs{border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:18px}\n.pis-specs div{display:grid;grid-template-columns:240px 1fr;gap:16px;padding:15px 22px;border-top:1px solid var(--line);font-size:16px;transition:background .3s}\n.pis-specs div:first-child{border-top:0}\n@media (hover:hover){.pis-specs div:hover{background:var(--soft)}}\n.pis-specs b{font-weight:600}\n.pis-specs span{color:var(--ink2)}\n.pis-sub{font-size:20px;font-weight:700;letter-spacing:-.01em;margin-top:34px!important}\n\n.pis-faq{margin-top:30px;border-top:1px solid var(--line)}\n.pis-faq details{border-bottom:1px solid var(--line)}\n.pis-faq summary{list-style:none;cursor:pointer;padding:19px 36px 19px 0;font-size:17px;font-weight:600;position:relative}\n.pis-faq summary::-webkit-details-marker{display:none}\n.pis-faq summary::after{content:\"\";position:absolute;right:6px;top:50%;width:10px;height:10px;border-right:2px solid #9a9aa4;border-bottom:2px solid #9a9aa4;transform:translateY(-70%) rotate(45deg);transition:transform .25s var(--ease)}\n.pis-faq details[open] summary::after{transform:translateY(-20%) rotate(-135deg)}\n.pis-faq summary:focus-visible{outline:2px solid var(--a);outline-offset:3px}\n.pis-faq p{font-size:16px;color:var(--ink2);max-width:780px;padding-bottom:21px}\n\n.pis-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}\n.pis-pair a{display:block;border-radius:18px;background:var(--soft);padding:22px 24px;color:var(--ink)!important;text-decoration:none!important;transition:transform .5s var(--ease)}\n.pis-pair b{display:block;font-size:18px;font-weight:700}\n.pis-pair span{display:block;font-size:15.5px;color:var(--ink2);margin-top:3px}\n@media (hover:hover){.pis-pair a:hover{transform:translateY(-3px)}}\n\n.pis-end{text-align:center;padding:8px 0 24px}\n.pis-end\u003ep{font-size:18px;color:var(--ink2);margin:12px 0 30px!important}\n.pis-wrap .pis-end p.pis-legal{font-size:12.5px;color:#8a8a93;margin:34px auto 0!important;max-width:620px}\n\n.pis-js .pis-rv{opacity:0;translate:0 26px;transition:opacity .9s var(--ease),translate .9s var(--ease);transition-delay:var(--d,0s)}\n.pis-js .pis-rv.in{opacity:1;translate:0 0}\n\n@media (prefers-reduced-motion:reduce){.pis-wrap *,.pis-wrap *::before,.pis-wrap *::after{animation:none!important;transition:none!important}}\n@media (max-width:820px){\n.pis-stats{grid-template-columns:repeat(2,1fr)}\n.pis-stat:nth-child(3){border-left:0}\n.pis-stat:nth-child(n+3){border-top:1px solid var(--line)}\n.pis-compare,.pis-steps,.pis-dark,.pis-feats,.pis-bundle,.pis-pair{grid-template-columns:1fr}\n.pis-styles{grid-template-columns:repeat(2,1fr)}\n.pis-specs div{grid-template-columns:1fr;gap:4px}\n.pis-price{padding:22px 18px}\n.pis-btn{font-size:15.5px;padding:16px 18px}\n.pis-dark\u003ediv:last-child{order:-1}\n}\n@media (max-width:520px){.pis-stack svg{display:none}.pis-styles{grid-template-columns:1fr}.pis-chips.six{grid-template-columns:repeat(3,1fr)}}\n\u003c\/style\u003e\n\n\u003cdiv class=\"pis-wrap\" id=\"pis-top\"\u003e\n\n  \u003csection class=\"pis-s\"\u003e\n    \u003cdiv class=\"pis-hero\"\u003e\n      \u003cdiv class=\"video-wrapper\"\u003e\u003cvideo autoplay=\"autoplay\" muted=\"\" loop=\"loop\" playsinline=\"\" preload=\"metadata\"\u003e  \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/1955089302be4bd0855597a3aceeda54.mp4\"\u003e\u003c\/video\u003e\u003c\/div\u003e\n      \u003cdiv class=\"pis-hero-txt\"\u003e\n        \u003cp class=\"pis-kicker\" style=\"justify-content:center\"\u003eZoom plugin for Final Cut Pro\u003c\/p\u003e\n        \u003ch2 class=\"pis-tag\"\u003e\u003cspan class=\"pis-grad\"\u003eDrag a point. Punch in.\u003c\/span\u003e\u003c\/h2\u003e\n        \u003cp class=\"pis-lead\"\u003eOne plugin for every smooth zoom in Final Cut Pro. Drop it above your timeline, drag the on-screen point onto the detail, and everything underneath zooms. No keyframes.\u003c\/p\u003e\n        \u003ca class=\"pis-buy\" href=\"#\" data-buy=\"1\"\u003eGet Punch In Studio\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M5 12h14M13 6l6 6-6 6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"pis-stats\"\u003e\n      \u003cdiv class=\"pis-stat\"\u003e\n\u003cb\u003e1\u003c\/b\u003e\u003cspan\u003eplugin for every zoom\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-stat\"\u003e\n\u003cb\u003e400%\u003c\/b\u003e\u003cspan\u003emaximum zoom\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-stat\"\u003e\n\u003cb\u003e6\u003c\/b\u003e\u003cspan\u003ezoom speeds\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-stat\"\u003e\n\u003cb\u003e6\u003c\/b\u003e\u003cspan\u003ezoom styles\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pis-s\"\u003e\n    \u003cdiv class=\"pis-center\"\u003e\n      \u003cp class=\"pis-kicker\"\u003eNo more fiddling\u003c\/p\u003e\n      \u003ch2 class=\"pis-h2\"\u003eA smooth zoom \u003cspan class=\"pis-grad\"\u003ewithout keyframes\u003c\/span\u003e\n\u003c\/h2\u003e\n      \u003cp class=\"pis-lead\"\u003eThe zoom in, hold and zoom out are built into the plugin, so you can stop rebuilding the same move on every shot.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"pis-compare\"\u003e\n      \u003cdiv class=\"pis-panel pis-old\"\u003e\n        \u003ch3\u003eZooming with keyframes\u003c\/h3\u003e\n        \u003col\u003e\n\u003cli\u003eSet the scale\u003c\/li\u003e\n\u003cli\u003eSet the position\u003c\/li\u003e\n\u003cli\u003eFix the ease\u003c\/li\u003e\n\u003cli\u003eDo it all again next time\u003c\/li\u003e\n\u003c\/ol\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"pis-panel pis-new\"\u003e\n        \u003ch3\u003eZooming with Punch In Studio\u003c\/h3\u003e\n        \u003cul\u003e\n\u003cli\u003eDrop one plugin above your clips\u003c\/li\u003e\n\u003cli\u003eDrag the point onto the detail\u003c\/li\u003e\n\u003cli\u003eEverything underneath zooms\u003c\/li\u003e\n\u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pis-s\"\u003e\n    \u003cdiv class=\"pis-center pis-head\"\u003e\n      \u003cp class=\"pis-kicker\"\u003eHow it works\u003c\/p\u003e\n      \u003ch2 class=\"pis-h2\"\u003eDrag one point to choose \u003cspan class=\"pis-grad\"\u003ewhere you zoom\u003c\/span\u003e\n\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"video-wrapper\"\u003e\u003cvideo autoplay=\"autoplay\" muted=\"\" loop=\"loop\" playsinline=\"\" preload=\"metadata\"\u003e  \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/428947ba971e45d18a62f012ba299b79.mp4\"\u003e\u003c\/video\u003e\u003c\/div\u003e\n    \u003cdiv class=\"pis-steps\"\u003e\n      \u003cdiv class=\"pis-step\"\u003e\n\u003ci\u003e1\u003c\/i\u003e\u003ch3\u003eDrop it above your timeline\u003c\/h3\u003e\n\u003cp\u003eFind it in the Titles browser and drag it above the clips you want to zoom into.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-step\"\u003e\n\u003ci\u003e2\u003c\/i\u003e\u003ch3\u003eDrag the point\u003c\/h3\u003e\n\u003cp\u003eUse the on-screen control in the viewer to zoom in on part of your video.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-step\"\u003e\n\u003ci\u003e3\u003c\/i\u003e\u003ch3\u003ePick your zoom\u003c\/h3\u003e\n\u003cp\u003eSet the amount, speed and style in the inspector. That's the whole job.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pis-s\"\u003e\n    \u003cdiv class=\"pis-dark\"\u003e\n      \u003cdiv\u003e\n        \u003cp class=\"pis-kicker\"\u003eTry it here\u003c\/p\u003e\n        \u003ch2 class=\"pis-h2\"\u003eZoom into any detail in \u003cspan class=\"pis-grad\"\u003eFinal Cut Pro\u003c\/span\u003e\n\u003c\/h2\u003e\n        \u003cp class=\"pis-lead\"\u003eDrag the point anywhere in the frame, then play with the controls.\u003c\/p\u003e\n        \u003cspan class=\"pis-label\"\u003eZoom Amount \u003cb class=\"pis-amt-out\"\u003e200%\u003c\/b\u003e\u003c\/span\u003e\n        \u003cinput class=\"pis-range\" type=\"range\" min=\"100\" max=\"400\" step=\"5\" value=\"200\" aria-label=\"Zoom Amount\"\u003e\n        \u003cspan class=\"pis-label\"\u003eSpeed\u003c\/span\u003e\n        \u003cdiv class=\"pis-chips six\" role=\"radiogroup\" aria-label=\"Zoom speed\" data-k=\"speed\"\u003e\n          \u003cbutton type=\"button\" role=\"radio\" aria-checked=\"false\" data-v=\"0.3\"\u003e0.3s\u003c\/button\u003e\u003cbutton type=\"button\" role=\"radio\" aria-checked=\"false\" data-v=\"0.5\"\u003e0.5s\u003c\/button\u003e\u003cbutton type=\"button\" role=\"radio\" aria-checked=\"true\" data-v=\"0.75\"\u003e0.75s\u003c\/button\u003e\u003cbutton type=\"button\" role=\"radio\" aria-checked=\"false\" data-v=\"1\"\u003e1s\u003c\/button\u003e\u003cbutton type=\"button\" role=\"radio\" aria-checked=\"false\" data-v=\"1.5\"\u003e1.5s\u003c\/button\u003e\u003cbutton type=\"button\" role=\"radio\" aria-checked=\"false\" data-v=\"2\"\u003e2s\u003c\/button\u003e\n        \u003c\/div\u003e\n        \u003cspan class=\"pis-label\"\u003eZoom Style\u003c\/span\u003e\n        \u003cdiv class=\"pis-chips three\" role=\"radiogroup\" aria-label=\"Zoom style\" data-k=\"style\"\u003e\n          \u003cbutton type=\"button\" role=\"radio\" aria-checked=\"true\" data-v=\"smooth\"\u003eSmooth\u003c\/button\u003e\u003cbutton type=\"button\" role=\"radio\" aria-checked=\"false\" data-v=\"cinematic\"\u003eCinematic\u003c\/button\u003e\u003cbutton type=\"button\" role=\"radio\" aria-checked=\"false\" data-v=\"snap\"\u003eSnap\u003c\/button\u003e\u003cbutton type=\"button\" role=\"radio\" aria-checked=\"false\" data-v=\"build\"\u003eBuild\u003c\/button\u003e\u003cbutton type=\"button\" role=\"radio\" aria-checked=\"false\" data-v=\"linear\"\u003eLinear\u003c\/button\u003e\u003cbutton type=\"button\" role=\"radio\" aria-checked=\"false\" data-v=\"overshoot\"\u003eOvershoot\u003c\/button\u003e\n        \u003c\/div\u003e\n        \u003cbutton type=\"button\" class=\"pis-tick\" aria-pressed=\"true\"\u003eZoom Out\u003cspan class=\"pis-tog\"\u003e\u003c\/span\u003e\u003c\/button\u003e\n      \u003c\/div\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"pis-screen\"\u003e\n          \u003cdiv class=\"pis-stage\"\u003e\n            \u003csvg viewbox=\"0 0 640 360\" preserveaspectratio=\"xMidYMid slice\" aria-hidden=\"true\"\u003e\u003cdefs\u003e\u003clineargradient id=\"pisSky\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"\u003e\u003cstop offset=\"0\" stop-color=\"#1b2a5e\"\u003e\u003c\/stop\u003e\u003cstop offset=\".6\" stop-color=\"#b4567f\"\u003e\u003c\/stop\u003e\u003cstop offset=\"1\" stop-color=\"#ffb26b\"\u003e\u003c\/stop\u003e\u003c\/lineargradient\u003e\u003clineargradient id=\"pisHill\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"\u003e\u003cstop offset=\"0\" stop-color=\"#3a2a55\"\u003e\u003c\/stop\u003e\u003cstop offset=\"1\" stop-color=\"#1a1430\"\u003e\u003c\/stop\u003e\u003c\/lineargradient\u003e\u003c\/defs\u003e\u003crect width=\"640\" height=\"360\" fill=\"url(#pisSky)\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"168\" cy=\"146\" r=\"38\" fill=\"#ffd9a0\"\u003e\u003c\/circle\u003e\u003cpolygon points=\"0,240 70,170 130,215 210,130 300,220 380,160 470,225 560,150 640,215 640,360 0,360\" fill=\"#4c3468\"\u003e\u003c\/polygon\u003e\u003cpolygon points=\"0,300 110,235 230,282 350,226 470,240 560,215 640,262 640,360 0,360\" fill=\"url(#pisHill)\"\u003e\u003c\/polygon\u003e\u003cg fill=\"#fff4e4\"\u003e\u003ccircle cx=\"430\" cy=\"185\" r=\"6\"\u003e\u003c\/circle\u003e\u003crect x=\"425.5\" y=\"192\" width=\"9\" height=\"20\" rx=\"4\"\u003e\u003c\/rect\u003e\u003crect x=\"417\" y=\"194\" width=\"8\" height=\"15\" rx=\"3\" fill=\"#ff8a1f\"\u003e\u003c\/rect\u003e\u003crect x=\"426\" y=\"210\" width=\"3.5\" height=\"19\"\u003e\u003c\/rect\u003e\u003crect x=\"431\" y=\"210\" width=\"3.5\" height=\"19\"\u003e\u003c\/rect\u003e\u003cpath d=\"M436 196l9 12-1.8 1.4-9-12z\"\u003e\u003c\/path\u003e\u003c\/g\u003e\u003cg\u003e\u003crect x=\"487\" y=\"184\" width=\"2.5\" height=\"46\" fill=\"#fff4e4\"\u003e\u003c\/rect\u003e\u003cpolygon points=\"489.5,185 511,192 489.5,199\" fill=\"#ff3d77\"\u003e\u003c\/polygon\u003e\u003c\/g\u003e\u003c\/svg\u003e\n          \u003c\/div\u003e\n          \u003cspan class=\"pis-hint\"\u003eDrag the point\u003c\/span\u003e\n          \u003cspan class=\"pis-read\"\u003e100%\u003c\/span\u003e\n          \u003cdiv class=\"pis-point\" tabindex=\"0\" role=\"slider\" aria-label=\"Zoom point. Use the arrow keys to move it.\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-valuenow=\"67\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pis-s\"\u003e\n    \u003cdiv class=\"pis-center\"\u003e\n      \u003cp class=\"pis-kicker\"\u003eYour zoom, your way\u003c\/p\u003e\n      \u003ch2 class=\"pis-h2\"\u003eSet the zoom in and zoom out \u003cspan class=\"pis-grad\"\u003eseparately\u003c\/span\u003e\n\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"pis-feats\"\u003e\n      \u003cdiv class=\"pis-feat\"\u003e\n\u003ch3\u003eZoom Amount\u003c\/h3\u003e\n\u003cp\u003eFrom a subtle push to a tight 400% close-up.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-feat\"\u003e\n\u003ch3\u003eSpeed\u003c\/h3\u003e\n\u003cp\u003eSix speeds, from 0.3 to 2 seconds, set separately for in and out.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-feat\"\u003e\n\u003ch3\u003eZoom in and stay\u003c\/h3\u003e\n\u003cp\u003eUntick Zoom Out and it holds on the detail until the plugin ends on your timeline.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-feat\"\u003e\n\u003ch3\u003ePunch in on vertical video\u003c\/h3\u003e\n\u003cp\u003eThe same drag and punch in works in 9:16 projects, ready for Reels, Shorts and TikTok.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-feat pis-stack\"\u003e\n\u003cdiv\u003e\n\u003ch3\u003eStack zooms to punch in further\u003c\/h3\u003e\n\u003cp\u003ePut one above the other to zoom in a second or third time and really land the moment.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003csvg viewbox=\"0 0 160 90\" fill=\"none\" stroke=\"#fff\" stroke-linejoin=\"round\" aria-hidden=\"true\"\u003e\u003crect x=\"2\" y=\"2\" width=\"156\" height=\"86\" rx=\"8\" stroke-width=\"2\" stroke-opacity=\".45\"\u003e\u003c\/rect\u003e\u003crect x=\"58\" y=\"24\" width=\"84\" height=\"47\" rx=\"6\" stroke-width=\"2\" stroke-opacity=\".7\"\u003e\u003c\/rect\u003e\u003crect x=\"92\" y=\"38\" width=\"42\" height=\"24\" rx=\"4\" stroke-width=\"2.5\"\u003e\u003c\/rect\u003e\u003ccircle cx=\"113\" cy=\"50\" r=\"3.5\" fill=\"#fff\" stroke=\"none\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pis-s\"\u003e\n    \u003cdiv class=\"pis-center\"\u003e\n      \u003cp class=\"pis-kicker\"\u003eZoom Style\u003c\/p\u003e\n      \u003ch2 class=\"pis-h2\"\u003eSix zoom styles, from \u003cspan class=\"pis-grad\"\u003esmooth to snappy\u003c\/span\u003e\n\u003c\/h2\u003e\n      \u003cp class=\"pis-lead\"\u003eEvery ease in zoom you need for Final Cut Pro, with one style for the zoom in and one for the zoom out.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003csvg width=\"0\" height=\"0\" style=\"position:absolute\" aria-hidden=\"true\"\u003e\u003cdefs\u003e\u003clineargradient id=\"pisCv\" gradientunits=\"userSpaceOnUse\" x1=\"4\" y1=\"0\" x2=\"116\" y2=\"0\"\u003e\u003cstop offset=\"0\" stop-color=\"#ff8a1f\"\u003e\u003c\/stop\u003e\u003cstop offset=\".55\" stop-color=\"#ff3d77\"\u003e\u003c\/stop\u003e\u003cstop offset=\"1\" stop-color=\"#7a5cff\"\u003e\u003c\/stop\u003e\u003c\/lineargradient\u003e\u003c\/defs\u003e\u003c\/svg\u003e\n    \u003cdiv class=\"pis-styles\"\u003e\n      \u003cdiv class=\"pis-style\"\u003e\n\u003csvg class=\"pis-curve\" viewbox=\"0 0 120 60\" fill=\"none\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 56H116M4 16H116\" stroke=\"currentColor\" stroke-opacity=\".18\" stroke-width=\"1\"\u003e\u003c\/path\u003e\u003cpolyline points=\"4.0,56.0 6.3,56.0 8.7,56.0 11.0,56.0 13.3,55.9 15.7,55.8 18.0,55.7 20.3,55.5 22.7,55.3 25.0,54.9 27.3,54.6 29.7,54.1 32.0,53.5 34.3,52.8 36.7,52.0 39.0,51.1 41.3,50.1 43.7,48.9 46.0,47.6 48.3,46.1 50.7,44.4 53.0,42.6 55.3,40.6 57.7,38.4 60.0,36.0 62.3,33.6 64.7,31.4 67.0,29.4 69.3,27.6 71.7,25.9 74.0,24.4 76.3,23.1 78.7,21.9 81.0,20.9 83.3,20.0 85.7,19.2 88.0,18.5 90.3,17.9 92.7,17.4 95.0,17.1 97.3,16.7 99.7,16.5 102.0,16.3 104.3,16.2 106.7,16.1 109.0,16.0 111.3,16.0 113.7,16.0 116.0,16.0\" stroke=\"url(#pisCv)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003ch3\u003eSmooth\u003c\/h3\u003e\n\u003cp class=\"pis-cap\"\u003eEases in and settles gently. The everyday choice.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-style\"\u003e\n\u003csvg class=\"pis-curve\" viewbox=\"0 0 120 60\" fill=\"none\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 56H116M4 16H116\" stroke=\"currentColor\" stroke-opacity=\".18\" stroke-width=\"1\"\u003e\u003c\/path\u003e\u003cpolyline points=\"4.0,56.0 6.3,56.0 8.7,56.0 11.0,56.0 13.3,56.0 15.7,56.0 18.0,56.0 20.3,56.0 22.7,55.9 25.0,55.9 27.3,55.7 29.7,55.6 32.0,55.4 34.3,55.1 36.7,54.6 39.0,54.1 41.3,53.4 43.7,52.4 46.0,51.3 48.3,49.8 50.7,48.0 53.0,45.7 55.3,43.1 57.7,39.8 60.0,36.0 62.3,32.2 64.7,28.9 67.0,26.3 69.3,24.0 71.7,22.2 74.0,20.7 76.3,19.6 78.7,18.6 81.0,17.9 83.3,17.4 85.7,16.9 88.0,16.6 90.3,16.4 92.7,16.3 95.0,16.1 97.3,16.1 99.7,16.0 102.0,16.0 104.3,16.0 106.7,16.0 109.0,16.0 111.3,16.0 113.7,16.0 116.0,16.0\" stroke=\"url(#pisCv)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003ch3\u003eCinematic\u003c\/h3\u003e\n\u003cp class=\"pis-cap\"\u003eA longer, more dramatic ease at both ends.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-style\"\u003e\n\u003csvg class=\"pis-curve\" viewbox=\"0 0 120 60\" fill=\"none\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 56H116M4 16H116\" stroke=\"currentColor\" stroke-opacity=\".18\" stroke-width=\"1\"\u003e\u003c\/path\u003e\u003cpolyline points=\"4.0,56.0 6.3,52.8 8.7,49.7 11.0,46.9 13.3,44.2 15.7,41.8 18.0,39.4 20.3,37.3 22.7,35.3 25.0,33.4 27.3,31.7 29.7,30.1 32.0,28.7 34.3,27.3 36.7,26.1 39.0,24.9 41.3,23.9 43.7,23.0 46.0,22.1 48.3,21.3 50.7,20.6 53.0,20.0 55.3,19.4 57.7,18.9 60.0,18.5 62.3,18.1 64.7,17.8 67.0,17.5 69.3,17.2 71.7,17.0 74.0,16.8 76.3,16.6 78.7,16.5 81.0,16.4 83.3,16.3 85.7,16.2 88.0,16.2 90.3,16.1 92.7,16.1 95.0,16.0 97.3,16.0 99.7,16.0 102.0,16.0 104.3,16.0 106.7,16.0 109.0,16.0 111.3,16.0 113.7,16.0 116.0,16.0\" stroke=\"url(#pisCv)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003ch3\u003eSnap\u003c\/h3\u003e\n\u003cp class=\"pis-cap\"\u003eFast off the mark, then a soft landing.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-style\"\u003e\n\u003csvg class=\"pis-curve\" viewbox=\"0 0 120 60\" fill=\"none\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 56H116M4 16H116\" stroke=\"currentColor\" stroke-opacity=\".18\" stroke-width=\"1\"\u003e\u003c\/path\u003e\u003cpolyline points=\"4.0,56.0 6.3,56.0 8.7,56.0 11.0,56.0 13.3,56.0 15.7,56.0 18.0,55.9 20.3,55.9 22.7,55.8 25.0,55.7 27.3,55.6 29.7,55.5 32.0,55.4 34.3,55.2 36.7,55.0 39.0,54.8 41.3,54.5 43.7,54.2 46.0,53.9 48.3,53.5 50.7,53.1 53.0,52.7 55.3,52.1 57.7,51.6 60.0,51.0 62.3,50.3 64.7,49.6 67.0,48.9 69.3,48.1 71.7,47.2 74.0,46.2 76.3,45.2 78.7,44.1 81.0,43.0 83.3,41.8 85.7,40.5 88.0,39.1 90.3,37.7 92.7,36.2 95.0,34.5 97.3,32.9 99.7,31.1 102.0,29.2 104.3,27.2 106.7,25.2 109.0,23.0 111.3,20.8 113.7,18.4 116.0,16.0\" stroke=\"url(#pisCv)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003ch3\u003eBuild\u003c\/h3\u003e\n\u003cp class=\"pis-cap\"\u003eStarts slow and accelerates into the shot.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-style\"\u003e\n\u003csvg class=\"pis-curve\" viewbox=\"0 0 120 60\" fill=\"none\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 56H116M4 16H116\" stroke=\"currentColor\" stroke-opacity=\".18\" stroke-width=\"1\"\u003e\u003c\/path\u003e\u003cpolyline points=\"4.0,56.0 6.3,55.2 8.7,54.3 11.0,53.5 13.3,52.7 15.7,51.8 18.0,51.0 20.3,50.2 22.7,49.3 25.0,48.5 27.3,47.7 29.7,46.8 32.0,46.0 34.3,45.2 36.7,44.3 39.0,43.5 41.3,42.7 43.7,41.8 46.0,41.0 48.3,40.2 50.7,39.3 53.0,38.5 55.3,37.7 57.7,36.8 60.0,36.0 62.3,35.2 64.7,34.3 67.0,33.5 69.3,32.7 71.7,31.8 74.0,31.0 76.3,30.2 78.7,29.3 81.0,28.5 83.3,27.7 85.7,26.8 88.0,26.0 90.3,25.2 92.7,24.3 95.0,23.5 97.3,22.7 99.7,21.8 102.0,21.0 104.3,20.2 106.7,19.3 109.0,18.5 111.3,17.7 113.7,16.8 116.0,16.0\" stroke=\"url(#pisCv)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003ch3\u003eLinear\u003c\/h3\u003e\n\u003cp class=\"pis-cap\"\u003eConstant speed, no easing.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"pis-style\"\u003e\n\u003csvg class=\"pis-curve\" viewbox=\"0 0 120 60\" fill=\"none\" aria-hidden=\"true\"\u003e\u003cpath d=\"M4 56H116M4 16H116\" stroke=\"currentColor\" stroke-opacity=\".18\" stroke-width=\"1\"\u003e\u003c\/path\u003e\u003cpolyline points=\"4.0,56.0 6.3,52.0 8.7,48.3 11.0,44.8 13.3,41.5 15.7,38.4 18.0,35.5 20.3,32.8 22.7,30.4 25.0,28.0 27.3,25.9 29.7,24.0 32.0,22.2 34.3,20.6 36.7,19.1 39.0,17.8 41.3,16.6 43.7,15.5 46.0,14.6 48.3,13.8 50.7,13.2 53.0,12.6 55.3,12.1 57.7,11.8 60.0,11.5 62.3,11.3 64.7,11.2 67.0,11.2 69.3,11.2 71.7,11.3 74.0,11.4 76.3,11.6 78.7,11.9 81.0,12.1 83.3,12.4 85.7,12.7 88.0,13.1 90.3,13.4 92.7,13.8 95.0,14.1 97.3,14.4 99.7,14.7 102.0,15.0 104.3,15.3 106.7,15.5 109.0,15.7 111.3,15.9 113.7,16.0 116.0,16.0\" stroke=\"url(#pisCv)\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003ch3\u003eOvershoot\u003c\/h3\u003e\n\u003cp class=\"pis-cap\"\u003eGoes slightly past the target on the zoom in, then settles.\u003c\/p\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pis-s\"\u003e\n    \u003cdiv class=\"pis-center pis-head\"\u003e\n      \u003cp class=\"pis-kicker\"\u003eExamples\u003c\/p\u003e\n      \u003ch2 class=\"pis-h2\"\u003eA Final Cut Pro punch in zoom for \u003cspan class=\"pis-grad\"\u003eevery edit\u003c\/span\u003e\n\u003c\/h2\u003e\n      \u003cp class=\"pis-lead\"\u003ePunch in for emphasis, show exactly where to look, or draw the eye to what matters.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"video-wrapper\"\u003e\u003cvideo autoplay=\"autoplay\" muted=\"\" loop=\"loop\" playsinline=\"\" preload=\"metadata\"\u003e  \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/32758b1ee0fa4cbc99a27cba840e25cd.mp4\"\u003e\u003c\/video\u003e\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pis-s\"\u003e\n    \u003cdiv class=\"pis-one\"\u003e\n      \u003cdiv\u003e\n        \u003cp class=\"pis-kicker\"\u003eFor Detail Zooms users\u003c\/p\u003e\n        \u003ch2 class=\"pis-h2\"\u003eOne plugin, \u003cspan class=\"pis-grad\"\u003enot 27\u003c\/span\u003e\n\u003c\/h2\u003e\n        \u003cp class=\"pis-lead\"\u003eDetail Zooms gave you a separate zoom for each depth and screen position. Punch In Studio does all of that from one plugin, with depth, speed and style under your control.\u003c\/p\u003e\n        \u003cp class=\"pis-more\"\u003ePrefer ready-made positions? \u003ca class=\"pis-link\" href=\"https:\/\/fcpxfullaccess.com\/products\/detail-zooms-for-final-cut-pro\"\u003eDetail Zooms for Final Cut Pro\u003c\/a\u003e is still here.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pis-s\"\u003e\n    \u003cdiv class=\"pis-bundle\"\u003e\n      \u003cdiv\u003e\n        \u003cspan class=\"pis-bkick\"\u003eUltimate Bundle\u003c\/span\u003e\n        \u003ch3\u003eGet Punch In Studio, plus every plugin we make.\u003c\/h3\u003e\n        \u003cp class=\"pis-bsub\"\u003ePunch In Studio is included in the Ultimate Bundle, alongside our full library of Final Cut Pro plugins.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"pis-price\"\u003e\n        \u003cdiv class=\"pis-amt\"\u003e\n\u003cb\u003e$99\u003c\/b\u003e\u003cspan\u003eOne time\u003cbr\u003epayment\u003c\/span\u003e\n\u003c\/div\u003e\n        \u003cul class=\"pis-ticks\"\u003e\n\u003cli\u003eEvery current Final Cut Pro plugin\u003c\/li\u003e\n\u003cli\u003ePunch In Studio included\u003c\/li\u003e\n\u003cli\u003eNo subscriptions\u003c\/li\u003e\n\u003c\/ul\u003e\n        \u003ca class=\"pis-btn\" href=\"https:\/\/fcpxfullaccess.com\/products\/the-ultimate-bundle-final-cut-pro-x\"\u003eSee the Ultimate Bundle\u003c\/a\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pis-s\"\u003e\n    \u003cdiv class=\"pis-center\"\u003e\n      \u003cp class=\"pis-kicker\"\u003eSpecs\u003c\/p\u003e\n      \u003ch2 class=\"pis-h2\"\u003eControls and specs\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003ch3 class=\"pis-sub\"\u003eInspector controls\u003c\/h3\u003e\n    \u003cdiv class=\"pis-specs\"\u003e\n      \u003cdiv\u003e\n\u003cb\u003eZoom In\u003c\/b\u003e\u003cspan\u003eOn or off\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cb\u003eZoom Out\u003c\/b\u003e\u003cspan\u003eOn or off\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cb\u003eZoom Amount %\u003c\/b\u003e\u003cspan\u003e100 to 400, default 150\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cb\u003eOn-screen point\u003c\/b\u003e\u003cspan\u003eDrag in the viewer to set where the zoom heads\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cb\u003eZoom In Speed and Zoom Out Speed\u003c\/b\u003e\u003cspan\u003e0.3, 0.5, 0.75, 1, 1.5 or 2 seconds, default 0.3\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cb\u003eZoom Style\u003c\/b\u003e\u003cspan\u003eSmooth, Cinematic, Snap, Build, Linear or Overshoot, with one for the zoom in and one for the zoom out\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003ch3 class=\"pis-sub\"\u003eWhat you get\u003c\/h3\u003e\n    \u003cdiv class=\"pis-specs\"\u003e\n      \u003cdiv\u003e\n\u003cb\u003eIncluded\u003c\/b\u003e\u003cspan\u003e1 Final Cut Pro plugin\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cb\u003eAspect ratios\u003c\/b\u003e\u003cspan\u003e16:9 and 9:16\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cb\u003eDownload size\u003c\/b\u003e\u003cspan\u003eUnder 2 MB\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cb\u003eInstallation\u003c\/b\u003e\u003cspan\u003eInstalls to Movies \u0026gt; Motion Templates \u0026gt; Titles. Need a hand? Visit the \u003ca class=\"pis-link\" href=\"https:\/\/fcpxfullaccess.com\/pages\/install\"\u003esupport centre\u003c\/a\u003e.\u003c\/span\u003e\n\u003c\/div\u003e\n      \u003cdiv\u003e\n\u003cb\u003eFinding it\u003c\/b\u003e\u003cspan\u003eIn the Titles browser under \"Full Access - Punch In Studio\"\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pis-s\"\u003e\n    \u003cdiv class=\"pis-center\"\u003e\n      \u003cp class=\"pis-kicker\"\u003eFAQ\u003c\/p\u003e\n      \u003ch2 class=\"pis-h2\"\u003eFrequently asked questions\u003c\/h2\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"pis-faq\"\u003e\n      \u003cdetails\u003e\u003csummary\u003eHow do I zoom in on part of a video in Final Cut Pro?\u003c\/summary\u003e\u003cp\u003eDrop Punch In Studio above your clips, drag the on-screen point onto the detail, and set your Zoom Amount.\u003c\/p\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eDo I need keyframes?\u003c\/summary\u003e\u003cp\u003eNo. The zoom in, hold and zoom out are built into the plugin.\u003c\/p\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eDoes it work across several clips?\u003c\/summary\u003e\u003cp\u003eYes. It sits above your timeline and zooms everything beneath it.\u003c\/p\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eCan I zoom in and stay zoomed in?\u003c\/summary\u003e\u003cp\u003eYes. Untick Zoom Out and it holds until the plugin ends on your timeline.\u003c\/p\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eCan I zoom in more than once?\u003c\/summary\u003e\u003cp\u003eYes. Stack another Punch In Studio above the first to zoom in a second or third time.\u003c\/p\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eWill I see black edges?\u003c\/summary\u003e\u003cp\u003eThe zoom starts and ends at 100% of your image, and edges stay hidden while the point is inside the frame.\u003c\/p\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eHow far can it zoom?\u003c\/summary\u003e\u003cp\u003eFrom 100% to 400%.\u003c\/p\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eDoes it work on vertical video?\u003c\/summary\u003e\u003cp\u003eYes. It works in 9:16 projects, so you can punch in on Reels, Shorts and TikTok edits.\u003c\/p\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eHow do I change the zoom speed?\u003c\/summary\u003e\u003cp\u003eChoose from six speeds, from 0.3 to 2 seconds, separately for the zoom in and zoom out.\u003c\/p\u003e\u003c\/details\u003e\n      \u003cdetails\u003e\u003csummary\u003eWhere do I find it after installing?\u003c\/summary\u003e\u003cp\u003eIn the Titles browser under \"Full Access - Punch In Studio\".\u003c\/p\u003e\u003c\/details\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pis-s\"\u003e\n    \u003cdiv class=\"pis-pair\"\u003e\n      \u003ca href=\"https:\/\/fcpxfullaccess.com\/products\/pro-motion-blur-pack-final-cut-pro-x\"\u003e\u003cb\u003ePro Motion Blur\u003c\/b\u003e\u003cspan\u003eAdd motion blur to your punch-ins.\u003c\/span\u003e\u003c\/a\u003e\n      \u003ca href=\"https:\/\/fcpxfullaccess.com\/products\/reframer-for-final-cut-pro\"\u003e\u003cb\u003eReFramer\u003c\/b\u003e\u003cspan\u003eAnother way to take control of the frame.\u003c\/span\u003e\u003c\/a\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"pis-end\"\u003e\n    \u003ch2 class=\"pis-h2\"\u003eDrag a point. \u003cspan class=\"pis-grad\"\u003ePunch in.\u003c\/span\u003e\n\u003c\/h2\u003e\n    \u003cp\u003eOne plugin for every smooth zoom in Final Cut Pro.\u003c\/p\u003e\n    \u003ca class=\"pis-buy\" href=\"#\" data-buy=\"1\"\u003eGet Punch In Studio\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 19V5M5 12l7-7 7 7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/a\u003e\n    \u003cp class=\"pis-legal\"\u003eFinal Cut Pro and Apple Motion are trademarks of Apple Inc. Punch In Studio is an independent product and isn't affiliated with or endorsed by Apple.\u003c\/p\u003e\n  \u003c\/section\u003e\n\n\u003c\/div\u003e\n\n\u003cscript type=\"application\/ld+json\"\u003e\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"How do I zoom in on part of a video in Final Cut Pro?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Drop Punch In Studio above your clips, drag the on-screen point onto the detail, and set your Zoom Amount.\"}},\n{\"@type\":\"Question\",\"name\":\"Do I need keyframes?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"No. The zoom in, hold and zoom out are built into the plugin.\"}},\n{\"@type\":\"Question\",\"name\":\"Does it work across several clips?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. It sits above your timeline and zooms everything beneath it.\"}},\n{\"@type\":\"Question\",\"name\":\"Can I zoom in and stay zoomed in?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Untick Zoom Out and it holds until the plugin ends on your timeline.\"}},\n{\"@type\":\"Question\",\"name\":\"Can I zoom in more than once?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. Stack another Punch In Studio above the first to zoom in a second or third time.\"}},\n{\"@type\":\"Question\",\"name\":\"Will I see black edges?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The zoom starts and ends at 100% of your image, and edges stay hidden while the point is inside the frame.\"}},\n{\"@type\":\"Question\",\"name\":\"How far can it zoom?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"From 100% to 400%.\"}},\n{\"@type\":\"Question\",\"name\":\"Does it work on vertical video?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Yes. It works in 9:16 projects, so you can punch in on Reels, Shorts and TikTok edits.\"}},\n{\"@type\":\"Question\",\"name\":\"How do I change the zoom speed?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Choose from six speeds, from 0.3 to 2 seconds, separately for the zoom in and zoom out.\"}},\n{\"@type\":\"Question\",\"name\":\"Where do I find it after installing?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"In the Titles browser under \\\"Full Access - Punch In Studio\\\".\"}}\n]}\n\u003c\/script\u003e\n\n\u003cscript\u003e\n(function(){\n  var w=document.querySelector('.pis-wrap');\n  if(!w||w.getAttribute('data-ready'))return;\n  w.setAttribute('data-ready','1');\n  var rm=window.matchMedia\u0026\u0026window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  var fine=window.matchMedia\u0026\u0026window.matchMedia('(hover: hover) and (pointer: fine)').matches;\n  var hasIO='IntersectionObserver' in window;\n  function $(s,c){return Array.prototype.slice.call((c||w).querySelectorAll(s));}\n\n  $('[data-buy]').forEach(function(a){a.addEventListener('click',function(e){\n    e.preventDefault();\n    var f=document.querySelector('form[action*=\"\/cart\/add\"]');\n    if(f)f.scrollIntoView({behavior:rm?'auto':'smooth',block:'center'});else window.scrollTo({top:0,behavior:rm?'auto':'smooth'});\n  });});\n\n  var scr=w.querySelector('.pis-screen'),stage=w.querySelector('.pis-stage'),point=w.querySelector('.pis-point'),read=w.querySelector('.pis-read'),hint=w.querySelector('.pis-hint'),range=w.querySelector('.pis-range'),amtOut=w.querySelector('.pis-amt-out'),tick=w.querySelector('.pis-tick');\n  var E={\n    smooth:function(t){return t\u003c.5?4*t*t*t:1-Math.pow(-2*t+2,3)\/2;},\n    cinematic:function(t){return t\u003c.5?16*Math.pow(t,5):1-Math.pow(-2*t+2,5)\/2;},\n    snap:function(t){return 1-Math.pow(1-t,4);},\n    build:function(t){return t*t*t;},\n    linear:function(t){return t;},\n    overshoot:function(t){var c=1.9;return 1+(c+1)*Math.pow(t-1,3)+c*Math.pow(t-1,2);}\n  };\n  var S={x:67,y:57,z:2,speed:750,style:'smooth',out:true},vis=false,dragging=false,raf=0,t0=0;\n  function place(){\n    point.style.left=S.x+'%';point.style.top=S.y+'%';\n    stage.style.transformOrigin=S.x+'% '+S.y+'%';\n    point.setAttribute('aria-valuenow',Math.round(S.x));\n    point.setAttribute('aria-valuetext',Math.round(S.x)+'% across, '+Math.round(S.y)+'% down');\n  }\n  function show(k,label){\n    var s=1+(S.z-1)*k;\n    stage.style.transform='scale('+s.toFixed(4)+')';\n    read.textContent=Math.round(s*100)+'%';\n    hint.textContent=label;\n  }\n  function frame(now){\n    if(!t0)t0=now;\n    var e=now-t0,wait=650,d=S.speed,hold=S.out?1000:2000,rest=550;\n    if(e\u003cwait)show(0,'Drag the point');\n    else if(e\u003cwait+d)show(E[S.style]((e-wait)\/d),'Zoom in');\n    else if(e\u003cwait+d+hold)show(1,S.out?'Hold':'Stay zoomed in');\n    else if(S.out\u0026\u0026e\u003cwait+d+hold+d)show(1-E.smooth((e-wait-d-hold)\/d),'Zoom out');\n    else if(S.out\u0026\u0026e\u003cwait+d+hold+d+rest)show(0,'Drag the point');\n    else t0=now;\n    raf=requestAnimationFrame(frame);\n  }\n  function stop(){cancelAnimationFrame(raf);raf=0;}\n  function play(){\n    stop();t0=0;\n    if(rm){show(1,'Drag the point');return;}\n    if(vis\u0026\u0026!dragging)raf=requestAnimationFrame(frame);\n  }\n  function fromEvent(e){\n    var r=scr.getBoundingClientRect();\n    S.x=Math.max(0,Math.min(100,(e.clientX-r.left)\/r.width*100));\n    S.y=Math.max(0,Math.min(100,(e.clientY-r.top)\/r.height*100));\n    place();\n  }\n  point.addEventListener('pointerdown',function(e){\n    dragging=true;stop();show(0,'Drag the point');point.classList.add('drag');\n    if(point.setPointerCapture)point.setPointerCapture(e.pointerId);\n    e.preventDefault();\n  });\n  point.addEventListener('pointermove',function(e){if(dragging)fromEvent(e);});\n  function drop(){if(!dragging)return;dragging=false;point.classList.remove('drag');play();}\n  point.addEventListener('pointerup',drop);\n  point.addEventListener('pointercancel',drop);\n  point.addEventListener('keydown',function(e){\n    var k={ArrowLeft:[-2,0],ArrowRight:[2,0],ArrowUp:[0,-2],ArrowDown:[0,2]}[e.key];\n    if(!k)return;\n    e.preventDefault();\n    S.x=Math.max(0,Math.min(100,S.x+k[0]));S.y=Math.max(0,Math.min(100,S.y+k[1]));place();play();\n  });\n  function setRange(){\n    var v=+range.value;S.z=v\/100;amtOut.textContent=v+'%';\n    range.style.setProperty('--p',((v-100)\/3)+'%');\n    if(rm)play();\n  }\n  range.addEventListener('input',setRange);\n  range.addEventListener('change',play);\n  $('.pis-chips').forEach(function(g){\n    var btns=$('button',g);\n    btns.forEach(function(b){b.addEventListener('click',function(){\n      var v=b.getAttribute('data-v');\n      if(g.getAttribute('data-k')==='speed')S.speed=parseFloat(v)*1000;else S.style=v;\n      btns.forEach(function(x){x.setAttribute('aria-checked',x===b?'true':'false');});\n      play();\n    });});\n  });\n  tick.addEventListener('click',function(){\n    S.out=!S.out;tick.setAttribute('aria-pressed',S.out?'true':'false');play();\n  });\n  place();setRange();\n  if(rm||!hasIO){vis=true;play();}\n  else{new IntersectionObserver(function(es){es.forEach(function(e){vis=e.isIntersecting;if(vis)play();else stop();});},{threshold:.2}).observe(scr);}\n\n  if(rm)return;\n  w.classList.add('pis-js');\n  if(fine){$('.pis-hero,.pis-dark,.pis-bundle').forEach(function(el){el.addEventListener('pointermove',function(e){var r=el.getBoundingClientRect();el.style.setProperty('--mx',((e.clientX-r.left)\/r.width*100)+'%');el.style.setProperty('--my',((e.clientY-r.top)\/r.height*100)+'%');});});}\n  var groups=[['.pis-stats',0],['.pis-center',0],['.pis-panel',.1],['.pis-step',.08],['.pis-style',.06],['.pis-feat',.07],['.pis-dark',0],['.pis-one',0],['.pis-bundle',0],['.pis-specs',0],['.pis-faq',0],['.pis-pair',0],['.pis-end \u003e *',.08]];\n  groups.forEach(function(g){$(g[0]).forEach(function(el){var i=Array.prototype.indexOf.call(el.parentNode.children,el);if(g[1])el.style.setProperty('--d',(i*g[1]).toFixed(2)+'s');el.classList.add('pis-rv');});});\n  var targets=$('.pis-rv');\n  if(hasIO){var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting){e.target.classList.add('in');io.unobserve(e.target);}});},{threshold:.08,rootMargin:'0px 0px -5% 0px'});targets.forEach(function(t){io.observe(t);});}\n  else{targets.forEach(function(t){t.classList.add('in');});}\n})();\n\u003c\/script\u003e\n","brand":"FCPX Full Access","offers":[{"title":"Default Title","offer_id":51042673950768,"sku":null,"price":14.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0287\/7580\/9072\/files\/Punch-In-Studio-Packaging.jpg?v=1794241576","url":"https:\/\/fcpxfullaccess.com\/products\/punch-in-studio-for-final-cut-pro","provider":"FCPX Full Access","version":"1.0","type":"link"}