@font-face{font-family:"Manrope";font-weight:200 800;font-display:swap;src:url(/assets/fonts/manrope-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-weight:200 800;font-display:swap;src:url(/assets/fonts/manrope-cyrillic-wght-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Cairo";font-weight:400;font-display:swap;src:url(/assets/fonts/cairo-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Cairo";font-weight:700 800;font-display:swap;src:url(/assets/fonts/cairo-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}
:root{--bg0:#08051a;--bg1:#140c3a;--ink:#f6f3ff;--mute:#b9afe8;--dim:#8277c0;--cy:#3ec6e0;--pk:#ff6fb5;--vi:#8f6bff;--am:#ffb347;--gr:#7ddb62;
  --glass:rgba(255,255,255,.07);--line:rgba(255,255,255,.14);--st:env(safe-area-inset-top,0px);--sb:env(safe-area-inset-bottom,0px);
  --font:"Manrope","Cairo",ui-rounded,"SF Pro Rounded",system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Arabic","Noto Sans",sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg0);overflow-x:clip}
body{background:var(--bg0);color:var(--ink);font:16px/1.55 var(--font);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
canvas#bg{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block}
body.nogl::before{content:"";position:fixed;inset:0;z-index:0;background:radial-gradient(60% 50% at 20% 10%,#2f8cff55,transparent 70%),radial-gradient(55% 50% at 85% 30%,#b04dff55,transparent 70%),radial-gradient(60% 60% at 50% 100%,#ff5fa855,transparent 70%),var(--bg1)}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
#cursor{position:fixed;left:0;top:0;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;z-index:1;pointer-events:none;background:radial-gradient(circle,rgba(130,200,255,.16),transparent 65%);transform:translate3d(-999px,-999px,0);will-change:transform}
header{position:fixed;z-index:20;top:0;inset-inline:0;padding:calc(12px + var(--st)) 18px 12px;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#08051acc,#08051a00);backdrop-filter:blur(6px)}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px;letter-spacing:.01em}
.brand img{width:30px;height:30px;border-radius:9px;box-shadow:0 0 18px #3ec6e066}
nav.lang{display:flex;gap:3px;background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:3px;backdrop-filter:blur(12px)}
nav.lang button{all:unset;cursor:pointer;min-width:44px;min-height:38px;display:grid;place-items:center;padding:0 12px;border-radius:999px;font-size:14px;font-weight:700;color:var(--mute);transition:background .25s,color .25s}
nav.lang button[aria-pressed=true]{background:rgba(255,255,255,.18);color:#fff}
nav.lang button:focus-visible,.cta:focus-visible,.card:focus-visible{outline:2px solid var(--cy);outline-offset:3px}
main{position:relative;z-index:2}
section{position:relative;padding:clamp(72px,12vw,150px) 20px;display:flex;flex-direction:column;align-items:center;text-align:center}
.wrap{width:min(1080px,100%)}
h1,h2{font-weight:800;letter-spacing:-.025em;line-height:1.04;background:linear-gradient(95deg,#fff 5%,#c6f4ff 45%,#ffc6e6 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
h1{font-size:clamp(38px,min(9.4vw,10svh),92px)}
h2{font-size:clamp(30px,6.6vw,60px)}
.sub{color:var(--mute);font-size:clamp(16px,3.6vw,21px);max-width:34em;margin:14px auto 0}
.eyebrow{display:inline-flex;gap:8px;align-items:center;padding:7px 15px;border-radius:999px;background:var(--glass);border:1px solid var(--line);font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#cfe9ff;backdrop-filter:blur(10px);margin-bottom:18px}
.eyebrow b{width:8px;height:8px;border-radius:50%;background:var(--cy);box-shadow:0 0 14px var(--cy);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.8);opacity:.45}}
/* hero */
#hero{overflow:clip;min-height:100svh;justify-content:center;padding-top:calc(78px + var(--st));padding-bottom:70px;gap:6px}
.stage{position:relative;width:min(70vw,38svh,380px);aspect-ratio:1;display:grid;place-items:center;perspective:900px;margin-bottom:6px}
.glow{position:absolute;inset:4%;border-radius:50%;background:radial-gradient(circle,rgba(62,198,224,.6),rgba(143,107,255,.28) 55%,transparent 72%);filter:blur(22px);animation:breathe 5s ease-in-out infinite}
.ring{position:absolute;inset:16%;border-radius:50%;border:2px solid rgba(165,238,255,.6);opacity:0;animation:ping 5.4s cubic-bezier(.2,.6,.3,1) infinite}
.ring:nth-of-type(3){animation-delay:1.8s}.ring:nth-of-type(4){animation-delay:3.6s}
@keyframes ping{0%{transform:scale(.7);opacity:0}12%{opacity:.75}100%{transform:scale(2.3);opacity:0}}
@keyframes breathe{50%{transform:scale(1.09);opacity:.82}}
#ping{position:relative;width:64%;cursor:pointer;-webkit-tap-highlight-color:transparent;transform-style:preserve-3d;
  filter:drop-shadow(0 22px 40px rgba(0,0,0,.5)) drop-shadow(0 0 30px rgba(62,198,224,.6));animation:float 5.4s ease-in-out infinite;will-change:transform}
@keyframes float{0%,100%{transform:translateY(0) rotate(-1.3deg) scale(1,1)}25%{transform:translateY(-15px) rotate(.4deg) scale(.985,1.02)}50%{transform:translateY(-4px) rotate(1.5deg) scale(1.02,.985)}75%{transform:translateY(-17px) rotate(-.4deg) scale(.99,1.015)}}
#ping.boop{animation:boop .75s cubic-bezier(.3,1.7,.5,1)}
@keyframes boop{0%{transform:scale(1)}30%{transform:scale(.86,1.12)}60%{transform:scale(1.1,.92)}100%{transform:scale(1)}}
.tease{min-height:3em;font-size:clamp(18px,4.4vw,27px);font-weight:700;max-width:22em;margin-top:14px;display:flex;align-items:center;justify-content:center}
.tease span{display:inline-block;animation:line 4.8s ease both}
@keyframes line{0%{opacity:0;transform:translateY(12px);filter:blur(8px)}12%,84%{opacity:1;transform:none;filter:none}100%{opacity:0;transform:translateY(-10px);filter:blur(8px)}}
.cue{position:absolute;bottom:calc(20px + var(--sb));left:50%;translate:-50% 0;width:26px;height:44px;border:2px solid var(--line);border-radius:14px}
.cue::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{transform:translateY(0);opacity:1}100%{transform:translateY(16px);opacity:0}}
/* reveal */
.rv{opacity:0;transform:translateY(34px) scale(.98);filter:blur(6px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .9s;transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none;filter:none}
/* crew */
.crew{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;margin-top:44px;text-align:start}
.card{position:relative;border-radius:26px;padding:22px;background:linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.03));border:1px solid var(--line);backdrop-filter:blur(14px);overflow:hidden;transform-style:preserve-3d;transition:transform .25s ease,border-color .3s;--c:var(--vi);cursor:default}
.card::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from var(--a),transparent 0 70%,var(--c) 88%,transparent);opacity:.0;animation:spin 6s linear infinite;transition:opacity .4s}
.card::after{content:"";position:absolute;inset:1px;border-radius:25px;background:linear-gradient(160deg,#150d3a,#0c0722);z-index:0}
.card:hover::before,.card:focus-visible::before{opacity:.8}
@keyframes spin{to{--a:360deg}}
.card>*{position:relative;z-index:1}
.card .face{height:150px;display:grid;place-items:center;margin-bottom:12px}
.card .face img{max-height:150px;width:auto;filter:brightness(0) saturate(0) invert(.2) drop-shadow(0 0 14px var(--c));opacity:.6;transition:filter .8s ease,opacity .8s,transform .8s cubic-bezier(.3,1.5,.5,1);animation:bob 6s ease-in-out infinite}
.card.on .face img,.card:hover .face img,.card:focus-visible .face img{filter:drop-shadow(0 12px 22px rgba(0,0,0,.45)) drop-shadow(0 0 18px var(--c));opacity:1;transform:scale(1.08) translateZ(40px)}
@keyframes bob{50%{translate:0 -9px}}
.card h3{font-size:22px;font-weight:800}
.card .role{color:var(--mute);margin-top:4px;min-height:3em}
.card .tag{display:inline-block;margin-top:12px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--c)}
.card.more{display:grid;place-items:center;text-align:center;min-height:300px;border-style:dashed}
.card.more::after{background:transparent}
.card.more big{font-size:56px;font-weight:800;color:var(--dim)}
/* chat demo */
.phone{width:min(430px,100%);margin:44px auto 0;border-radius:36px;padding:16px;background:linear-gradient(170deg,rgba(255,255,255,.12),rgba(255,255,255,.03));border:1px solid var(--line);backdrop-filter:blur(18px);box-shadow:0 40px 90px #0009,inset 0 1px 0 #ffffff33;text-align:start}
.chat{display:flex;flex-direction:column;gap:12px;min-height:420px;padding:6px}
.msg{display:flex;gap:10px;align-items:flex-end;opacity:0;transform:translateY(14px) scale(.96);transition:opacity .5s,transform .5s cubic-bezier(.3,1.4,.5,1)}
.msg.show{opacity:1;transform:none}
.msg.me{flex-direction:row-reverse}
.msg .av{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;background:#ffffff14;overflow:hidden;border:1px solid var(--line)}
.msg .av img{width:30px;height:30px;object-fit:contain}
.bubble{max-width:78%;padding:11px 15px;border-radius:20px;background:#ffffff16;border:1px solid var(--line);font-size:15px}
.me .bubble{background:linear-gradient(135deg,#3ec6e0,#8f6bff);border:none;color:#06101d;font-weight:700}
.bubble small{display:block;font-size:11.5px;font-weight:800;letter-spacing:.06em;color:var(--mute);margin-bottom:2px}
.dots{display:inline-flex;gap:4px}.dots i{width:7px;height:7px;border-radius:50%;background:var(--mute);animation:dot 1s infinite}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes dot{40%{transform:translateY(-5px);opacity:.4}}
/* moods */
.moods{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:44px}
.mood{width:clamp(96px,22vw,132px);text-align:center}
.mood .disc{aspect-ratio:1;border-radius:50%;overflow:hidden;border:1px solid var(--line);background:#ffffff10;box-shadow:0 14px 40px #0007;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.mood:hover .disc{transform:scale(1.12) rotate(-3deg)}
.mood .disc img{width:100%;height:100%;object-fit:cover}
.mood span{display:block;margin-top:10px;font-weight:800;font-size:14px;color:var(--mute)}
/* language */
.langs{margin-top:40px;display:grid;gap:10px;place-items:center}
.big{font-size:clamp(36px,9vw,88px);font-weight:800;min-height:1.2em;letter-spacing:-.02em;transition:opacity .45s,filter .45s,transform .45s}
.big.out{opacity:0;filter:blur(10px);transform:translateY(14px)}
.chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:12px}
.chip{padding:9px 16px;border-radius:999px;background:var(--glass);border:1px solid var(--line);font-weight:700;font-size:14px;color:var(--mute);backdrop-filter:blur(8px)}
.chip.hot{color:#fff;background:rgba(255,255,255,.18)}
/* private */
.lock{width:132px;height:132px;margin:34px auto 0}
.lock path{stroke-dasharray:260;stroke-dashoffset:260;transition:stroke-dashoffset 1.6s cubic-bezier(.3,.7,.2,1)}
.lock.in path{stroke-dashoffset:0}
.lock .body{fill:url(#lg);transform-origin:50% 100%;transition:transform .8s cubic-bezier(.3,1.6,.5,1) .9s;transform:scale(.6);opacity:0}
.lock.in .body{transform:none;opacity:1}
.trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;margin-top:34px;text-align:start}
.trio div{padding:18px 20px;border-radius:20px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(10px);font-weight:700}
.trio div::before{content:"";display:block;width:34px;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--cy),var(--pk));margin-bottom:12px}
/* voice */
canvas#wave{width:min(720px,100%);height:150px;margin-top:38px;display:block}
/* platforms */
.devices{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:34px}
.dev{padding:16px 26px;border-radius:22px;border:1px solid var(--line);background:var(--glass);font-weight:800;font-size:19px;backdrop-filter:blur(10px)}
/* final */
#final{min-height:80svh;justify-content:center}
.cta{all:unset;cursor:pointer;margin-top:30px;padding:16px 34px;min-height:52px;border-radius:999px;font-weight:800;font-size:18px;color:#06101d;background:linear-gradient(120deg,#3ec6e0,#8f6bff 60%,#ff6fb5);box-shadow:0 14px 40px #8f6bff77;transition:transform .25s cubic-bezier(.3,1.6,.5,1),box-shadow .25s}
.cta:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 20px 56px #8f6bffaa}
.cta:active{transform:scale(.96)}
.hint{min-height:1.6em;color:var(--mute);margin-top:16px}
footer.legal{position:relative;z-index:2;padding:46px 20px calc(36px + var(--sb));color:var(--dim);font-size:13.5px;border-top:1px solid var(--line);background:linear-gradient(#08051a00,#08051acc)}
.lg-wrap{width:min(760px,100%);margin:0 auto;display:grid;gap:8px}
.lg-wrap details{border:1px solid var(--line);border-radius:14px;background:var(--glass);backdrop-filter:blur(8px);padding:0 16px}
.lg-wrap summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:700;color:var(--mute);list-style:none}
.lg-wrap summary::-webkit-details-marker{display:none}
.lg-wrap summary::after{content:"+";margin-inline-start:auto;font-size:20px;color:var(--cy);transition:transform .25s}
.lg-wrap details[open] summary::after{transform:rotate(45deg)}
.lg-wrap summary:focus-visible{outline:2px solid var(--cy);outline-offset:2px;border-radius:10px}
.lg-wrap p{padding:0 0 16px;line-height:1.65;color:var(--mute);text-align:start}
footer .copy{margin-top:22px;text-align:center}
.ripple{position:fixed;border:2px solid rgba(165,238,255,.85);border-radius:50%;pointer-events:none;z-index:30;animation:rip 1.1s ease-out forwards;transform:translate(-50%,-50%)}
@keyframes rip{from{width:10px;height:10px;opacity:.9}to{width:460px;height:460px;opacity:0}}
[dir=rtl] h1,[dir=rtl] h2{letter-spacing:0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none;filter:none}.msg{opacity:1;transform:none}.ring{display:none}html{scroll-behavior:auto}}
@media (hover:none){#cursor{display:none}}

.lg-wrap a{color:var(--cy);font-weight:700;text-decoration:underline;text-underline-offset:3px;word-break:break-all}

/* mood lab */
.lab{margin:40px auto 0;width:min(620px,100%);display:grid;gap:16px;justify-items:center}
.lab-bots{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.lab-bots button{all:unset;cursor:pointer;display:grid;justify-items:center;gap:4px;min-width:56px;min-height:64px;padding:6px 8px;border-radius:16px;border:1px solid var(--line);background:var(--glass);color:var(--mute);font-size:12px;font-weight:700;transition:transform .25s cubic-bezier(.3,1.6,.5,1),border-color .25s,background .25s}
.lab-bots button img{width:34px;height:34px;object-fit:contain}
.lab-bots button[aria-selected=true]{border-color:var(--acc);background:rgba(255,255,255,.14);color:#fff;transform:translateY(-3px)}
.lab-bots button:focus-visible,.lab-chip:focus-visible,.lab-send:focus-visible,#labin:focus-visible{outline:2px solid var(--cy);outline-offset:2px}
.lab-stage{position:relative;width:min(100%,420px);aspect-ratio:1;display:grid;place-items:center}
.lab-glow{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 55%,transparent),transparent 68%);filter:blur(26px);transition:background .6s}
.lab-av{position:relative;transition:width .4s;filter:drop-shadow(0 20px 36px rgba(0,0,0,.5)) drop-shadow(0 0 26px color-mix(in srgb,var(--acc) 60%,transparent))}
.av{position:relative;width:100%;--esx:1;--esy:1;--erl:0deg;--err:0deg;--edx:0%;--edy:0%;--msx:1;--msy:1;--mr:0deg;--mdy:0%;--lx:0%;--ly:0%}
.av .body{position:relative;width:100%;height:100%;transform-origin:50% 92%}
.av .bodyimg{width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none}
.av .eyew{position:absolute;aspect-ratio:1;transform:translate(-50%,-50%) scaleY(1);transform-origin:50% 55%;transition:transform .08s}
.av .eyew.blinking{transform:translate(-50%,-50%) scaleY(.08)}
.av .eye{width:100%;display:block;transition:transform .45s cubic-bezier(.3,1.5,.5,1);transform:translate(calc(var(--edx) + var(--lx)),calc(var(--edy) + var(--ly))) rotate(var(--erl)) scale(var(--esx),var(--esy));-webkit-user-drag:none}
.av .eye.r{transform:translate(calc(var(--edx) + var(--lx)),calc(var(--edy) + var(--ly))) rotate(var(--err)) scale(var(--esx),var(--esy))}
.av.wink .eyew:first-of-type .eye{transform:translate(0,0) scale(1,.12)}
.av .mouth{position:absolute;transform:translate(-50%,-50%) translateY(var(--mdy)) rotate(var(--mr)) scale(var(--msx),var(--msy));transition:transform .45s cubic-bezier(.3,1.5,.5,1);-webkit-user-drag:none}
.fx{position:absolute;pointer-events:none;opacity:0;transition:opacity .35s}
.fx-blush{width:15%;aspect-ratio:1.5;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(255,110,160,.75),transparent 70%)}
.fx-tear{width:5%;aspect-ratio:.7;border-radius:50% 50% 55% 55%;background:linear-gradient(#bfe9ff,#4ab8ff);transform:translate(-50%,0)}
.fx-q,.fx-bang{right:-4%;top:-2%;font-weight:900;font-size:clamp(36px,12vw,64px);color:#fff;text-shadow:0 0 22px var(--acc)}
.fx-zzz{right:2%;top:-4%;display:flex;gap:6px;align-items:flex-end}.fx-zzz i{font-style:normal;font-weight:900;color:#dfe9ff;animation:zz 2.4s ease-in-out infinite;font-size:26px}.fx-zzz i:nth-child(2){font-size:34px;animation-delay:.5s}.fx-zzz i:nth-child(3){font-size:22px;animation-delay:1s}
@keyframes zz{0%{transform:translateY(10px);opacity:0}30%{opacity:1}100%{transform:translateY(-18px);opacity:0}}
.fx-dots{right:-2%;top:2%;display:flex;gap:6px;background:rgba(255,255,255,.18);padding:10px 14px;border-radius:18px;border:1px solid var(--line)}.fx-dots i{width:9px;height:9px;border-radius:50%;background:#fff;animation:dot 1s infinite}.fx-dots i:nth-child(2){animation-delay:.15s}.fx-dots i:nth-child(3){animation-delay:.3s}
.fx-spark{color:#fff;font-size:26px;text-shadow:0 0 14px var(--acc);animation:twinkle 1.6s ease-in-out infinite}.fx-spark.s1{left:-6%;top:12%}.fx-spark.s2{right:-5%;top:28%;animation-delay:.5s;font-size:20px}.fx-spark.s3{left:8%;top:-4%;animation-delay:1s;font-size:16px}
.fx-star{left:50%;top:-8%;translate:-50% 0;font-size:34px;color:#ffe27a;text-shadow:0 0 18px #ffb300;animation:twinkle 1.4s ease-in-out infinite}
@keyframes twinkle{50%{transform:scale(1.5) rotate(20deg);opacity:.6}}
.av[data-fx~=blush] .fx-blush,.av[data-fx~=tear] .fx-tear,.av[data-fx~=q] .fx-q,.av[data-fx~=bang] .fx-bang,.av[data-fx~=zzz] .fx-zzz,.av[data-fx~=dots] .fx-dots,.av[data-fx~=spark] .fx-spark,.av[data-fx~=spark2] .fx-spark,.av[data-fx~=star] .fx-star{opacity:1}
.av[data-fx~=tear] .fx-tear{animation:tear 1.8s ease-in infinite}@keyframes tear{0%{transform:translate(-50%,0) scale(.6);opacity:0}20%{opacity:1}100%{transform:translate(-50%,120%) scale(1);opacity:0}}
.b-breathe{animation:bre 4s ease-in-out infinite}@keyframes bre{50%{transform:scale(1.02,.985)}}
.b-bounce{animation:bnc 1.1s ease-in-out infinite}@keyframes bnc{50%{transform:translateY(-6%) scale(.98,1.03)}}
.b-hop{animation:hop .62s cubic-bezier(.3,.8,.4,1) infinite}@keyframes hop{0%,100%{transform:translateY(0) scale(1.04,.94)}45%{transform:translateY(-14%) scale(.94,1.08)}}
.b-tilt{animation:tilt 2.4s ease-in-out infinite}@keyframes tilt{0%,100%{transform:rotate(7deg)}50%{transform:rotate(3deg) translateY(-2%)}}
.b-sway{animation:sway 3s ease-in-out infinite}@keyframes sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
.b-jump{animation:jmp 1.6s cubic-bezier(.3,1.6,.5,1) infinite}@keyframes jmp{0%{transform:scale(1)}12%{transform:translateY(-10%) scale(.93,1.1)}30%,100%{transform:scale(1)}}
.b-droop{animation:drp 3.2s ease-in-out infinite;transform:scale(1.02,.94)}@keyframes drp{50%{transform:scale(1.03,.92) translateY(2%)}}
.b-snooze{animation:snz 4.6s ease-in-out infinite}@keyframes snz{0%,100%{transform:rotate(-2deg) scale(1,.97)}50%{transform:rotate(2deg) scale(1.02,1)}}
.b-proud{animation:prd 2.6s ease-in-out infinite;transform:scale(1.04)}@keyframes prd{50%{transform:scale(1.07) translateY(-3%)}}
.b-wiggle{animation:wig .9s ease-in-out infinite}@keyframes wig{25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}
.lab-cap{display:grid;gap:2px;text-align:center}.lab-cap b{font-size:22px;font-weight:800}.lab-cap span{color:var(--mute);min-height:1.5em}
.lab-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.lab-chip{all:unset;cursor:pointer;min-height:44px;padding:0 16px;display:inline-flex;align-items:center;border-radius:999px;background:var(--glass);border:1px solid var(--line);font-weight:700;font-size:14px;color:var(--mute);transition:transform .2s cubic-bezier(.3,1.6,.5,1),background .2s,color .2s}
.lab-chip:hover{transform:translateY(-2px);color:#fff}.lab-chip.on{background:rgba(255,255,255,.2);color:#fff;border-color:var(--cy)}
.lab-form{display:flex;gap:8px;width:min(480px,100%)}
#labin{flex:1;min-height:48px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.08);color:#fff;padding:0 18px;font:inherit;font-size:16px;backdrop-filter:blur(8px)}
#labin::placeholder{color:var(--dim)}
.lab-send{all:unset;cursor:pointer;min-height:48px;padding:0 22px;border-radius:999px;font-weight:800;color:#06101d;background:linear-gradient(120deg,#3ec6e0,#8f6bff 60%,#ff6fb5);display:inline-flex;align-items:center}
.lab-said{color:var(--mute);min-height:1.4em;font-style:italic}.lab-note{color:var(--dim);font-size:14px;max-width:30em}
@media (prefers-reduced-motion:reduce){.av .body{animation:none!important}}

/* polish: Lenis, progress bar, magnetic CTA, shimmering headline */
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}
#prog{position:fixed;z-index:30;top:0;inset-inline:0;height:3px;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--cy),var(--vi),var(--pk));pointer-events:none}
[dir=rtl] #prog{transform-origin:right}
h1{background-size:220% 100%;animation:shim 9s ease-in-out infinite alternate}
@keyframes shim{to{background-position:100% 0}}
.cta{will-change:transform}
.cta.mag{transition:transform .15s ease-out,box-shadow .25s}
@media (prefers-reduced-motion:reduce){h1{animation:none}#prog{display:none}}

/* Arabic: no letter-spacing (it breaks joined letters); room for Cairo's tall marks so gradient-clipped headings are not cropped */
[dir=rtl] *{letter-spacing:0!important;text-transform:none!important}
[dir=rtl] h1,[dir=rtl] h2{line-height:1.4;padding-block:.14em;font-weight:700}
[dir=rtl] .sub,[dir=rtl] .card .role{line-height:1.7}
[dir=rtl] .cta,[dir=rtl] .chip,[dir=rtl] .eyebrow,[dir=rtl] .bubble{line-height:1.6}
