:root{
  --bg:#06070a; --bg2:#0b0d12; --ink:#eef2f6; --mute:#8b93a1; --dim:#4a505c; --line:rgba(238,242,246,.12);
  --ice:#a9dcff; --glow:#ff5a2e; --glow2:#ffb36b;
  --ar:'Alexandria',system-ui,sans-serif; --disp:'Unbounded','Alexandria',sans-serif; --mono:'JetBrains Mono',ui-monospace,monospace;
  --pad:clamp(16px,4vw,56px); --ease:cubic-bezier(.2,.8,.2,1); --r:18px;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bg);-webkit-text-size-adjust:100%;overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--bg);color:var(--ink);font-family:var(--ar);font-weight:400;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
html[lang=en] body{font-family:'Alexandria',var(--ar)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img{display:block;max-width:100%}
::selection{background:var(--glow);color:#fff}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);direction:ltr;unicode-bidi:isolate}
.tag{margin-bottom:22px}
.kicker{font-size:14px;color:var(--ice);letter-spacing:.02em;display:inline-flex;align-items:center;gap:10px}
.kicker::before{content:"";width:28px;height:1px;background:currentColor}
.h2{font-size:clamp(40px,7vw,104px);font-weight:800;line-height:1.02;letter-spacing:-.02em}
html[lang=en] .h2{font-family:var(--disp);font-weight:700;letter-spacing:-.03em;font-size:clamp(36px,6.2vw,96px)}
.lead{color:var(--mute);font-size:clamp(16px,1.4vw,19px);max-width:52ch;margin-top:20px}
.sec-head{padding:0 var(--pad);margin-bottom:48px}

/* loader */
.loader{position:fixed;inset:0;z-index:100;background:var(--bg);display:grid;place-items:center;padding:var(--pad);transition:clip-path 1.1s var(--ease);clip-path:inset(0 0 0 0)}
.loader.is-out{clip-path:inset(0 0 100% 0)}
.loader__top{position:absolute;top:24px;inset-inline:var(--pad);display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--mute);direction:ltr}
.loader__alt{font-family:var(--disp);font-weight:800;font-size:clamp(64px,16vw,220px);line-height:1;direction:ltr;display:flex;align-items:flex-start;gap:.1em;font-variant-numeric:tabular-nums}
.loader__alt small{font-size:.22em;color:var(--glow);margin-top:.4em}
.loader__bar{position:absolute;bottom:90px;inset-inline:var(--pad);height:1px;background:var(--line)}
.loader__bar i{position:absolute;inset:0;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--ice),var(--glow))}
.loader__word{position:absolute;bottom:28px;inset-inline:var(--pad);display:flex;justify-content:space-between;direction:ltr;font-family:var(--disp);font-weight:700;font-size:13px;letter-spacing:.2em;color:var(--dim)}

/* canvas + grain */
#sky{position:fixed;inset:0;width:100vw;height:100vh;height:100lvh;z-index:0;display:block;transition:opacity 1s var(--ease)}
#sky.is-dim{opacity:.0}
.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{background-position:0 0}20%{background-position:-37px 21px}40%{background-position:23px -41px}60%{background-position:-19px -13px}80%{background-position:41px 33px}100%{background-position:0 0}}
main,footer{position:relative;z-index:2}

