:root{
  --coral:#FF5A36; --coral-ink:#C2381A; --coral-tint:#FFEDE8;
  --signal:#12F0A5; --signal-ink:#0A9E6C;
  --ink:#1A1A1A; --surface:#FFFFFF; --paper:#F6F4F1; --stage:#1A1A1A;
  --muted:#5F6368; --line:#E4E2DF;
  --display:"Sora","Helvetica Neue",Arial,sans-serif;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --wrap:1240px; --gutter:clamp(20px,4vw,48px);
  --r-sm:8px; --r-md:16px; --r-pill:999px;
}
html[lang="ar"]{ --display:"Readex Pro","Sora",sans-serif; --sans:"Readex Pro","Inter",sans-serif; }
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-size:17px;line-height:1.6;color:var(--ink);background:var(--surface);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.skip{position:absolute;inset-inline-start:-999px;top:8px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:var(--r-sm);z-index:100}
.skip:focus{inset-inline-start:8px}

/* type */
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-0.03em;line-height:1.05}
h2{font-size:clamp(34px,4.6vw,60px);max-width:16ch}
h3{font-size:clamp(21px,2vw,26px);letter-spacing:-0.02em;line-height:1.2}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3{letter-spacing:0;line-height:1.25}
.lead{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--muted);max-width:52ch}
section{padding-block:clamp(80px,11vw,150px)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--r-pill);font-weight:600;font-size:16px;text-decoration:none;border:2px solid transparent;transition:transform .15s ease, background-color .15s ease}
.btn:active{transform:scale(.98)}
.btn-coral{background:var(--coral);color:var(--ink)}
.btn-coral:hover{background:#ff6f4f}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#333}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff;background:transparent}
button.btn{font-family:inherit;cursor:pointer}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn .play{width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:10px solid currentColor}
html[dir="rtl"] .btn .play{transform:none}

/* header */
.top{position:fixed;inset-inline:0;top:0;z-index:50;transition:background-color .25s ease, box-shadow .25s ease;color:#fff}
.top.solid{background:rgba(255,255,255,.96);color:var(--ink);box-shadow:0 1px 0 var(--line);backdrop-filter:saturate(1.4) blur(10px)}
.top .wrap{display:flex;align-items:center;gap:28px;height:72px}
.wordmark{display:inline-flex;text-decoration:none;direction:ltr;line-height:0}
.wordmark .wm{height:30px;width:auto;display:block}
.scr-mono .wm{height:17px;width:auto;display:block}
.nav{display:flex;gap:26px;margin-inline-start:auto}
.nav a{text-decoration:none;font-weight:500;font-size:15px;opacity:.85}
.nav a:hover{opacity:1}
.langs{display:flex;border:1.5px solid currentColor;border-radius:var(--r-pill);padding:3px;opacity:.9}
.langs button{background:none;border:0;color:inherit;font-size:13px;font-weight:600;padding:5px 10px;border-radius:var(--r-pill);min-width:36px}
.langs button[aria-pressed="true"]{background:currentColor}
.langs button[aria-pressed="true"] span{color:var(--ink);filter:invert(0)}
.top.solid .langs button[aria-pressed="true"] span,.top.open .langs button[aria-pressed="true"] span{color:#fff}
.top .btn{min-height:42px;padding:0 18px;font-size:15px}
.menu-btn{display:none;background:none;border:0;color:inherit;width:42px;height:42px;margin-inline-start:auto}
.menu-btn i{display:block;width:22px;height:2px;background:currentColor;margin:5px auto;border-radius:2px}

/* hero */
.hero{position:relative;height:100svh;min-height:640px;max-height:1100px;overflow:hidden;background:var(--stage);color:#fff;padding:0}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.slide.on{opacity:1}
.scene{position:absolute;aspect-ratio:16/9;transform-origin:var(--fx) var(--fy)}
.slide.on .scene{animation:drift 9s ease-out forwards}
@keyframes drift{from{transform:scale(1.1)}to{transform:scale(1)}}
.scene img{width:100%;height:100%;object-fit:cover}
.lens{position:absolute;width:clamp(78px,7.2vw,118px);aspect-ratio:1;border-radius:50%;border:clamp(5px,.5vw,8px) solid var(--coral);transform:translate(-50%,-50%);left:var(--lx);top:var(--ly);opacity:0;transition:left 1.6s cubic-bezier(.6,.05,.2,1), top 1.6s cubic-bezier(.6,.05,.2,1), opacity .4s ease;pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.lens::after{content:"";position:absolute;left:50%;top:50%;width:22%;aspect-ratio:1;border-radius:50%;background:var(--signal);transform:translate(-50%,-50%) scale(0);transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.slide.seek .lens{opacity:1}
.slide.lock .lens{opacity:1;animation:pulse .5s ease}
.slide.lock .lens::after{transform:translate(-50%,-50%) scale(1)}
@keyframes pulse{50%{transform:translate(-50%,-50%) scale(1.12)}}
.found{position:absolute;left:var(--tx);top:var(--ty);transform:translate(calc(var(--side) * 1%), -50%);background:#fff;color:var(--ink);font-weight:600;font-size:15px;padding:10px 16px 10px 14px;border-radius:var(--r-pill);white-space:nowrap;opacity:0;transition:opacity .35s ease .15s, margin .35s ease .15s;box-shadow:0 10px 30px rgba(0,0,0,.25);display:flex;gap:9px;align-items:center;margin-top:10px}
.found b{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--signal)}
.slide.lock .found{opacity:1;margin-top:0}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(20,20,20,.88) 0%, rgba(20,20,20,.55) 34%, rgba(20,20,20,0) 62%), linear-gradient(to bottom, rgba(20,20,20,.55), rgba(20,20,20,0) 22%);pointer-events:none;z-index:1}
.hero-copy{position:absolute;inset-inline:0;bottom:clamp(40px,8vh,90px);z-index:2}
.hero h1{font-size:clamp(56px,10.5vw,156px);line-height:.9;letter-spacing:-0.045em;max-width:9ch}
html[lang="ar"] .hero h1{line-height:1.15;max-width:10ch}
html[lang="en"] .hero h1{max-width:10ch}
.hero-sub{margin-top:26px;font-size:clamp(17px,1.5vw,20px);line-height:1.5;max-width:44ch;color:rgba(255,255,255,.88)}
.hero-ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.worlds{position:absolute;z-index:2;inset-inline-end:var(--gutter);bottom:clamp(40px,8vh,90px);display:flex;gap:6px;flex-direction:column;align-items:flex-end}
html[dir="rtl"] .worlds{align-items:flex-start}
.worlds button{background:none;border:0;color:rgba(255,255,255,.55);font-size:14px;font-weight:500;padding:4px 0;display:flex;align-items:center;gap:10px}
.worlds button::before{content:"";width:22px;height:2px;background:currentColor;transition:width .3s ease}
.worlds button[aria-current="true"]{color:#fff}
.worlds button[aria-current="true"]::before{width:44px;background:var(--coral)}

/* problem */
.problem{background:var(--paper)}
.problem .grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(40px,6vw,96px);align-items:end}
.problem .lead{margin-top:24px}
.vs{display:grid;grid-template-columns:1fr 1fr;border-radius:var(--r-md);overflow:hidden;background:#fff;box-shadow:0 1px 0 var(--line)}
.vs > div{padding:30px 28px}
.vs h3{font-size:18px;margin-bottom:18px}
.vs ul{list-style:none;display:grid;gap:16px}
.vs li{font-size:16px;line-height:1.45;padding-inline-start:26px;position:relative}
.vs .before{color:var(--muted)}
.vs .before li::before{content:"";position:absolute;inset-inline-start:0;top:.62em;width:12px;height:2px;background:#b9b6b1}
.vs .after{background:var(--ink);color:#fff}
.vs .after h3{color:#fff}
.vs .after li::before{content:"";position:absolute;inset-inline-start:0;top:.32em;width:14px;height:14px;border-radius:50%;border:3px solid var(--coral)}

/* how */
.how-head{display:flex;justify-content:space-between;align-items:end;gap:40px;flex-wrap:wrap}
.how-head .lead{max-width:40ch}
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);margin-top:clamp(48px,6vw,80px)}
.step-n{font-family:"Sora",sans-serif;font-weight:700;font-size:15px;color:var(--coral-ink);display:flex;align-items:center;gap:12px;margin-bottom:20px}
.step-n::after{content:"";flex:1;height:1.5px;background:var(--line)}
.steps li:last-child .step-n::after{display:none}
.step h3{margin-top:28px}
.step p{margin-top:10px;color:var(--muted);max-width:34ch}
.phone{position:relative;aspect-ratio:9/17;max-width:270px;border-radius:38px;background:var(--ink);padding:10px;box-shadow:0 30px 60px -30px rgba(26,26,26,.45)}
.screen{position:relative;height:100%;border-radius:29px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.screen .bar{height:30px;flex:none}
.scr-pad{padding:6px 18px 18px;display:flex;flex-direction:column;flex:1}
.scr-mono{font-family:"Sora",sans-serif;font-weight:700;font-size:15px;letter-spacing:-0.03em;direction:ltr;text-align:left}
.scr-title{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-0.02em;line-height:1.15;margin-top:14px}
.scr-small{font-size:12px;color:var(--muted);line-height:1.4;margin-top:6px}
.qr{margin:auto;width:76%;aspect-ratio:1;display:grid;grid-template-columns:repeat(21,1fr);gap:0;padding:8px;background:#fff;border:1.5px solid var(--line);border-radius:12px}
.qr i{background:var(--ink);border-radius:1px}
.qr i.o{background:transparent}
.oval{margin:16px auto 0;width:74%;aspect-ratio:3/4;border-radius:50%;background:url(../img/selfie.jpg) 64% 26%/320% auto;box-shadow:0 0 0 4px #fff, 0 0 0 7px var(--coral)}
.scr-btn{margin-top:auto;background:var(--coral);color:var(--ink);font-weight:600;font-size:13px;text-align:center;border-radius:var(--r-pill);padding:11px}
.thumbs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:14px}
.thumbs span{position:relative;aspect-ratio:1;border-radius:var(--r-sm);background-size:cover}
.thumbs span::after{content:"";position:absolute;top:6px;inset-inline-end:6px;width:10px;height:10px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 2px #fff}

/* audiences */
.aud{background:var(--surface);padding-top:0}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-top:40px;border-bottom:1.5px solid var(--line)}
.tabs button{background:none;border:0;padding:14px 4px;margin-inline-end:22px;font-weight:600;font-size:17px;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1.5px}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--coral)}
.panel{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;margin-top:48px}
.panel[hidden]{display:none}
.panel figure{aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden}
.panel figure img{width:100%;height:100%;object-fit:cover}
.panel h3{font-size:clamp(28px,3vw,40px);letter-spacing:-0.03em;line-height:1.1}
.panel ul{list-style:none;margin-top:28px;display:grid;gap:18px}
.panel li{padding-inline-start:34px;position:relative;font-size:17px}
.panel li::before{content:"";position:absolute;inset-inline-start:0;top:.25em;width:18px;height:18px;border-radius:50%;border:4px solid var(--coral)}

/* moments */
.moments{background:var(--paper)}
.mosaic{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:16px;margin-top:56px;height:clamp(520px,58vw,720px)}
.tile{position:relative;border-radius:var(--r-md);overflow:hidden;color:#fff}
.tile:first-child{grid-row:span 2}
.tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s ease}
.tile:hover img{transform:scale(1.03)}
.tile figcaption{position:absolute;inset-inline:0;bottom:0;padding:60px 26px 24px;background:linear-gradient(to top,rgba(20,20,20,.8),rgba(20,20,20,0))}
.tile h3{font-size:clamp(22px,2.2vw,30px)}
.tile p{font-size:15px;color:rgba(255,255,255,.85);margin-top:4px;max-width:40ch}

/* live */
.live{background:var(--stage);color:#fff}
.live .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:center}
.live .lead{color:rgba(255,255,255,.72);margin-top:24px}
.live h2{max-width:14ch}
.flow{list-style:none;margin-top:40px;display:grid;gap:0;border-top:1px solid rgba(255,255,255,.14)}
.flow li{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:16px}
.flow li b{font-family:var(--display);font-weight:600;color:#fff}
.flow li span{color:rgba(255,255,255,.72)}
.live figure{position:relative;border-radius:var(--r-md);overflow:hidden;aspect-ratio:4/5}
.live figure img{width:100%;height:100%;object-fit:cover}
.ticker{position:absolute;inset-inline:18px;bottom:18px;display:grid;gap:8px}
.ticker div{background:rgba(255,255,255,.96);color:var(--ink);border-radius:14px;padding:12px 14px;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;animation:rise 6s ease infinite;opacity:0}
.ticker div:nth-child(2){animation-delay:2s}
.ticker div:nth-child(3){animation-delay:4s}
.ticker i{width:34px;height:34px;border-radius:8px;flex:none;background-size:cover}
.ticker small{display:block;color:var(--muted);font-size:12px;font-weight:400}
@keyframes rise{0%{opacity:0;transform:translateY(12px)}10%,80%{opacity:1;transform:none}95%,100%{opacity:0}}

/* privacy */
.privacy .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,96px)}
.privacy .lead{margin-top:24px}
.pillars{display:grid;grid-template-columns:1fr 1fr;gap:40px 36px}
.pillars h3{font-size:20px;display:flex;align-items:center;gap:12px}
.pillars h3::before{content:"";width:14px;height:14px;border-radius:50%;border:3.5px solid var(--coral);flex:none}
.pillars p{margin-top:10px;color:var(--muted);font-size:16px}
.legal{margin-top:40px;padding-top:24px;border-top:1.5px solid var(--line);color:var(--muted);font-size:15px}

/* offers */
.offers{background:var(--paper)}
.offers .lead{margin-top:20px}
.tiers{margin-top:56px;background:#fff;border-radius:var(--r-md);box-shadow:0 1px 0 var(--line)}
.tier{display:grid;grid-template-columns:1.1fr 1fr 1.2fr auto;gap:24px;align-items:center;padding:26px 30px;border-bottom:1.5px solid var(--line)}
.tier:last-child{border-bottom:0}
.tier h3{font-size:22px}
.tier .size{font-family:var(--display);font-weight:600;font-size:17px;color:var(--coral-ink)}
.tier .for{color:var(--muted);font-size:15px}
.tier .btn{min-height:44px;font-size:15px;padding:0 20px}
.tier.agency{background:var(--ink);color:#fff;border-radius:0 0 var(--r-md) var(--r-md)}
.tier.agency .size{color:#ff8a6e}
.tier.agency .for{color:rgba(255,255,255,.7)}
.opts{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;align-items:center}
.opts strong{font-weight:600;margin-inline-end:6px}
.opts span{background:#fff;border:1.5px solid var(--line);border-radius:var(--r-pill);padding:7px 14px;font-size:14px;font-weight:500}

/* faq */
.faq .grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,96px)}
details{border-bottom:1.5px solid var(--line)}
details:first-child{border-top:1.5px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:22px 0;font-family:var(--display);font-weight:600;font-size:19px;display:flex;justify-content:space-between;gap:20px;align-items:center;letter-spacing:-0.01em}
summary::-webkit-details-marker{display:none}
summary::after{content:"";width:12px;height:12px;border-inline-end:2.5px solid var(--ink);border-bottom:2.5px solid var(--ink);transform:rotate(45deg);transition:transform .2s ease;flex:none;margin-top:-6px}
details[open] summary::after{transform:rotate(-135deg);margin-top:6px}
details p{padding:0 0 24px;color:var(--muted);max-width:60ch}

/* demo */
.demo{background:var(--coral);color:var(--ink)}
.demo .grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,96px);align-items:start}
.demo h2{font-size:clamp(40px,5.6vw,76px);max-width:11ch}
.demo .lead{color:var(--ink);opacity:.85;margin-top:24px}
.demo .wa{margin-top:32px;font-size:16px}
.demo .wa a{font-weight:600}
form{background:#fff;border-radius:var(--r-md);padding:clamp(24px,3vw,40px);display:grid;grid-template-columns:1fr 1fr;gap:18px 18px;box-shadow:0 30px 60px -30px rgba(26,26,26,.35)}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:14px;font-weight:600}
label small{font-weight:400;color:var(--muted)}
input,select,textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;min-height:50px}
textarea{min-height:96px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--coral-tint)}
.err{border-color:var(--coral-ink)}
.form-note{grid-column:1/-1;font-size:13px;color:var(--muted)}
form .btn{grid-column:1/-1;min-height:56px;font-size:17px}
.done{grid-column:1/-1;display:none;padding:10px 0}
.done h3{font-size:26px}
.done p{margin-top:8px;color:var(--muted)}
form.sent .field, form.sent .btn, form.sent .form-note{display:none}
form.sent .done{display:block}

/* footer */
footer{background:var(--stage);color:#fff;padding-block:64px 40px}
.foot{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;align-items:flex-start}
.foot .sig{font-family:var(--display);font-weight:700;font-size:clamp(28px,3.4vw,44px);letter-spacing:-0.03em;line-height:1.1;margin-top:20px;max-width:14ch}
.foot nav{display:grid;gap:10px;font-size:15px}
.foot nav a{text-decoration:none;color:rgba(255,255,255,.75)}
.foot nav a:hover{color:#fff}
.foot-bottom{margin-top:56px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.6)}
.appicon{width:52px;height:52px;display:block}

/* responsive */
@media (max-width:1020px){
  .nav,.top .btn-coral{display:none}
  .menu-btn{display:block}
  .top .langs{margin-inline-start:auto}
  .menu-btn{margin-inline-start:0}
  .top.open{background:#fff;color:var(--ink)}
  .top.open .nav{display:grid;position:absolute;top:72px;inset-inline:0;background:#fff;padding:12px var(--gutter) 24px;gap:4px;box-shadow:0 12px 24px rgba(0,0,0,.08)}
  .top.open .nav a{padding:12px 0;font-size:18px;opacity:1}
  .problem .grid,.live .grid,.privacy .grid,.faq .grid,.demo .grid,.panel{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:56px}
  .step{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center}
  .step-n{grid-column:1/-1;margin-bottom:0}
  .step h3{margin-top:0}
  .tier{grid-template-columns:1fr 1fr;row-gap:8px}
  .tier .btn{grid-column:1/-1;justify-self:start;margin-top:8px}
  .live figure{aspect-ratio:16/11}
}
@media (max-width:640px){
  body{font-size:16px}
  .hero-copy{bottom:120px}
  .worlds{flex-direction:row;bottom:34px;inset-inline-start:var(--gutter);inset-inline-end:auto;gap:16px}
  .worlds button::before{display:none}
  .worlds button[aria-current="true"]{box-shadow:0 2px 0 var(--coral)}
  .vs{grid-template-columns:1fr}
  .step{grid-template-columns:1fr}
  .phone{max-width:230px}
  .mosaic{grid-template-columns:1fr;grid-template-rows:auto;height:auto}
  .tile{aspect-ratio:4/3}
  .tile:first-child{grid-row:auto}
  .pillars{grid-template-columns:1fr}
  .flow li{grid-template-columns:1fr;gap:4px}
  form{grid-template-columns:1fr}
  .tier{grid-template-columns:1fr}
  .found{font-size:13px;padding:8px 12px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .tabs button{white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .ticker div{opacity:1}
}

/* film */
.film{background:var(--stage);color:#fff}
.film-head{max-width:760px;margin-bottom:clamp(32px,4vw,56px)}
.film-k{font-family:var(--display);font-weight:600;font-size:15px;color:var(--coral);margin-bottom:14px}
.film h2{max-width:18ch}
.film .lead{color:rgba(255,255,255,.78);margin-top:18px}
.film-cover{position:relative;display:block;width:100%;padding:0;border:0;background:#000;border-radius:var(--r-md);overflow:hidden;cursor:pointer;aspect-ratio:16/9;color:#fff;text-align:start}
.film-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease, opacity .3s ease;opacity:.82}
.film-cover:hover img{transform:scale(1.02);opacity:.92}
.film-play{position:absolute;left:50%;top:50%;width:clamp(72px,8vw,104px);aspect-ratio:1;border-radius:50%;background:var(--coral);transform:translate(-50%,-50%);display:grid;place-items:center;box-shadow:0 12px 40px rgba(0,0,0,.35);transition:transform .2s ease}
.film-cover:hover .film-play{transform:translate(-50%,-50%) scale(1.06)}
.film-play i{width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:22px solid var(--ink);margin-left:6px}
.film-meta{position:absolute;inset-inline-start:clamp(16px,2.4vw,32px);bottom:clamp(16px,2.4vw,28px);display:flex;flex-direction:column;gap:4px;background:rgba(26,26,26,.72);padding:12px 18px;border-radius:var(--r-sm);font-weight:600}
.film-meta small{font-weight:400;font-size:13px;opacity:.8}
.filmbox{position:fixed;inset:0;margin:auto;height:fit-content;width:min(1200px,94vw);max-width:none;padding:0;border:0;background:#000;border-radius:var(--r-md);overflow:visible}
.filmbox::backdrop{background:rgba(10,10,10,.86)}
.filmbox-frame{aspect-ratio:16/9;width:100%;border-radius:var(--r-md);overflow:hidden;background:#000}
.filmbox-frame iframe,.filmbox-frame video{width:100%;height:100%;border:0;display:block}
.filmbox-x{position:absolute;top:-52px;inset-inline-end:0;width:44px;height:44px;border-radius:50%;border:0;background:#fff;cursor:pointer;display:grid;place-items:center}
.filmbox-x i{position:relative;width:18px;height:18px}
.filmbox-x i::before,.filmbox-x i::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:2.5px;background:var(--ink);border-radius:2px;transform:translate(-50%,-50%) rotate(45deg)}
.filmbox-x i::after{transform:translate(-50%,-50%) rotate(-45deg)}
@media (max-width:640px){.film-play{width:56px}.film-play i{border-top-width:10px;border-bottom-width:10px;border-left-width:16px;margin-left:4px}.film-meta{padding:7px 12px;font-size:13px;bottom:10px;inset-inline-start:10px}.film-meta small{display:none}.filmbox-x{top:-50px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
