
/* ZAMPY / Cinematic Product Film — intentionally crisp, no blur effects */
.zfilm{margin:44px 0 49px;isolation:isolate}
.zfilm-heading{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(230px,.65fr);align-items:end;gap:24px;margin:0 0 24px;padding:0 4px}
.zfilm-eyebrow{display:flex;align-items:center;gap:9px;color:var(--orange,#f95708);font-weight:800;font-size:11px;letter-spacing:.17em}
.zfilm-live-dot{width:7px;height:7px;border-radius:50%;background:var(--orange,#f95708);display:inline-block}
.zfilm-heading h3{font-family:Manrope,DM Sans,sans-serif;font-size:clamp(37px,4.2vw,62px);line-height:1.09;letter-spacing:-.065em;color:#17262a;margin:15px 0 0;font-weight:800}
.zfilm-heading h3 em{font-style:normal;color:var(--orange,#f95708)}
.zfilm-heading-right{justify-self:end;max-width:350px;padding:0 0 3px}
.zfilm-index{font-size:10px;letter-spacing:.16em;color:#8e969a;font-weight:800}
.zfilm-heading-right p{font-size:14px;color:#68757c;line-height:1.75;margin:12px 0 0}
.zfilm-stage{position:relative;overflow:hidden;aspect-ratio:16 / 8.35;border-radius:32px;background:#151b1e;box-shadow:0 24px 70px rgba(27,22,21,.12);border:1px solid rgba(255,104,38,.18)}
.zfilm-stage:before{content:"";height:3px;position:absolute;top:0;left:0;width:100%;z-index:9;background:linear-gradient(90deg,transparent 6%,#ff5b19 45%,#ffc4a4 72%,transparent 94%);pointer-events:none}
.zfilm-poster{position:absolute;inset:0;background:radial-gradient(ellipse at 75% 40%,#e65119 0%,#b5330e 32%,#251e1e 72%,#12171c 100%);overflow:hidden}
.zfilm-grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(to left,black,transparent 94%);opacity:.45}
.zfilm-phone{position:absolute;width:24%;height:115%;display:flex;justify-content:center;align-items:center;transform-origin:50% 70%;pointer-events:none;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.zfilm-phone img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 22px 16px rgba(0,0,0,.20)) contrast(1.03)}
.zfilm-phone-main{width:28%;left:58%;top:-1%;transform:rotate(-7deg)}
.zfilm-phone-left{left:43%;top:5%;transform:rotate(-16deg) scale(.85);opacity:1}
.zfilm-phone-right{left:76%;top:10%;transform:rotate(5deg) scale(.83);opacity:1}
.zfilm-stage:hover .zfilm-phone-main{transform:rotate(-5deg) translateY(-7px)}
.zfilm-stage:hover .zfilm-phone-left{transform:rotate(-15deg) translateY(-6px) scale(.85)}
.zfilm-poster-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,17,19,.94) 0%,rgba(19,22,24,.78) 27%,rgba(16,21,23,.17) 66%,rgba(20,20,19,.05) 100%)}
.zfilm-poster-meta{position:absolute;top:38px;left:45px;color:rgba(255,255,255,.68);font-weight:800;font-size:10px;letter-spacing:.19em}
.zfilm-poster-meta span{margin:0 12px;opacity:.65}
.zfilm-title-block{position:absolute;top:32%;left:6%;color:white;max-width:50%;display:flex;flex-direction:column;gap:14px}
.zfilm-title-block>span{font-size:10px;letter-spacing:.17em;font-weight:800;color:#ffb688}
.zfilm-title-block strong{font-family:Manrope,DM Sans,sans-serif;font-size:clamp(28px,3.4vw,55px);line-height:1.16;letter-spacing:-.06em;font-weight:800}
.zfilm-title-block strong i{font-style:normal;color:#ffd3b8}
.zfilm-poster-end{position:absolute;bottom:34px;left:45px;color:rgba(255,255,255,.64);font-size:10px;font-weight:800;letter-spacing:.16em}
.zfilm-overlay{position:absolute;inset:0;z-index:6;display:flex;justify-content:center;align-items:center;pointer-events:none}
.zfilm-play{position:absolute;left:50%;top:53%;transform:translate(-50%,-50%);pointer-events:auto;display:flex;gap:14px;flex-direction:column;align-items:center;border:none;background:none;color:white;cursor:pointer;padding:10px;text-align:center}
.zfilm-play-ring{width:94px;height:94px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.9);background:rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 10px rgba(255,255,255,.07);transition:transform .26s ease, background .26s ease,color .26s ease}
.zfilm-play:hover .zfilm-play-ring,.zfilm-play:focus-visible .zfilm-play-ring{transform:scale(1.07);background:white;color:#f95708}
.zfilm-play-ring svg{width:28px;height:28px;margin-left:4px}
.zfilm-play-label{font-size:11px;font-weight:800;letter-spacing:.16em;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.zfilm-play-label small{display:block;color:rgba(255,255,255,.7);margin-top:7px;font-size:9px;letter-spacing:.1em}
.zfilm-fullscreen{pointer-events:auto;position:absolute;right:26px;bottom:25px;width:44px;height:44px;border:1px solid rgba(255,255,255,.5);background:rgba(10,20,26,.36);color:white;display:grid;place-items:center;border-radius:50%;cursor:pointer;transition:background .2s,transform .2s}
.zfilm-fullscreen svg{width:18px;height:18px}
.zfilm-fullscreen:hover{background:#f95708;transform:translateY(-2px)}
.zfilm-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#121416;z-index:5;display:none}
.zfilm-stage.is-playing .zfilm-video{display:block}
.zfilm-stage.is-playing .zfilm-poster,.zfilm-stage.is-playing .zfilm-play,.zfilm-stage.is-playing .zfilm-fullscreen{opacity:0;visibility:hidden}
.zfilm-error{position:absolute;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);width:min(88%,450px);padding:20px 24px;text-align:center;font-size:13px;line-height:1.7;color:#394349;background:white;border-radius:17px;border:1px solid #e8d9d1;box-shadow:0 14px 45px #050a0b55}
.zfilm-error[hidden]{display:none}
.zfilm-footnote{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:20px 4px 0;border-bottom:1px solid #f0e7de;padding-bottom:20px}
.zfilm-footnote-left{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.55;color:#667278;max-width:640px}
.zfilm-small-asterisk{font-size:25px;color:#ff681c;flex-shrink:0}
.zfilm-next{font-size:11px;font-weight:800;letter-spacing:.09em;color:#e74f0b;text-decoration:none;white-space:nowrap}
.zfilm-next span{font-size:17px;padding-left:5px;transition:transform .2s;display:inline-block}
.zfilm-next:hover span{transform:translateY(3px)}
.zfilm-stage:fullscreen{width:100vw;height:100vh;aspect-ratio:auto;border-radius:0}
.zfilm-stage:fullscreen .zfilm-phone{height:105%}
#zampy-app-tour{scroll-margin-top:100px}
@media(max-width:900px){.zfilm-heading{grid-template-columns:1fr}.zfilm-heading-right{justify-self:start}.zfilm-heading h3{font-size:clamp(36px,5.6vw,52px)}.zfilm-stage{aspect-ratio:16 / 10}.zfilm-play-ring{height:78px;width:78px}.zfilm-title-block{max-width:53%;left:5%}.zfilm-phone-main{left:60%}.zfilm-phone-left{left:43%}.zfilm-phone-right{left:77%}}
@media(max-width:630px){.zfilm{margin:29px 0 31px}.zfilm-heading{margin-bottom:20px;gap:10px}.zfilm-heading h3{font-size:clamp(31px,9vw,44px);margin:10px 0 0}.zfilm-eyebrow{font-size:9px;letter-spacing:.12em}.zfilm-heading-right p{font-size:13px;line-height:1.7}.zfilm-stage{aspect-ratio:4/5;border-radius:23px}.zfilm-poster-meta{top:23px;left:23px;font-size:8px;letter-spacing:.11em}.zfilm-phone-main{width:61%;left:46%;top:0;transform:rotate(-7deg) scale(.95)}.zfilm-phone-left{width:53%;left:28%;top:5%;transform:rotate(-16deg) scale(.84)}.zfilm-phone-right{width:57%;left:70%;top:7%;transform:rotate(7deg) scale(.82)}.zfilm-poster-shade{background:linear-gradient(180deg,rgba(17,20,23,.12) 0%,rgba(12,15,17,.32) 35%,rgba(11,15,19,.84) 83%,rgba(10,14,18,.92) 100%)}.zfilm-title-block{left:24px;top:auto;bottom:88px;max-width:87%;gap:7px}.zfilm-title-block>span{font-size:8px}.zfilm-title-block strong{font-size:clamp(27px,8vw,36px)}.zfilm-poster-end{left:24px;bottom:22px;font-size:8px;letter-spacing:.06em}.zfilm-play{top:38%;left:50%;padding:0}.zfilm-play-ring{width:70px;height:70px}.zfilm-play-label{font-size:10px}.zfilm-play-label small{display:none}.zfilm-fullscreen{right:18px;bottom:18px;width:39px;height:39px}.zfilm-footnote{flex-direction:column;align-items:flex-start;gap:10px}.zfilm-footnote-left{font-size:12px}.zfilm-next{font-size:10px}}
@media(prefers-reduced-motion:reduce){.zfilm-phone,.zfilm-play-ring,.zfilm-fullscreen,.zfilm-next span{transition:none!important}}