/* cursor */
.cursor{position:fixed;inset:0;z-index:95;pointer-events:none;display:none}
@media (hover:hover) and (pointer:fine){.cursor{display:block}body,a,button{cursor:none}}
.cursor__dot,.cursor__ring{position:absolute;top:0;left:0;border-radius:50%;will-change:transform}
.cursor__dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--glow)}
.cursor__ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid rgba(238,242,246,.45);display:grid;place-items:center;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,border-color .35s}
.cursor.is-link .cursor__ring{width:64px;height:64px;margin:-32px 0 0 -32px;border-color:var(--glow)}
.cursor.is-view .cursor__ring{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--glow);border-color:var(--glow)}
.cursor__label{font-size:12px;font-weight:700;color:#fff;opacity:0;transition:opacity .2s}
.cursor.is-view .cursor__label{opacity:1}

/* header */
.hdr{position:fixed;top:0;inset-inline:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px var(--pad);transition:background .4s,backdrop-filter .4s,transform .5s var(--ease)}
.hdr.is-solid{background:rgba(6,7,10,.62);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}
.hdr.is-hide{transform:translateY(-110%)}
.logo{display:flex;align-items:center;gap:10px;direction:ltr;font-family:var(--disp);font-weight:800;font-size:17px;letter-spacing:.18em}
.logo svg{width:34px;height:24px;color:var(--ink)}
.nav{display:flex;gap:30px;font-size:14px}
.nav a{position:relative;color:var(--mute);transition:color .3s}
.nav a::after{content:"";position:absolute;inset-inline:0;bottom:-4px;height:1px;background:var(--glow);transform:scaleX(0);transition:transform .4s var(--ease)}
.nav a:hover{color:var(--ink)}.nav a:hover::after{transform:scaleX(1)}
.hdr__end{display:flex;align-items:center;gap:12px}
.lang{display:flex;border:1px solid var(--line);border-radius:99px;padding:3px;font-size:12px;font-weight:600}
.lang span{padding:5px 10px;border-radius:99px;color:var(--mute);transition:.3s}
html[lang=ar] .lang [data-l=ar],html[lang=en] .lang [data-l=en]{background:var(--ink);color:var(--bg)}
.hdr__alt{position:absolute;bottom:0;inset-inline:0;height:1px}
.hdr__alt i{position:absolute;inset:0;background:linear-gradient(90deg,var(--ice),var(--glow));transform-origin:right;transform:scaleX(0)}
html[dir=ltr] .hdr__alt i{transform-origin:left}

.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 28px;border-radius:99px;background:var(--ink);color:var(--bg);font-weight:600;font-size:15px;overflow:hidden;isolation:isolate;transition:color .4s}
.btn::before{content:"";position:absolute;inset:0;background:var(--glow);border-radius:inherit;transform:translateY(101%);transition:transform .5s var(--ease);z-index:-1}
.btn:hover{color:#fff}.btn:hover::before{transform:none}
.btn--ghost{background:transparent;color:var(--ink);border:1px solid rgba(238,242,246,.3)}
.btn--sm{height:40px;padding:0 18px;font-size:13px}

/* altimeter */
.alti{position:fixed;inset-inline-end:22px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;align-items:center;gap:16px;direction:ltr;pointer-events:none;opacity:0;transition:opacity .6s}
.alti.is-on{opacity:1}
.alti__num{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink);font-variant-numeric:tabular-nums;writing-mode:vertical-rl;transform:rotate(180deg)}
.alti__num small{color:var(--glow);margin-top:4px}
.alti__track{position:relative;width:1px;height:38vh;background:var(--line)}
.alti__track i{position:absolute;bottom:0;left:0;width:1px;height:100%;background:linear-gradient(0deg,var(--ice),var(--glow));transform-origin:bottom;transform:scaleY(0)}
.alti__track em{position:absolute;left:10px;bottom:calc(var(--p)*100%);transform:translateY(50%);font-style:normal;font-family:var(--mono);font-size:9px;letter-spacing:.12em;color:var(--dim);white-space:nowrap}
.alti__track em::before{content:"";position:absolute;left:-13px;top:50%;width:7px;height:1px;background:var(--dim)}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:120px var(--pad) 40px;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,var(--bg));pointer-events:none}
.hero__meta{position:absolute;top:92px;inset-inline:var(--pad);display:flex;justify-content:space-between}
.hero__inner{position:relative;z-index:2;max-width:880px}
.hero__title{font-size:clamp(68px,13.5vw,220px);font-weight:900;line-height:.92;letter-spacing:-.035em;margin:22px 0 26px}
html[lang=en] .hero__title{font-family:var(--disp);font-weight:800;font-size:clamp(54px,10.5vw,180px);letter-spacing:-.05em;line-height:.95}
.ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.ln__i{display:inline-block;will-change:transform}
.hero__accent{background:linear-gradient(100deg,var(--glow2) 0%,var(--glow) 45%,#ff2e63 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__sub{font-size:clamp(16px,1.5vw,20px);color:#c4cad4;max-width:44ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.hero__foot{position:absolute;bottom:28px;inset-inline:var(--pad);z-index:2;display:flex;justify-content:space-between;align-items:flex-end}
.scrollcue{display:flex;align-items:center;gap:14px;font-size:13px;color:var(--mute)}
.scrollcue i{position:relative;width:1px;height:46px;background:var(--line);overflow:hidden}
.scrollcue i::after{content:"";position:absolute;top:-50%;left:0;width:1px;height:50%;background:var(--glow);animation:cue 1.8s var(--ease) infinite}
@keyframes cue{to{top:110%}}
.hero__count{font-size:13px;color:var(--mute)}.hero__count b{font-family:var(--disp);color:var(--ink);font-size:15px;margin-inline-end:4px}
.hero__word{position:absolute;bottom:-.18em;inset-inline:0;text-align:center;direction:ltr;font-family:var(--disp);font-weight:900;font-size:24vw;line-height:1;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(238,242,246,.07);pointer-events:none;user-select:none;z-index:1}

/* manifesto */
.manifesto{position:relative;padding:22vh var(--pad) 18vh;background:linear-gradient(180deg,rgba(6,7,10,0) 0%,rgba(6,7,10,.82) 28%,var(--bg) 62%)}
.manifesto__text{max-width:1400px}
.manifesto__text{font-size:clamp(28px,4.6vw,72px);font-weight:600;line-height:1.28;letter-spacing:-.015em}
.rv-w span.w{display:inline-block;opacity:.12;transition:opacity .2s}
.rv-w span.w.on{opacity:1}
.rv-w .hl{color:var(--glow2)}

/* marquee */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:22px 0;direction:ltr;background:var(--bg)}
.marquee__track{display:flex;gap:56px;width:max-content;animation:mq 60s linear infinite;font-family:var(--disp);font-weight:700;font-size:clamp(22px,3vw,40px);letter-spacing:-.01em;white-space:nowrap}
.marquee__track span{display:inline-flex;align-items:center;gap:56px;color:#d9dee6}
.marquee__track span::after{content:"▲";font-size:.4em;color:var(--glow)}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}

/* work */
.work{padding:20vh 0 12vh;background:var(--bg)}
.filters{display:flex;flex-wrap:wrap;gap:8px;padding:0 var(--pad);margin-bottom:40px}
.chip{height:40px;padding:0 18px;border-radius:99px;border:1px solid var(--line);font-size:14px;color:var(--mute);transition:.3s}
.chip:hover{color:var(--ink);border-color:rgba(238,242,246,.4)}
.chip.is-on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.chip sup{font-family:var(--mono);font-size:9px;margin-inline-start:4px;opacity:.6}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2.4vw,36px);padding:0 var(--pad)}
.card{grid-column:span 4;position:relative;display:block;outline:none;min-width:0}
.card.w7{grid-column:span 7}.card.w5{grid-column:span 5}.card.w6{grid-column:span 6}
.card.is-hidden{display:none}
.card__frame{position:relative;border-radius:var(--r);overflow:hidden;background:var(--bg2);border:1px solid var(--line);transform:translateZ(0);transition:border-color .4s,transform .6s var(--ease)}
.card:hover .card__frame,.card:focus-visible .card__frame{border-color:color-mix(in srgb,var(--c) 70%,transparent)}
.bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:#0f1218;border-bottom:1px solid var(--line);direction:ltr}
.bar i{width:8px;height:8px;border-radius:50%;background:#2a2f39}
.bar span{margin-left:10px;font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card__view{position:relative;aspect-ratio:16/10;overflow:hidden}
.card__view img{position:absolute;top:0;left:0;width:100%;height:auto;transition:transform 1.2s var(--ease)}
.card__view img.long{transition:transform var(--dur,6s) cubic-bezier(.45,.05,.35,1)}
.card:hover .card__view img.long,.card.play .card__view img.long{transform:translateY(var(--ty,0))}
.card:hover .card__view img:not(.long){transform:scale(1.05)}
.card__view::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(6,7,10,.5));pointer-events:none}
.card__phone{position:absolute;inset-inline-end:5%;bottom:-9%;width:20%;min-width:74px;aspect-ratio:9/19.5;border-radius:14px;padding:4px;background:#0a0b0f;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 50px -10px rgba(0,0,0,.8);overflow:hidden;transform:translateY(12%) rotate(-4deg);transition:transform .8s var(--ease);z-index:2}
.card:hover .card__phone{transform:translateY(-4%) rotate(0)}
.card__phone img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:10px}
.card__meta{display:flex;align-items:flex-start;gap:14px;padding:18px 4px 0;padding-inline-end:28%;min-width:0}
.card__name{font-size:clamp(20px,1.9vw,28px);font-weight:700;line-height:1.2}
.card__tag{color:var(--mute);font-size:14px;margin-top:2px}
.card__no{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.1em;white-space:nowrap}
.card__no b{color:var(--c);font-weight:600}
.card__go{position:absolute;top:44px;inset-inline-start:14px;z-index:3;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--bg);font-size:18px;transform:scale(0) rotate(-45deg);transition:transform .5s var(--ease)}
.card:hover .card__go{transform:scale(1) rotate(0)}

/* services */
.services{position:relative;padding:18vh 0 14vh;background:var(--bg)}
.srv{list-style:none;border-top:1px solid var(--line);margin:0 var(--pad)}
.srv__row{position:relative;display:grid;grid-template-columns:70px 1fr 1fr 40px;align-items:center;gap:24px;padding:34px 0;border-bottom:1px solid var(--line);transition:padding .5s var(--ease)}
.srv__row::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,90,46,.08),transparent);opacity:0;transition:opacity .5s}
.srv__row:hover::before{opacity:1}
.srv__row:hover{padding-inline:16px}
.srv__row h3{font-size:clamp(26px,3.4vw,52px);font-weight:700;line-height:1.1;transition:color .4s}
.srv__row:hover h3{color:var(--glow2)}
.srv__row p{color:var(--mute);max-width:46ch}
.srv__arrow{font-size:24px;color:var(--dim);transition:transform .5s var(--ease),color .3s}
.srv__row:hover .srv__arrow{transform:rotate(-45deg);color:var(--glow)}
html[dir=ltr] .srv__row:hover .srv__arrow{transform:rotate(45deg)}
.srv__float{position:fixed;top:0;left:0;z-index:30;width:300px;aspect-ratio:16/10;border-radius:14px;overflow:hidden;pointer-events:none;opacity:0;transform:scale(.6);transition:opacity .35s,transform .45s var(--ease);box-shadow:0 30px 80px -20px rgba(0,0,0,.9)}
.srv__float.on{opacity:1;transform:scale(1)}
.srv__float img{width:100%;height:100%;object-fit:cover;object-position:top}

/* ascent */
.ascent{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;padding:16vh var(--pad);background:linear-gradient(180deg,var(--bg),#090b10 50%,var(--bg))}
.ascent__sticky{position:sticky;top:14vh;align-self:start}
.ridge{width:100%;margin-top:40px;overflow:visible}
.ridge path{fill:none;stroke-linejoin:round;stroke-linecap:round}
.ridge__ghost{stroke:var(--line);stroke-width:1.5;stroke-dasharray:4 6}
.ridge__path{stroke:url(#rg);stroke-width:3}
.ridge__camps circle{fill:var(--bg);stroke:var(--mute);stroke-width:1.5}
.ridge__camps .sum{stroke:var(--glow)}
.ridge__dot{fill:var(--glow);filter:drop-shadow(0 0 10px var(--glow))}
.steps{list-style:none;display:flex;flex-direction:column;gap:18vh;padding:14vh 0 8vh}
.step h3{font-size:clamp(40px,5vw,76px);font-weight:800;line-height:1;margin:14px 0 16px}
.step p{color:var(--mute);font-size:18px;max-width:38ch}
.step .mono{color:var(--glow)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);background:var(--bg)}
.stat{padding:56px var(--pad) 48px;border-inline-start:1px solid var(--line)}
.stat:first-child{border-inline-start:0}
.stat b{display:block;font-family:var(--disp);font-weight:700;font-size:clamp(40px,5vw,78px);line-height:1;letter-spacing:-.04em;direction:ltr;text-align:start;font-variant-numeric:tabular-nums}
html[dir=rtl] .stat b{text-align:right}
.stat span{display:block;color:var(--mute);margin-top:14px;font-size:15px}

/* contact */
.contact::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,rgba(6,7,10,.1) 28%,rgba(6,7,10,.2) 72%,var(--bg) 100%),radial-gradient(ellipse at 85% 35%,rgba(6,7,10,.7),transparent 55%);pointer-events:none}
.contact>*{position:relative}
.contact{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:18vh var(--pad);overflow:hidden}
.contact__title{font-size:clamp(56px,11vw,190px);font-weight:900;line-height:.98;letter-spacing:-.035em;margin:14px 0 6px}
html[lang=en] .contact__title{font-family:var(--disp);font-weight:800;font-size:clamp(44px,8.6vw,150px);letter-spacing:-.05em}
.orb{position:relative;margin-top:56px;width:clamp(180px,20vw,240px);aspect-ratio:1;border-radius:50%;background:var(--glow);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;font-weight:700;font-size:16px;padding:20px;box-shadow:0 0 0 0 rgba(255,90,46,.5);animation:pulse 2.6s infinite;transition:background .4s}
.orb:hover{background:#ff3d1a}
.orb svg{width:30px;height:30px}
.orb small{font-family:var(--mono);font-weight:400;font-size:11px;opacity:.85;direction:ltr}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,90,46,.45)}70%{box-shadow:0 0 0 34px rgba(255,90,46,0)}100%{box-shadow:0 0 0 0 rgba(255,90,46,0)}}

/* footer */
.ftr{padding:0 var(--pad) 28px;background:var(--bg);overflow:hidden}
.ftr__word{display:flex;justify-content:space-between;direction:ltr;font-family:var(--disp);font-weight:900;font-size:clamp(70px,19.5vw,360px);line-height:.85;letter-spacing:-.04em;padding-top:6vh}
.ftr__word b{display:inline-block;background:linear-gradient(180deg,var(--ink) 30%,rgba(238,242,246,.08));-webkit-background-clip:text;background-clip:text;color:transparent}
.ftr__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:28px;margin-top:20px;border-top:1px solid var(--line);font-size:14px;color:var(--mute)}
.ftr__row a:hover{color:var(--glow)}

/* case viewer */
.case{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-end}
.case[hidden]{display:none}
.case__bg{position:absolute;inset:0;background:rgba(3,4,6,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .5s}
.case.is-open .case__bg{opacity:1}
.case__panel{position:relative;width:100%;height:94vh;height:94dvh;background:var(--bg2);border-radius:26px 26px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .8s var(--ease)}
.case.is-open .case__panel{transform:none}
.case__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:26px var(--pad) 18px}
.case__head h3{font-size:clamp(30px,4vw,58px);font-weight:800;line-height:1.05;margin-top:6px}
.case__tag{color:var(--mute);margin-top:6px}
.case__nav{display:flex;gap:8px}
.case__btn{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:17px;transition:.3s}
.case__btn:hover{background:var(--ink);color:var(--bg)}
.case__body{flex:1;min-height:0;display:grid;grid-template-columns:1fr 330px;gap:28px;padding:0 var(--pad) 26px}
.case__desk{min-height:0;display:flex;flex-direction:column;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#000}
.case__scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.case__scroll img{width:100%;height:auto}
.case__side{display:flex;flex-direction:column;gap:22px;min-height:0}
.case__desc{color:#c4cad4;font-size:16px}
.phone{flex:1;min-height:0;display:flex;justify-content:center}
.phone__screen{height:100%;max-height:600px;aspect-ratio:9/19.5;border-radius:34px;padding:7px;background:#0a0b0f;border:1px solid rgba(255,255,255,.16);box-shadow:0 30px 60px -20px rgba(0,0,0,.9)}
.phone__screen img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:27px}

/* reveal */
.rv{opacity:0;transform:translateY(30px)}

@media (max-width:1100px){
  .card.w7,.card.w5,.card.w6,.card{grid-column:span 6}
  .srv__row{grid-template-columns:50px 1fr 30px}.srv__row p{grid-column:2/3}
  .stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-inline-start:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}
  .alti{display:none}
}
@media (max-width:760px){
  .nav{display:none}
  .hdr{padding:14px var(--pad)}
  .hdr__end .btn{display:none}
  .hero{padding-top:110px;justify-content:flex-end;padding-bottom:120px}
  .hero__meta{top:76px}.hero__meta span:last-child{display:none}
  .hero__title{font-size:clamp(64px,22vw,120px)}
  html[lang=en] .hero__title{font-size:clamp(50px,16vw,90px)}
  .hero__cta .btn{flex:1}
  .hero__foot{bottom:22px}
  .hero__word{font-size:30vw}
  .manifesto{padding:16vh var(--pad) 14vh}
  .grid{gap:42px}
  .card.w7,.card.w5,.card.w6,.card{grid-column:1/-1}
  .card__phone{width:24%}
  .srv__row{grid-template-columns:36px 1fr;gap:6px 14px;padding:26px 0}
  .srv__row p{grid-column:2/3;font-size:15px}
  .srv__arrow{display:none}
  .ascent{grid-template-columns:1fr;gap:0;padding:12vh var(--pad)}
  .ascent__sticky{position:sticky;top:64px;background:linear-gradient(var(--bg) 80%,transparent);padding:10px 0 20px;z-index:3}
  .ascent__sticky .h2{font-size:40px}
  .ridge{margin-top:12px;max-height:140px}
  .steps{gap:12vh;padding:6vh 0}
  .stat{padding:38px var(--pad) 32px}
  .stat b{font-size:40px}
  .stat span{font-size:13px}
  .case__panel{height:96dvh;border-radius:20px 20px 0 0}
  .case__head{padding:18px var(--pad) 12px}
  .case__body{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:16px;overflow-y:auto}
  .case__side{order:-1}
  .case__desk{display:none}
  .phone__screen{height:auto;width:min(78vw,320px);max-height:none}
  .case__btn{width:42px;height:42px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .rv{opacity:1;transform:none}.rv-w span.w{opacity:1}
}
.bar .card__no{margin-left:auto;overflow:visible}
/* Arabic shaping: never letter-space joined script */
html[lang=ar] .hero__title,html[lang=ar] .h2,html[lang=ar] .contact__title,html[lang=ar] .manifesto__text,html[lang=ar] .step h3,html[lang=ar] .srv__row h3,html[lang=ar] .card__name,html[lang=ar] .case__head h3,html[lang=ar] .kicker,html[lang=ar] .btn{letter-spacing:0}
html[dir=ltr] #casePrev,html[dir=ltr] #caseNext{transform:scaleX(-1)}

.bar span{min-width:0}
.card__frame,.card__media{max-width:100%}
.srv__row{grid-template-columns:70px 1fr 40px}
.step h3{margin-bottom:0}
.steps{gap:14vh}
@media (max-width:1100px){.srv__row{grid-template-columns:50px 1fr 30px}}
@media (max-width:760px){
  .srv__row{grid-template-columns:36px 1fr;padding:22px 0}
  .card__phone{width:26%;bottom:-10%}
  .card__meta{padding-inline-end:32%}
  .steps{gap:9vh}
}
@media (max-width:760px){.grid{grid-template-columns:minmax(0,1fr)}.card.w7,.card.w5,.card.w6,.card{grid-column:auto}}
@media (min-width:761px) and (max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card.w7,.card.w5,.card.w6,.card{grid-column:auto}}

/* --- text fixes: no clipping, no overlap --- */
.ln{overflow:hidden;padding:.22em 0 .2em;margin:-.22em 0 -.2em}
html[lang=ar] .hero__title{line-height:1.2}
html[lang=ar] .contact__title{line-height:1.22}
html[lang=ar] .h2{line-height:1.2}
html[lang=ar] .step h3{line-height:1.25}
.hero__word{display:none}
.hdr.is-solid{background:rgba(6,7,10,.94)}
.alti{inset-inline-end:auto;left:18px}
html[dir=ltr] .alti{left:auto;right:18px}
@media (max-width:760px){
  .ascent__sticky{position:relative;top:auto;background:none;padding:0}
  .ridge{max-height:160px}
  .hero__title{margin:14px 0 18px}
}
.hero__accent{padding:.3em .04em .12em;margin:-.3em -.04em -.12em}
