/* ==========================================================================
   Tia Production House: design system "Editorial Cinema"
   Palette: ink, paper and one brand red. Type: grotesque display, Plex body, mono labels.
   Layout: 12-column grid, generous space, strong scale contrast, frame/timecode vocabulary.
   ========================================================================== */
:root{
  --ink:#0d0d10;--ink2:#17171c;--ink3:#222228;--paper:#f4f2ee;--paper2:#e9e6df;--white:#fff;
  --acc:#e8212e;--acc-d:#b9111c;
  --mute-l:#66635d;--mute-d:#a29f97;--line-l:rgba(13,13,16,.16);--line-d:rgba(255,255,255,.16);
  --f-body:'IBM Plex Sans Arabic','IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-disp:'Bricolage Grotesque','IBM Plex Sans Arabic',system-ui,sans-serif;
  --f-mono:'IBM Plex Mono','IBM Plex Sans Arabic',ui-monospace,Menlo,monospace;
  --A:#f4f2ee;--Afg:#0d0d10;--Am:#66635d;--Al:rgba(13,13,16,.16);--Ac:#fff;--hdr:rgba(244,242,238,.96);--hfg:#0d0d10;--hmute:#4a4842;--hline:rgba(13,13,16,.14);
  --B0:#0d0d10;
  --r:18px;--pad:clamp(20px,4.4vw,64px);--sec:clamp(88px,11vw,176px);--ease:cubic-bezier(.2,.7,.2,1);
}
[data-theme=dark]{--A:#131317;--Afg:#f4f2ee;--Am:#a29f97;--Al:rgba(255,255,255,.14);--Ac:#1d1d23;--hdr:rgba(13,13,16,.94);--hfg:#f4f2ee;--hmute:#cfccc4;--hline:rgba(255,255,255,.14)}
.t-paper{--bg:var(--A);--fg:var(--Afg);--mute:var(--Am);--line:var(--Al);--card:var(--Ac)}
.t-ink{--bg:var(--ink);--fg:#f4f2ee;--mute:var(--mute-d);--line:var(--line-d);--card:var(--ink2)}
.t-red{--bg:var(--acc);--fg:#fff;--mute:rgba(255,255,255,.84);--line:rgba(255,255,255,.4);--card:rgba(0,0,0,.14)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:#f4f2ee;font-family:var(--f-body);font-weight:400;font-size:17px;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
::selection{background:var(--acc);color:#fff}
.hidden{display:none!important}
.wrap{width:100%;max-width:1360px;margin-inline:auto;padding-inline:var(--pad)}
.s{background:var(--bg);color:var(--fg);padding-block:var(--sec);position:relative}
.s+.s.t-paper,.s.t-paper+.s.t-paper{border-top:1px solid var(--line)}
.mute{color:var(--mute)}
/* ---------- type ---------- */
.disp{font-family:var(--f-disp);font-weight:800;line-height:.94;letter-spacing:-.04em;text-wrap:balance}
[dir=rtl] .disp{font-family:var(--f-body);font-weight:700;line-height:1.2;letter-spacing:0}
.h-xl{font-size:clamp(54px,10.6vw,178px)}
.h-l{font-size:clamp(38px,6.2vw,104px)}
.h-m{font-size:clamp(28px,3.9vw,62px);line-height:1.08;letter-spacing:-.03em;font-weight:700}
[dir=rtl] .h-xl{font-size:clamp(44px,8.4vw,140px)}[dir=rtl] .h-l{font-size:clamp(34px,5.2vw,86px)}[dir=rtl] .h-m{font-size:clamp(26px,3.4vw,52px);line-height:1.35}
.disp em{font-style:normal;color:var(--acc)}
.t-red .disp em{color:var(--ink)}
.lead{font-size:clamp(18px,1.7vw,24px);line-height:1.55;max-width:46ch;font-weight:400}
.lbl{display:inline-flex;align-items:center;gap:14px;font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:26px;font-weight:500}
.lbl i{font-style:normal;color:var(--acc);padding-inline-end:14px;border-inline-end:1px solid var(--line)}
.t-red .lbl i{color:#fff}
[dir=rtl] .lbl{letter-spacing:0;font-size:14px}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase}[dir=rtl] .mono{letter-spacing:0;font-size:13px}
/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 28px;border-radius:999px;background:var(--fg);color:var(--bg);font-weight:600;font-size:15px;letter-spacing:.01em;border:1.5px solid var(--fg);transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .25s ease-out;white-space:nowrap}
.btn:hover{background:var(--acc);border-color:var(--acc);color:#fff}
.btn.ghost{background:transparent;color:var(--fg)}
.btn.ghost:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.btn.acc{background:var(--acc);border-color:var(--acc);color:#fff}
.btn.acc:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.t-red .btn:not(.ghost):hover{background:#fff;color:var(--acc)}
.btn.sm{height:42px;padding:0 20px;font-size:14px}
.btn::after{content:"\2192";font-size:18px;line-height:1;transition:transform .3s var(--ease)}
.btn:hover::after{transform:translateX(4px)}
[dir=rtl] .btn::after{content:"\2190"}[dir=rtl] .btn:hover::after{transform:translateX(-4px)}
.btn:disabled{opacity:.6}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:clamp(28px,3.4vw,44px)}
/* ---------- header ---------- */
header.top{position:sticky;top:0;z-index:60;background:var(--hdr);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--hline);color:var(--hfg);transition:background .4s,color .4s}
.nav{height:76px;display:flex;align-items:center;gap:32px}
.logo img{height:46px;width:auto}
.links{display:flex;gap:2px;margin-inline:auto}
.links a{position:relative;padding:10px 15px;font-size:15px;font-weight:500;color:var(--hmute);transition:color .25s}
.links a::after{content:"";position:absolute;inset-inline:15px;bottom:4px;height:2px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
[dir=rtl] .links a::after{transform-origin:right}
.links a:hover{color:var(--hfg)}.links a.on{color:var(--hfg)}.links a:hover::after,.links a.on::after{transform:scaleX(1)}
.tools{display:flex;align-items:center;gap:14px}
.lang{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;border:1px solid var(--hline);border-radius:999px;padding:8px 14px;color:var(--hmute)}
.lang:hover{border-color:var(--hfg);color:var(--hfg)}
.menu{display:none;width:44px;height:44px;border:1px solid var(--hline);border-radius:50%;place-items:center;align-content:center;gap:5px}
.menu i{display:block;width:18px;height:2px;background:var(--hfg);transition:transform .3s}
.menu.open i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu.open i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
@media(max-width:1080px){
  .links{display:none;position:absolute;top:76px;inset-inline:0;background:var(--A);flex-direction:column;padding:10px var(--pad) 24px;border-bottom:1px solid var(--hline);margin:0}
  .links.open{display:flex}.links a{padding:16px 0;font-size:22px;border-bottom:1px solid var(--hline)}.links a::after{display:none}
  .menu{display:grid}.tools .btn{display:none}.nav{gap:12px}.tools{margin-inline-start:auto}
}
/* ---------- pages ---------- */
.page{display:none}.page.on{display:block;animation:pin .6s var(--ease)}
@keyframes pin{from{opacity:.01}to{opacity:1}}
.phead{padding-block:clamp(72px,9vw,150px) clamp(60px,8vw,120px)}
.phead .h-xl{margin-top:4px}
.shead{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:clamp(44px,6vw,90px)}
.shead .h-l{max-width:14ch}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,6vw,110px);align-items:start}
.split{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(24px,5vw,80px)}
.split2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,6vw,110px);align-items:center}
@media(max-width:860px){.two,.split,.split2{grid-template-columns:1fr}}
/* ---------- hero ---------- */
.hero{padding-block:clamp(48px,6vw,96px) clamp(80px,9vw,130px);overflow:hidden;position:relative}
.hero .rings{position:absolute;inset-inline-end:-8%;top:-30%;width:min(95vw,1100px);aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 30px,rgba(13,13,16,.09) 30px 31px);-webkit-mask:radial-gradient(circle,#000 30%,transparent 70%);mask:radial-gradient(circle,#000 30%,transparent 70%);pointer-events:none}
.hgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(30px,4vw,70px);align-items:center;position:relative}
@media(max-width:960px){.hgrid{grid-template-columns:1fr}}
.hcopy .lbl{margin-bottom:34px}
.hcopy h1{margin-bottom:clamp(24px,3vw,40px)}
.hcopy .lead{max-width:40ch}
.frames{position:relative;height:clamp(440px,44vw,700px);isolation:isolate}
.frames::before{content:"";position:absolute;z-index:-1;inset-inline-end:-6%;top:10%;width:80%;aspect-ratio:1;border-radius:50%;background:var(--acc)}
@media(max-width:960px){.frames{height:clamp(380px,100vw,560px);max-width:560px;margin-inline:auto;width:100%}}
.frame{position:absolute;width:47%;aspect-ratio:9/16;border-radius:20px;overflow:hidden;background:var(--ink);color:#fff;box-shadow:0 40px 70px -24px rgba(13,13,16,.55),0 0 0 1px rgba(255,255,255,.08) inset;transition:transform .6s var(--ease);will-change:transform;text-align:start;display:block}
.frame .still,.frame img,.frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.frame.f1{inset-inline-start:0;top:9%;transform:rotate(-6deg);animation:fl1 7s ease-in-out infinite}
.frame.f2{inset-inline-start:27%;top:0;z-index:2;animation:fl2 8s ease-in-out infinite}
.frame.f3{inset-inline-end:0;top:15%;transform:rotate(6deg);animation:fl3 9s ease-in-out infinite}
.frame:hover{transform:scale(1.04) rotate(0)!important;z-index:5}
@keyframes fl1{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-12px)}}
@keyframes fl2{0%,100%{transform:translateY(0)}50%{transform:translateY(10px)}}
@keyframes fl3{0%,100%{transform:rotate(6deg) translateY(0)}50%{transform:rotate(6deg) translateY(-9px)}}
.frame .ft{position:absolute;inset-inline:12px;top:12px;display:flex;justify-content:space-between;align-items:center;z-index:2;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em}
.frame .rec{display:inline-flex;align-items:center;gap:6px;background:rgba(13,13,16,.62);padding:4px 9px;border-radius:99px;backdrop-filter:blur(6px)}
.frame .rec b{width:7px;height:7px;border-radius:50%;background:var(--acc);animation:blink 1.1s steps(1) infinite}
.frame .tc{background:rgba(13,13,16,.62);padding:4px 9px;border-radius:99px;backdrop-filter:blur(6px)}
@keyframes blink{50%{opacity:0}}
.frame .fb{position:absolute;inset-inline:0;bottom:0;padding:46px 16px 16px;background:linear-gradient(transparent,rgba(13,13,16,.88));z-index:2}
.frame .fb b{display:block;font-size:15px;line-height:1.3;font-weight:600}
.frame .fb span{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;opacity:.75;text-transform:uppercase}
.frame .play{position:absolute;inset:0;display:grid;place-items:center;z-index:1}
.frame .play i{width:58px;height:58px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:grid;place-items:center;font-style:normal;font-size:16px;transition:transform .3s var(--ease)}
.frame:hover .play i{transform:scale(1.14)}
.scrollhint{position:absolute;inset-inline-start:var(--pad);bottom:28px;display:flex;align-items:center;gap:14px;color:var(--mute)}
.scrollhint i{display:block;width:1px;height:46px;background:linear-gradient(var(--ink),transparent);animation:sh 2s ease-in-out infinite;transform-origin:top}
@keyframes sh{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@media(max-width:960px){.scrollhint{display:none}}
.band{background:var(--acc);color:#fff;overflow:hidden;white-space:nowrap;padding-block:20px;border-block:0}
.band>div{display:inline-block;animation:slide 60s linear infinite}
.band{direction:ltr}
.band span{font-family:var(--f-disp);font-weight:800;font-size:clamp(24px,3.2vw,46px);letter-spacing:-.02em;margin-inline:26px;text-transform:uppercase}
[dir=rtl] .band span{font-family:var(--f-body);font-weight:700;text-transform:none;letter-spacing:0}
.band i{font-style:normal;color:var(--ink)}
@keyframes slide{to{transform:translateX(-50%)}}
/* ---------- philosophy + stats ---------- */
.stm{max-width:28ch}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(64px,9vw,140px)}
@media(max-width:860px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}}
.stats>div{padding-top:24px;padding-inline-end:20px;border-top:1.5px solid var(--fg)}
.stats b{font-family:var(--f-disp);font-weight:800;font-size:clamp(50px,6.8vw,118px);line-height:.95;letter-spacing:-.05em;display:block;font-variant-numeric:tabular-nums}
[dir=rtl] .stats b{font-family:var(--f-body);font-weight:700;letter-spacing:0}
.stats b em,[data-n] em{font-style:normal;color:var(--acc)}
[data-n]{direction:ltr;unicode-bidi:isolate;display:inline-block}
.stats>div>span{display:block;margin-top:14px;font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
[dir=rtl] .stats>div>span{letter-spacing:0;font-size:14px}
/* ---------- services ---------- */
.pils{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:960px){.pils{grid-template-columns:1fr}}
.pil{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:46px;min-height:clamp(300px,30vw,440px);padding:clamp(24px,2.4vw,36px);border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden;transition:background .5s var(--ease),border-color .5s,transform .5s var(--ease),color .3s}
.pil::before{content:"";position:absolute;inset-inline-end:-30%;bottom:-40%;width:90%;aspect-ratio:1;border-radius:50%;border:1px solid var(--line);box-shadow:0 0 0 24px transparent,0 0 0 25px var(--line),0 0 0 54px transparent,0 0 0 55px var(--line);transition:transform .8s var(--ease)}
.pil:hover{background:var(--acc);border-color:var(--acc);color:#fff;transform:translateY(-8px)}
.pil:hover::before{transform:scale(1.2);border-color:rgba(255,255,255,.4);box-shadow:0 0 0 24px transparent,0 0 0 25px rgba(255,255,255,.35),0 0 0 54px transparent,0 0 0 55px rgba(255,255,255,.25)}
.pil .pt{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-mono);font-size:12px;letter-spacing:.14em}
.pil .pt b{font-weight:500;border:1px solid currentColor;border-radius:99px;padding:3px 12px;opacity:.85}
[dir=rtl] .pil .pt{letter-spacing:0;font-size:14px}
.pil h3{font-family:var(--f-disp);font-weight:800;font-size:clamp(34px,3.6vw,56px);line-height:1;letter-spacing:-.035em;margin-bottom:14px;position:relative}
[dir=rtl] .pil h3{font-family:var(--f-body);font-weight:700;letter-spacing:0;line-height:1.2}
.pil p{color:var(--mute);position:relative;max-width:34ch}
.pil:hover p{color:rgba(255,255,255,.9)}
.pil .go{position:absolute;inset-inline-end:clamp(24px,2.4vw,36px);bottom:clamp(24px,2.4vw,36px);width:52px;height:52px;border-radius:50%;border:1.5px solid currentColor;display:grid;place-items:center;font-size:20px;transform:rotate(-45deg);transition:transform .5s var(--ease),background .3s,color .3s}
.pil{padding-bottom:clamp(90px,8vw,110px)}
[dir=rtl] .pil .go{transform:rotate(225deg) scaleX(-1)}
.pil:hover .go{background:#fff;color:var(--acc);transform:rotate(0)}
[dir=rtl] .pil:hover .go{transform:scaleX(-1)}
.svc{border-top:1px solid var(--line);margin-top:clamp(50px,7vw,100px)}
.svc .row{display:grid;grid-template-columns:90px minmax(0,1.2fr) minmax(0,1.5fr) 44px;gap:24px;align-items:center;padding:clamp(24px,2.6vw,38px) 0;border-bottom:1px solid var(--line);transition:padding .5s var(--ease),background .4s}
.svc .row:hover{padding-inline:20px;background:var(--card)}
.svc .n{font-family:var(--f-mono);font-size:13px;color:var(--acc);letter-spacing:.1em}
.svc h3{font-family:var(--f-disp);font-weight:700;font-size:clamp(26px,3.3vw,50px);line-height:1.05;letter-spacing:-.03em;transition:color .3s}
[dir=rtl] .svc h3{font-family:var(--f-body);letter-spacing:0;line-height:1.25}
.svc .row:hover h3{color:var(--acc)}
.svc p{color:var(--mute);font-size:16px;max-width:46ch}
.svc .ar{font-size:24px;transition:transform .4s var(--ease);color:var(--acc)}
[dir=rtl] .svc .ar{transform:scaleX(-1)}
.svc .row:hover .ar{transform:translateX(8px)}[dir=rtl] .svc .row:hover .ar{transform:scaleX(-1) translateX(8px)}
@media(max-width:760px){.svc .row{grid-template-columns:44px 1fr}.svc p,.svc .ar{display:none}.svc .row:hover{padding-inline:0}}
/* ---------- quote ---------- */
.qwrap{position:relative}
.qm{position:absolute;inset-inline-start:var(--pad);top:-.2em;font-family:var(--f-disp);font-weight:800;font-size:clamp(180px,26vw,420px);line-height:1;color:rgba(13,13,16,.16);pointer-events:none}
.qt{position:relative;font-size:clamp(30px,5.2vw,86px);line-height:1.04;letter-spacing:-.035em;font-weight:700;max-width:22ch;text-wrap:balance}
[dir=rtl] .qt{font-size:clamp(28px,4.4vw,72px);line-height:1.3;letter-spacing:0}
.qc{margin:36px 0 0}
/* ---------- reels ---------- */
.rnav{display:flex;gap:10px}
.rnav button{width:54px;height:54px;border:1.5px solid var(--fg);border-radius:50%;font-size:20px;transition:background .3s,color .3s}
[dir=rtl] .rnav button{transform:scaleX(-1)}
.rnav button:hover{background:var(--acc);border-color:var(--acc);color:#fff}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:22px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.clip{position:relative;display:block;text-align:start;aspect-ratio:9/16;border-radius:var(--r);overflow:hidden;background:var(--ink);color:#fff;scroll-snap-align:start;transition:transform .5s var(--ease)}
.rail{gap:clamp(14px,2vw,30px)}.rail .clip{flex:0 0 calc((100% - 2*clamp(14px,2vw,30px))/3)}
@media(max-width:700px){.rail .clip{flex-basis:62%}}
.clip .still,.clip img,.clip video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.clip:hover{transform:translateY(-8px)}.clip:hover .still,.clip:hover img,.clip:hover video{transform:scale(1.06)}
.clip .ct{position:absolute;inset-inline:12px;top:12px;display:flex;justify-content:space-between;z-index:2;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em}
.clip .ct span{background:rgba(13,13,16,.62);padding:4px 10px;border-radius:99px;backdrop-filter:blur(6px)}
.clip .cb{position:absolute;inset-inline:0;bottom:0;padding:70px 16px 16px;background:linear-gradient(transparent,rgba(13,13,16,.9));z-index:2}
.clip .cb b{display:block;font-size:17px;font-weight:600;line-height:1.3}
.clip .pl{position:absolute;inset:0;display:grid;place-items:center;z-index:1;opacity:0;transition:opacity .35s}
.clip:hover .pl{opacity:1}
.clip .pl i{width:64px;height:64px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-style:normal;font-size:16px}
.rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,34px)}
@media(max-width:700px){.rgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.rgrid.wide{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
@media(max-width:700px){.rgrid.wide{grid-template-columns:1fr}}
.more{margin-top:clamp(34px,4vw,56px);display:flex;justify-content:center}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:clamp(34px,4vw,56px)}
.chip{border:1.5px solid var(--line);border-radius:99px;padding:9px 20px;font-size:14px;font-weight:500;transition:background .3s,color .3s,border-color .3s}
.chip:hover{border-color:var(--fg)}.chip.on{background:var(--acc);border-color:var(--acc);color:#fff}
.empty{color:var(--mute);font-size:20px;padding:30px 0}
/* ---------- photos 4:5 ---------- */
.phg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.2vw,34px)}
@media(max-width:700px){.phg{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.shot{position:relative;display:block;text-align:start;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--ink2);transition:transform .5s var(--ease)}
.shot .still,.shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.shot:hover{transform:translateY(-6px)}.shot:hover .still,.shot:hover img{transform:scale(1.06)}
.shot .cap{position:absolute;inset-inline:0;bottom:0;padding:50px 14px 14px;background:linear-gradient(transparent,rgba(13,13,16,.85));font-size:14px;color:#fff;opacity:0;transition:opacity .35s}
.shot:hover .cap{opacity:1}
.phg.stag .shot:nth-child(even){margin-top:clamp(24px,4vw,64px)}
/* ---------- process ---------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;border-top:1.5px solid var(--line)}
.steps::before{content:"";position:absolute;inset-inline-start:0;top:-1.5px;height:3px;width:0;background:var(--acc);transition:width 1.8s var(--ease) .2s}
.steps.in::before{width:100%}
@media(max-width:860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.step{padding:30px 26px 6px 0;position:relative}
[dir=rtl] .step{padding:30px 0 6px 26px}
.step b{display:block;font-family:var(--f-mono);font-weight:500;font-size:13px;color:var(--acc);letter-spacing:.14em;margin-bottom:34px}
.step h3{font-family:var(--f-disp);font-weight:700;font-size:clamp(24px,2.6vw,38px);letter-spacing:-.03em;line-height:1.05;margin-bottom:12px}
[dir=rtl] .step h3{font-family:var(--f-body);letter-spacing:0}
.step p{color:var(--mute);font-size:16px;max-width:30ch}
/* ---------- team teaser ---------- */
.drow{display:flex;justify-content:space-between;align-items:center;padding:clamp(18px,2vw,28px) 0;border-bottom:1px solid var(--line);font-family:var(--f-disp);font-weight:700;font-size:clamp(26px,3.4vw,52px);letter-spacing:-.03em;line-height:1.1;transition:padding .4s var(--ease),color .3s}
[dir=rtl] .drow{font-family:var(--f-body);letter-spacing:0}
.drow:first-child{border-top:1px solid var(--line)}
.drow span{font-family:var(--f-mono);font-size:14px;color:var(--mute);letter-spacing:.1em}
.drow:hover{padding-inline:18px;color:var(--acc)}
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.cgrid a,.cgrid .cl{display:block;aspect-ratio:3/2;border-radius:14px;overflow:hidden;background:var(--ink)}
.cgrid img{width:100%;height:100%;object-fit:cover}
/* ---------- CTA + footer ---------- */
.cta-s .h-xl{max-width:11ch}
[dir=rtl] .cta-s .h-xl{max-width:12ch}
.wa{position:fixed;inset-inline-end:22px;bottom:22px;z-index:55;display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border:1px solid var(--line-d);border-radius:99px;padding:12px 20px;font-size:14px;font-weight:600;box-shadow:0 14px 40px rgba(0,0,0,.4);transition:background .3s}
.wa .dot{width:9px;height:9px;border-radius:50%;background:#34d27b}
.wa:hover{background:var(--acc)}
/* ---------- about ---------- */
.founder{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(30px,6vw,110px);align-items:start}
@media(max-width:860px){.founder{grid-template-columns:1fr}}
.fph{position:relative;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--ink2);border:1px solid var(--line)}
.fph img{width:100%;height:100%;object-fit:cover}
.fph .mono-m{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--f-disp);font-weight:800;font-size:clamp(100px,16vw,240px);color:var(--acc);letter-spacing:-.05em}
.frole{color:var(--acc);margin-bottom:34px}
.prose p{margin-bottom:22px;color:var(--mute);max-width:62ch;font-size:18px}
.prose.big p{color:#fff;font-size:clamp(19px,1.8vw,26px);line-height:1.5;max-width:44ch}
.prose.big p:first-child{font-family:var(--f-disp);font-weight:700;font-size:clamp(26px,3.2vw,50px);line-height:1.08;letter-spacing:-.03em}
[dir=rtl] .prose.big p:first-child{font-family:var(--f-body);line-height:1.3;letter-spacing:0}
/* ---------- team page ---------- */
.tstats{display:flex;gap:clamp(30px,7vw,110px);flex-wrap:wrap;margin-top:clamp(40px,5vw,70px)}
.tstats>span{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);border-top:1.5px solid var(--fg);padding-top:16px;min-width:140px}
[dir=rtl] .tstats>span{letter-spacing:0;font-size:14px}
.tstats b{display:block;font-family:var(--f-disp);font-weight:800;font-size:clamp(50px,6vw,96px);line-height:1;letter-spacing:-.05em;color:var(--fg);margin-bottom:8px}
[dir=rtl] .tstats b{font-family:var(--f-body);letter-spacing:0}
.dnav{position:sticky;top:76px;z-index:30;background:var(--B0);border-bottom:1px solid var(--line-d)}
.dnav .wrap{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding-block:14px}
.dnav .chip{padding:8px 18px;border-color:transparent;color:#cfccc4}
.dnav .chip.on,.dnav .chip:hover{background:var(--acc);color:#fff}
.dnav .search{margin-inline-start:auto;width:240px;background:transparent;border:0;border-bottom:1.5px solid var(--line-d);color:#fff;padding:8px 2px;font:inherit;font-size:15px}
.dnav .search::placeholder{color:var(--mute-d)}
.dnav .search:focus{outline:0;border-color:var(--acc)}
.dep{padding-block:clamp(70px,9vw,140px)}
.dep .dgrid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,5vw,90px)}
@media(max-width:900px){.dep .dgrid{grid-template-columns:1fr}}
.dep .dinfo{position:sticky;top:150px;align-self:start}
@media(max-width:900px){.dep .dinfo{position:static}}
.dep .dno{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;color:var(--acc);margin-bottom:22px}
.dep h2{margin-bottom:18px}
.dep .dtag{color:var(--mute);max-width:30ch;margin-bottom:26px}
.dep .dcnt{font-family:var(--f-mono);font-size:13px;letter-spacing:.12em;border:1px solid var(--line);border-radius:99px;display:inline-block;padding:6px 16px}
.mgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,30px) clamp(14px,1.6vw,22px)}
@media(max-width:1100px){.mgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mem{cursor:pointer;display:block;text-align:start;transition:transform .35s var(--ease)}
.mem .ph{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--ink2)}
.mem .ph img,.mem .ph svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.mem .ph::after{content:"\2197";position:absolute;inset-inline-end:12px;top:12px;width:40px;height:40px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-size:18px;opacity:0;transform:scale(.6);transition:opacity .3s,transform .4s var(--ease)}
.mem:hover .ph::after{opacity:1;transform:none}
.mem:hover .ph img,.mem:hover .ph svg{transform:scale(1.07)}
.mem .hd{position:absolute;inset-inline-start:10px;top:10px;z-index:2;background:var(--acc);color:#fff;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:99px}
.mem .lab{padding-top:14px}
.mem .lab b{display:block;font-size:19px;font-weight:700;line-height:1.25;letter-spacing:-.01em}
.mem .lab span{display:block;color:var(--mute);font-size:14px;margin-top:2px}
@media(hover:hover){.mgrid:hover .mem:not(:hover){opacity:.45}}
/* ---------- contact + forms ---------- */
.cinfo{display:grid;gap:0}
.cinfo>div{padding:22px 0;border-top:1px solid var(--line);font-size:clamp(20px,2vw,28px);font-weight:500}
.cinfo>div:last-child{border-bottom:1px solid var(--line)}
.cinfo small{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:6px;font-weight:500}
[dir=rtl] .cinfo small{letter-spacing:0;font-size:13px}
.cinfo a:hover{color:var(--acc)}
.soc{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.soc a{border:1.5px solid var(--line);padding:6px 18px;border-radius:99px;font-size:14px;font-weight:500}
.soc a:hover{background:var(--acc);border-color:var(--acc);color:#fff}
.fld{margin-bottom:26px}
label{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
[dir=rtl] label{letter-spacing:0;font-size:14px}
input,select,textarea{width:100%;background:transparent;border:0;border-bottom:1.5px solid var(--line);color:inherit;padding:12px 0;font:inherit;font-size:18px;border-radius:0;transition:border-color .3s}
select option{color:#0d0d10}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--acc)}
textarea{min-height:130px;resize:vertical}
.note{color:var(--acc);margin-top:16px;min-height:26px;font-weight:500}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.role{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) auto;gap:20px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.role:first-child{border-top:1px solid var(--line)}
.role h3{font-family:var(--f-disp);font-weight:700;font-size:clamp(26px,3vw,44px);letter-spacing:-.03em;line-height:1.1}
[dir=rtl] .role h3{font-family:var(--f-body);letter-spacing:0}
@media(max-width:700px){.role{grid-template-columns:1fr 1fr}}
/* ---------- cards used by blog ---------- */
.post{display:block;text-align:start;border-radius:var(--r);overflow:hidden;background:var(--card);border:1px solid var(--line);transition:transform .4s var(--ease)}
.post:hover{transform:translateY(-6px)}
.post .pi{aspect-ratio:16/10;position:relative;background:var(--ink2);overflow:hidden}
.post .pi img,.post .pi .still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post .pb{padding:22px 24px 26px}.post .pb small{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.post .pb b{display:block;font-size:22px;line-height:1.25;margin-top:8px}
/* ---------- opening, transitions, cursor, progress ---------- */
#pre{position:fixed;inset:0;z-index:200;background:var(--ink);display:grid;place-items:center;transition:transform .9s var(--ease) .1s}
#pre.gone{transform:translateY(-100%)}
.pre-in{text-align:center;width:min(360px,80vw)}
.pre-logo{height:clamp(110px,18vw,170px);width:auto;margin:0 auto 34px;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{opacity:.7}}
.pre-tc{display:flex;gap:10px;align-items:center;justify-content:center;font-family:var(--f-mono);font-size:13px;letter-spacing:.16em;color:#cfccc4;margin-bottom:18px;direction:ltr}
.pre-tc b{width:9px;height:9px;border-radius:50%;background:var(--acc);animation:blink 1s steps(1) infinite}
.pre-bar{height:2px;background:rgba(255,255,255,.15);overflow:hidden}.pre-bar i{display:block;height:100%;width:0;background:var(--acc);transition:width .2s linear}
#wipe{position:fixed;inset:0;z-index:185;background:var(--acc);transform:translateY(101%);pointer-events:none}
#wipe.in{transform:none;transition:transform .38s cubic-bezier(.7,0,.3,1)}
#wipe.out{transform:translateY(-101%);transition:transform .5s cubic-bezier(.7,0,.3,1)}
#sp{position:fixed;top:0;left:0;height:3px;width:0;background:var(--acc);z-index:120}
[dir=rtl] #sp{left:auto;right:0}
#cr{position:fixed;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;border:1.5px solid #fff;border-radius:50%;pointer-events:none;z-index:300;display:grid;place-items:center;font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;color:#fff;mix-blend-mode:difference;transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),background .3s;opacity:0}
#cr.on{opacity:1}
#cr.big{width:70px;height:70px;margin:-35px 0 0 -35px}
#cr.lab{width:84px;height:84px;margin:-42px 0 0 -42px;background:var(--acc);border-color:var(--acc);mix-blend-mode:normal}
@media(hover:none){#cr{display:none}}
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rv.in{opacity:1;transform:none}
body:not(.go) .hcopy>*,body:not(.go) .frames{opacity:0;transform:translateY(36px)}
body.go .hcopy>*{animation:rise 1s var(--ease) both}
body.go .hcopy>*:nth-child(2){animation-delay:.1s}body.go .hcopy>*:nth-child(3){animation-delay:.22s}body.go .hcopy>*:nth-child(4){animation-delay:.34s}
body.go .frames{animation:rise 1.2s var(--ease) .25s both}
@keyframes rise{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
/* reduced-motion devices keep the entrance animations and counters; only the big endless loops stop */
@media(prefers-reduced-motion:reduce){.frame,.faces,.dep .dbg span,#band,.nf404{animation:none!important}}
/* ---------- modal ---------- */
#modal{display:none;position:fixed;inset:0;z-index:250;background:rgba(8,8,10,.94);place-items:center;padding:16px}
#modal.on{display:grid}
.stage{display:flex;align-items:center;gap:22px}
.nb{width:52px;height:52px;border:1.5px solid var(--line-d);border-radius:50%;font-size:22px;flex:0 0 auto;color:#fff;transition:background .3s}
.nb:hover{background:var(--acc);border-color:var(--acc)}
[dir=rtl] .nb{transform:scaleX(-1)}
.mx{position:absolute;top:22px;inset-inline-end:26px;font-size:34px;color:#fff;z-index:90;width:48px;height:48px}.mx:hover{color:var(--acc)}
.phone{position:relative;height:min(86vh,800px);aspect-ratio:9/16;background:#000;overflow:hidden;border-radius:22px;border:1px solid var(--line-d);color:#fff}
.phone.photo{aspect-ratio:4/5;height:auto;width:min(86vw,540px)}
.phone .still,.phone video,.phone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phone .bars{position:absolute;top:14px;inset-inline:16px;display:flex;gap:4px;z-index:3}
.phone .bars i{flex:1;height:3px;background:rgba(255,255,255,.3);border-radius:2px;overflow:hidden}.phone .bars i b{display:block;height:100%;width:0;background:#fff}
.phone .info{position:absolute;inset-inline:0;bottom:0;padding:90px 22px 24px;background:linear-gradient(transparent,rgba(0,0,0,.88));z-index:3}
.phone .info b{font-size:24px;display:block;line-height:1.2;font-weight:700}
.phone .info span{font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#d6d3cc}
.phone.cast{aspect-ratio:auto;height:min(84vh,740px);width:min(92vw,900px);display:grid;grid-template-columns:1fr 1fr;background:var(--ink2);border-radius:22px}
.phone.cast .cp1{position:relative;overflow:hidden;min-height:300px}
.phone.cast .cp1 img,.phone.cast .cp1 svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phone.cast .cp2{padding:clamp(26px,3vw,44px);display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.phone.cast .no{font-family:var(--f-mono);font-size:13px;letter-spacing:.14em;color:var(--acc)}
.phone.cast h3{font-family:var(--f-disp);font-weight:800;font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.04em;margin-bottom:12px}
[dir=rtl] .phone.cast h3{font-family:var(--f-body);font-weight:700;letter-spacing:0;line-height:1.2}
.phone.cast .rl2{font-size:18px;color:#cfccc4}
.phone.cast .mt{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;color:var(--mute-d);display:flex;justify-content:space-between;border-top:1px solid var(--line-d);padding-top:16px}
@media(max-width:700px){.phone.cast{grid-template-columns:1fr;grid-template-rows:42% 1fr;height:88vh}.nb{display:none}}
.phone.art{aspect-ratio:auto;height:auto;max-height:88vh;width:min(92vw,780px);overflow:auto;background:var(--paper);color:var(--ink)}
.phone.art img{position:static;height:auto;aspect-ratio:16/9;object-fit:cover}
.phone.art .ab{padding:30px 34px 40px}
.phone.art h3{font-family:var(--f-disp);font-weight:800;font-size:clamp(30px,4vw,48px);line-height:1.05;letter-spacing:-.03em;margin:10px 0 20px}
[dir=rtl] .phone.art h3{font-family:var(--f-body);letter-spacing:0}
.phone.art p{color:#4a4842;margin-bottom:14px;white-space:pre-line}
.ban{background:var(--acc);color:#fff;padding:9px 16px;font-size:13px;font-weight:500;text-align:center}
/* ---------- phones: lighter and calmer ---------- */
@media(max-width:760px){
  .h-xl{font-size:clamp(46px,15vw,92px)}[dir=rtl] .h-xl{font-size:clamp(40px,13vw,80px)}
  .frame{animation:none!important}
  .scrollhint{display:none}
  .wa{padding:10px 16px}
}
.hero{background:var(--bg);color:var(--fg)}

/* ================= v1.4: theme toggle, services, team, footer ================= */
.theme{width:42px;height:42px;border-radius:50%;border:1px solid var(--hline);display:grid;place-items:center;color:var(--hmute);transition:transform .5s var(--ease),border-color .3s,color .3s;position:relative;overflow:hidden}
.theme:hover{border-color:var(--hfg);color:var(--hfg);transform:rotate(18deg)}
.theme svg{width:19px;height:19px;grid-area:1/1;transition:transform .6s var(--ease),opacity .4s}
.theme .sun{opacity:0;transform:translateY(130%) rotate(-60deg)}
[data-theme=dark] .theme .moon{opacity:0;transform:translateY(-130%) rotate(60deg)}
[data-theme=dark] .theme .sun{opacity:1;transform:none}
body{transition:background .4s}
html[data-theme] .s{transition:background-color .5s,color .5s}
.hero .rings{opacity:1}
[data-theme=dark] .hero .rings{filter:invert(1) opacity(.5)}
[data-theme=dark] .band i{color:var(--fg)}
[data-theme=dark] .scrollhint i{background:linear-gradient(var(--fg),transparent)}
[data-theme=dark] .cgrid a,[data-theme=dark] .cgrid .cl{background:#fff}

/* ---------- services ---------- */
.svx{padding-block:clamp(60px,8vw,130px)}
.svgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(30px,6vw,110px);align-items:start}
.svlist{list-style:none;counter-reset:sv}
.svlist li{border-bottom:1px solid var(--line);position:relative}
.svlist li:first-child{border-top:1px solid var(--line)}
.svlist button{display:grid;grid-template-columns:64px minmax(0,1fr) 30px;align-items:center;gap:14px;width:100%;text-align:start;padding:clamp(22px,2.4vw,34px) 0;transition:padding .5s var(--ease),color .3s}
.svlist .n{font-family:var(--f-mono);font-size:13px;letter-spacing:.1em;color:var(--mute);transition:color .3s}
.svlist h3{font-family:var(--f-disp);font-weight:700;font-size:clamp(24px,3vw,44px);line-height:1.08;letter-spacing:-.03em;color:var(--mute);transition:color .4s,transform .5s var(--ease)}
[dir=rtl] .svlist h3{font-family:var(--f-body);letter-spacing:0;line-height:1.3}
.svlist .ch{font-size:22px;color:var(--acc);opacity:0;transform:translateX(-14px);transition:opacity .3s,transform .5s var(--ease)}
[dir=rtl] .svlist .ch{transform:translateX(14px) scaleX(-1)}
.svlist li.on h3,.svlist button:hover h3{color:var(--fg)}
.svlist li.on h3{transform:translateX(10px)}[dir=rtl] .svlist li.on h3{transform:translateX(-10px)}
.svlist li.on .n{color:var(--acc)}
.svlist li.on .ch{opacity:1;transform:none}[dir=rtl] .svlist li.on .ch{transform:scaleX(-1)}
.svlist .pg{position:absolute;inset-inline-start:0;bottom:-1px;height:2px;width:0;background:var(--acc)}
.svlist li.on .pg{animation:pgrow 5s linear forwards}
.svlist.hold li.on .pg{animation:none;width:100%}
@keyframes pgrow{to{width:100%}}
.svlist .dsc{display:none;color:var(--mute);padding:0 78px 22px 0;font-size:16px}
[dir=rtl] .svlist .dsc{padding:0 78px 22px 0}
.svpanel{position:sticky;top:110px;border-radius:var(--r);overflow:hidden;background:var(--ink2);aspect-ratio:4/5;color:#fff;border:1px solid var(--line)}
.svpanel .pa{position:absolute;inset:0}
.svpanel .pa svg,.svpanel .pa .still{width:100%;height:100%;object-fit:cover;display:block}
.svpanel .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,16,.15),rgba(13,13,16,.88) 78%);padding:clamp(22px,2.4vw,36px);display:flex;flex-direction:column;justify-content:flex-end;gap:14px}
.svpanel .big{position:absolute;top:8px;inset-inline-end:20px;font-family:var(--f-disp);font-weight:800;font-size:clamp(100px,13vw,200px);line-height:1;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.5)}
.svpanel h3{font-family:var(--f-disp);font-weight:800;font-size:clamp(26px,2.8vw,40px);line-height:1.05;letter-spacing:-.03em}
[dir=rtl] .svpanel h3{font-family:var(--f-body);letter-spacing:0;line-height:1.25}
.svpanel p{color:rgba(255,255,255,.82);font-size:16px;max-width:38ch}
.svpanel .dots{display:flex;gap:6px}
.svpanel .dots i{height:3px;flex:1;background:rgba(255,255,255,.25);border-radius:3px;transition:background .3s}
.svpanel .dots i.on{background:var(--acc)}
.svpanel.sw .pa{animation:pswap .7s var(--ease)}
.svpanel.sw .ov>*{animation:pup .7s var(--ease) both}
.svpanel.sw .ov>*:nth-child(2){animation-delay:.07s}.svpanel.sw .ov>*:nth-child(3){animation-delay:.14s}.svpanel.sw .ov>*:nth-child(4){animation-delay:.21s}
@keyframes pswap{from{transform:scale(1.18);opacity:.2}to{transform:none;opacity:1}}
@keyframes pup{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:900px){
  .svgrid{grid-template-columns:1fr}.svpanel{display:none}
  .svlist li.on .dsc{display:block}.svlist li.on h3{transform:none}
}

/* ---------- team ---------- */
.thero{overflow:hidden;padding-bottom:0}
.thero .wrap{position:relative;z-index:2}
.faces{margin-top:clamp(50px,7vw,100px);display:flex;gap:16px;width:max-content;animation:fmq 60s linear infinite;direction:ltr}
.faces:hover{animation-play-state:paused}
.faces div{flex:0 0 clamp(120px,13vw,190px);aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:var(--ink2);position:relative}
.faces div:nth-child(even){transform:translateY(34px)}
.faces img,.faces svg{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:grayscale(1);transition:filter .5s}
.faces div:hover img,.faces div:hover svg{filter:none}
@keyframes fmq{to{transform:translateX(-50%)}}
.thero{padding-bottom:70px}
.tstats b{background:linear-gradient(90deg,var(--fg),var(--acc));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.dnav .wrap{position:relative}
.dnav .ind{position:absolute;bottom:0;height:3px;background:var(--acc);border-radius:3px;transition:left .5s var(--ease),width .5s var(--ease);pointer-events:none}
.dnav .chip{position:relative;z-index:1;background:transparent!important;color:#cfccc4}
.dnav .chip.on,.dnav .chip:hover{color:#fff}
.dep{overflow:hidden;position:relative}
.dep .dbg{position:absolute;inset-inline:0;top:50%;transform:translateY(-50%);white-space:nowrap;font-family:var(--f-disp);font-weight:800;font-size:clamp(140px,22vw,340px);line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px var(--line);pointer-events:none;user-select:none;direction:ltr;opacity:.9}
.dep .dbg span{display:inline-block;animation:dbgm 40s linear infinite;padding-inline-end:.4em}
.dep:nth-of-type(even) .dbg span{animation-direction:reverse}
@keyframes dbgm{to{transform:translateX(-100%)}}
.dep .wrap{position:relative;z-index:1}
.dep.alt .dgrid{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}
.dep.alt .dinfo{order:2}
@media(max-width:900px){.dep.alt .dgrid{grid-template-columns:1fr}.dep.alt .dinfo{order:0}}
.dep .dinfo h2{background:linear-gradient(90deg,var(--fg) 60%,var(--acc));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.mgrid .mem.feat{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(18px,3vw,44px);align-items:center;padding:clamp(14px,1.6vw,22px);border:1px solid var(--line);border-radius:22px;background:var(--card)}
.mem.feat .ph{aspect-ratio:4/5}
.mem.feat .lab{padding:0}
.mem.feat .lab b{font-size:clamp(26px,3.2vw,48px);font-family:var(--f-disp);font-weight:800;letter-spacing:-.03em;line-height:1.05}
[dir=rtl] .mem.feat .lab b{font-family:var(--f-body);letter-spacing:0}
.mem.feat .lab span{font-size:clamp(15px,1.4vw,19px);color:var(--acc);margin-top:10px}
@media(max-width:700px){.mgrid .mem.feat{grid-template-columns:1fr}}
.mem .ph{clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--ease)}
.mem.in .ph,.mem:not(.rv) .ph{clip-path:inset(0)}
.mem{transform-style:preserve-3d;perspective:800px}
.mem .ph{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out,clip-path 1s var(--ease)}
.mem .ph::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.28),transparent 55%);opacity:0;transition:opacity .3s}
.mem:hover .ph::before{opacity:1}
.mem .lab b{transition:color .3s}.mem:hover .lab b{color:var(--acc)}
.phone.cast.sw .cp1{animation:pswap .7s var(--ease)}
.phone.cast.sw .cp2>*{animation:pup .6s var(--ease) both}
.phone.cast.sw .cp2>*:nth-child(2){animation-delay:.08s}.phone.cast.sw .cp2>*:nth-child(3){animation-delay:.16s}

/* ---------- about ---------- */
.prose.big p{color:#fff}

/* ---------- footer ---------- */
.foot{--fg:#f4f2ee;--mute:#a29f97;--line:rgba(255,255,255,.14);background:#0a0a0d;color:var(--fg);padding-block:clamp(70px,8vw,120px) 28px;position:relative;overflow:hidden;border-top:3px solid var(--acc)}
.foot::before{content:"";position:absolute;width:60vw;height:60vw;border-radius:50%;inset-inline-end:-20vw;top:-30vw;background:radial-gradient(circle,rgba(232,33,46,.28),transparent 65%);pointer-events:none}
.foot .wrap{position:relative}
.fgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,3fr) minmax(0,4fr);gap:clamp(28px,4vw,70px);padding-bottom:clamp(36px,5vw,70px)}
@media(max-width:1000px){.fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.fbrand{grid-column:1/-1}}
@media(max-width:560px){.fgrid{grid-template-columns:1fr}}
.flogo{height:84px;width:auto;margin-bottom:20px}
.fnote{max-width:36ch;font-size:16px;color:var(--mute)}
.fsoc{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}
.fsoc a{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;transition:background .3s,border-color .3s,transform .4s var(--ease)}
.fsoc a:hover{background:var(--acc);border-color:var(--acc);transform:translateY(-4px)}
.fcol{display:flex;flex-direction:column;gap:11px;font-size:16px}
.fcol h4{font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:10px}
[dir=rtl] .fcol h4{letter-spacing:0;font-size:14px}
.fcol a{position:relative;width:fit-content;color:#d9d6ce;transition:color .25s,transform .35s var(--ease)}
.fcol a:hover{color:#fff;transform:translateX(5px)}[dir=rtl] .fcol a:hover{transform:translateX(-5px)}
.fcol .mute{color:var(--mute)}
.fword{font-family:var(--f-disp);font-weight:800;font-size:clamp(150px,34vw,520px);line-height:.78;letter-spacing:-.06em;text-align:center;direction:ltr;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,0) 85%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;user-select:none;margin-top:10px}
.fbot{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:22px;color:var(--mute);font-size:14px;position:relative}
.flinks{display:flex;gap:22px}.flinks a:hover{color:var(--acc)}
.totop{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:99px;padding:8px 8px 8px 18px;color:#fff;font-size:13px;transition:border-color .3s}
[dir=rtl] .totop{padding:8px 18px 8px 8px}
.totop i{width:30px;height:30px;border-radius:50%;background:var(--acc);display:grid;place-items:center;font-style:normal;transition:transform .4s var(--ease)}
.totop:hover{border-color:var(--acc)}.totop:hover i{transform:translateY(-4px)}

/* ================= v1.5: FAQ, legal, 404, quote ================= */
.faq{border-top:1px solid var(--line)}
.fq{border-bottom:1px solid var(--line)}
.fqh{display:grid;grid-template-columns:56px minmax(0,1fr) 40px;align-items:center;gap:12px;width:100%;text-align:start;padding:clamp(20px,2.2vw,30px) 0;transition:color .3s}
.fqh .n{font-family:var(--f-mono);font-size:13px;letter-spacing:.1em;color:var(--acc)}
.fqh b{font-family:var(--f-disp);font-weight:700;font-size:clamp(19px,2vw,30px);line-height:1.2;letter-spacing:-.02em}
[dir=rtl] .fqh b{font-family:var(--f-body);letter-spacing:0;line-height:1.4}
.fqh i{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-style:normal;font-size:22px;line-height:1;transition:transform .5s var(--ease),background .3s,color .3s,border-color .3s}
.fqh:hover{color:var(--acc)}
.fq.open .fqh i{transform:rotate(135deg);background:var(--acc);border-color:var(--acc);color:#fff}
.fqb{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ease)}
.fqb>div{overflow:hidden}
.fq.open .fqb{grid-template-rows:1fr}
.fqb p{color:var(--mute);font-size:17px;max-width:70ch;padding:0 68px 28px 0}
[dir=rtl] .fqb p{padding:0 68px 28px 0}
.faqwrap{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,3fr);gap:clamp(30px,5vw,80px);align-items:start}
.faqbox{position:sticky;top:110px;border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,2.4vw,36px);background:var(--card);display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.faqbox h3{font-size:clamp(24px,2.4vw,34px);line-height:1.1}
@media(max-width:900px){.faqwrap{grid-template-columns:1fr}.faqbox{position:static}.fqb p{padding-inline-end:0}.fqh{grid-template-columns:40px minmax(0,1fr) 36px}}
.legal{max-width:78ch}
.legal h3{font-family:var(--f-disp);font-weight:700;font-size:clamp(22px,2.2vw,30px);letter-spacing:-.02em;margin:44px 0 12px;color:var(--fg)}
[dir=rtl] .legal h3{font-family:var(--f-body);letter-spacing:0}
.legal p{color:var(--mute);font-size:17px;margin-bottom:14px}
.nfs{min-height:72vh;display:flex;align-items:center;position:relative;overflow:hidden}
.nf404{position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%);font-size:clamp(220px,44vw,640px);line-height:.8;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:2px var(--acc);opacity:.35;direction:ltr;pointer-events:none;animation:nfp 5s ease-in-out infinite}
@keyframes nfp{50%{opacity:.6;transform:translateY(-52%)}}
.nfs .wrap{position:relative}
.flinks{flex-wrap:wrap;gap:8px 20px}
select{width:100%}
/* team nav: one scrollable row (11 departments) */
.dnav .wrap{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:4px}
.dnav .wrap::-webkit-scrollbar{display:none}
.dnav .chip{flex:0 0 auto;white-space:nowrap}
.dnav .search{flex:0 0 190px;width:190px}

/* YouTube embeds inside the reel viewer (no redirect to YouTube) */
.phone.yt{background:#000}
.phone.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ytshield{position:absolute;inset:0;z-index:2;cursor:pointer}
.ytc{position:absolute;top:14px;inset-inline-end:14px;z-index:4;display:flex;gap:8px}
.ytc button{width:40px;height:40px;border-radius:50%;background:rgba(13,13,16,.6);backdrop-filter:blur(6px);color:#fff;font-size:15px;display:grid;place-items:center}
.ytc button:hover{background:var(--acc)}
.phone.yt .info{z-index:3;pointer-events:none}

/* photo gallery: one row of 3 designs per client */
.phrows{display:flex;flex-direction:column;gap:clamp(14px,1.8vw,26px)}
.prow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.8vw,26px)}
.prow .shot{border-radius:clamp(10px,1.2vw,18px)}

/* ================= v1.5.8: motion pack, branded reel covers, faster video start ================= */
.sp .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.18em 0;margin:-.18em 0}
.sp .w>i{display:inline-block;font-style:normal;transform:translateY(115%) rotate(4deg);transform-origin:left bottom;transition:transform 1s var(--ease);transition-delay:calc(var(--d,0)*70ms)}
[dir=rtl] .sp .w>i{transform-origin:right bottom}
.sp.in .w>i{transform:none}
.btn{translate:var(--tx,0px) var(--ty,0px);transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),translate .35s var(--ease)}
.s.t-ink::before{content:"";position:absolute;inset:0;background:radial-gradient(520px circle at var(--mx,50%) var(--my,40%),rgba(232,33,46,.13),transparent 62%);opacity:0;transition:opacity .5s;pointer-events:none;z-index:0}
.s.t-ink:hover::before{opacity:1}
.s.t-ink>.wrap{position:relative;z-index:1}
.hero .rings{will-change:transform}
.band{will-change:transform}
.shot.rv,.clip.rv{transform:translateY(46px) scale(.94)}
.shot.rv.in,.clip.rv.in{transform:none}
/* one identity for every reel cover */
.clip{isolation:isolate}
.clip img,.clip video{filter:saturate(.88) contrast(1.07)}
.clip::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,13,16,.55),transparent 26%,transparent 60%,rgba(13,13,16,.8));pointer-events:none}
.clip::after{content:"";position:absolute;inset:9px;z-index:2;border:1px solid rgba(255,255,255,.24);border-radius:calc(var(--r) - 6px);pointer-events:none;transition:border-color .4s,inset .5s var(--ease)}
.clip:hover::after{border-color:var(--acc);inset:5px}
.clip img.bm{position:absolute;inset:auto!important;inset-inline-end:16px!important;bottom:16px!important;z-index:3;width:46px!important;height:auto!important;object-fit:contain;opacity:.92;pointer-events:none;transform:none!important;filter:none!important}
.clip .cb{z-index:3}.clip .ct{z-index:3}.clip .pl{z-index:3}
.clip .cb~img.bm{bottom:auto!important;top:46px!important}
.clip .ov{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;z-index:4;pointer-events:none;filter:none!important;transform:none!important}
.clip.hasov::before,.clip.hasov::after,.clip.hasov .bm{display:none}
/* the reel viewer: poster and spinner appear at once while YouTube loads */
.phone.yt .ytposter{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.phone.yt iframe{opacity:0;transition:opacity .6s;z-index:1}
.phone.yt.ready iframe{opacity:1}
.ytspin{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border:3px solid rgba(255,255,255,.25);border-top-color:var(--acc);border-radius:50%;animation:spin .8s linear infinite;z-index:1}
.phone.yt.ready .ytspin{display:none}
@keyframes spin{to{transform:rotate(360deg)}}

/* ================= v1.5.9: video gallery (featured showreel + category rails) ================= */
.rhgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(30px,5vw,90px);align-items:center}
@media(max-width:900px){.rhgrid{grid-template-columns:1fr}}
.rstats{display:flex;gap:clamp(26px,5vw,70px);margin-top:clamp(28px,3.4vw,44px)}
.rstats>span{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);border-top:1.5px solid var(--fg);padding-top:14px;min-width:120px}
[dir=rtl] .rstats>span{letter-spacing:0;font-size:14px}
.rstats b{display:block;font-family:var(--f-disp);font-weight:800;font-size:clamp(44px,5vw,78px);line-height:1;letter-spacing:-.05em;margin-bottom:6px;background:linear-gradient(90deg,var(--fg),var(--acc));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rfeat .fc{position:relative;width:min(100%,380px);margin-inline:auto;transform:rotate(2deg);transition:transform .7s var(--ease)}
.rfeat .fc:hover{transform:rotate(0) scale(1.02)}
.rfeat .fc .clip{box-shadow:0 50px 80px -30px rgba(13,13,16,.6),0 0 0 1px rgba(255,255,255,.08)}
.rfeat .ftag{position:absolute;top:-14px;inset-inline-start:-10px;z-index:6;background:var(--acc);color:#fff;font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;border-radius:99px;box-shadow:0 10px 24px -8px rgba(232,33,46,.6)}
.rvnav{top:76px}
.rvnav .chip sup{font-size:10px;opacity:.7;margin-inline-start:4px}
.rvnav .chip.on{border-color:var(--acc)!important}
.rfeat .fc .clip{width:100%;display:block}
.rsec{padding-block:clamp(54px,6.5vw,100px)}
.rhead{display:flex;align-items:center;gap:clamp(14px,2vw,28px);margin-bottom:clamp(24px,3vw,40px);flex-wrap:wrap}
.rhead .rn{font-family:var(--f-disp);font-weight:800;font-size:clamp(44px,6vw,92px);line-height:.8;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px var(--acc)}
.rhead h3{flex:1;min-width:0}
.rhead .rcn{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;border:1px solid var(--line);border-radius:99px;padding:6px 14px;color:var(--mute);white-space:nowrap}
.rnav2{display:flex;gap:8px}
.rnav2 button{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);font-size:18px;display:grid;place-items:center;transition:background .3s,color .3s,border-color .3s,transform .4s var(--ease)}
.rnav2 button:hover{background:var(--acc);border-color:var(--acc);color:#fff;transform:scale(1.08)}
.rrail{display:flex;gap:clamp(14px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 18px;scrollbar-width:none}
.rrail::-webkit-scrollbar{display:none}
.rrail .clip{flex:0 0 calc((100% - 2*clamp(14px,2vw,28px))/3);scroll-snap-align:start}
@media(max-width:700px){.rrail .clip{flex-basis:68%}}
/* covers: soft skeleton while loading, then the image fades in */
.clip{background:#17171c}
.clip:has(img[data-yt]:not(.ld)){background:linear-gradient(110deg,#17171c 30%,#26262d 50%,#17171c 70%);background-size:220% 100%;animation:skel 1.6s linear infinite}
@keyframes skel{to{background-position:-220% 0}}
.clip img:not(.bm):not(.ov){opacity:0;transition:opacity .7s var(--ease),transform 1s var(--ease)}
.clip img.ld:not(.bm):not(.ov){opacity:1}
.clip{border-radius:clamp(14px,1.6vw,24px)}
.clip:hover{box-shadow:0 30px 60px -24px rgba(232,33,46,.45)}

/* ================= v1.5.11: hero reel wall ================= */
.wall{position:relative;height:min(76vh,700px);min-height:420px;overflow:hidden;border-radius:30px;isolation:isolate;-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent)}
.wall::before{content:"";position:absolute;inset:12% 10%;border-radius:50%;background:radial-gradient(circle,rgba(232,33,46,.55),transparent 68%);filter:blur(30px);z-index:-1}
.wcols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.2vw,18px);height:100%;transform:rotate(-8deg) scale(1.18);transform-origin:center}
.wcol{min-width:0;overflow:visible}
.wtrack{display:flex;flex-direction:column;gap:clamp(10px,1.2vw,18px);will-change:transform;animation:wup 46s linear infinite}
.wcol.c2 .wtrack{animation-name:wdown;animation-duration:58s}
.wcol.c3 .wtrack{animation-duration:40s}
@keyframes wup{to{transform:translateY(calc(-50% - clamp(5px,.6vw,9px)))}}
@keyframes wdown{from{transform:translateY(calc(-50% - clamp(5px,.6vw,9px)))}to{transform:none}}
.wall:hover .wtrack{animation-play-state:paused}
.wcard{position:relative;display:block;width:100%;aspect-ratio:9/16;border-radius:clamp(12px,1.4vw,20px);overflow:hidden;background:#17171c;box-shadow:0 24px 50px -22px rgba(0,0,0,.6);transition:transform .5s var(--ease)}
button.wcard{cursor:pointer;text-align:start;color:#fff}
.wcard img,.wcard svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.06);transition:transform .9s var(--ease)}
.wcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,13,16,.5),transparent 30%,transparent 55%,rgba(13,13,16,.85));pointer-events:none}
.wcard::before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.22);border-radius:calc(clamp(12px,1.4vw,20px) - 5px);z-index:2;pointer-events:none;transition:border-color .4s}
.wcard:hover{transform:scale(1.04)}.wcard:hover img,.wcard:hover svg{transform:scale(1.07)}.wcard:hover::before{border-color:var(--acc)}
.wcard .wc{position:absolute;inset-inline:14px;bottom:14px;z-index:3;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#fff}
[dir=rtl] .wcard .wc{letter-spacing:0;font-size:12px}
.wcard .wp{position:absolute;inset:0;margin:auto;width:52px;height:52px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-style:normal;font-size:14px;z-index:3;opacity:0;transform:scale(.6);transition:opacity .3s,transform .4s var(--ease)}
.wcard:hover .wp{opacity:1;transform:none}
.wrec{position:absolute;top:18px;inset-inline-start:18px;z-index:4;display:flex;gap:12px;align-items:center;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;color:#fff;background:rgba(13,13,16,.6);backdrop-filter:blur(8px);padding:7px 14px;border-radius:99px}
.wrec .rec{display:inline-flex;align-items:center;gap:6px}
.wrec .rec b{width:8px;height:8px;border-radius:50%;background:var(--acc);animation:blink 1.2s infinite}
@media(max-width:960px){.wall{height:420px}}
@media(prefers-reduced-motion:reduce){.wtrack{animation:none!important}}

.phone.yt div.ytposter svg{position:absolute;inset:0;width:100%;height:100%}
.clip svg.cover,.wcard svg.cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ================= v1.5.13: sharp photos ================= */
/* no permanent 3D layer on team photos (it softened the image); the tilt only exists while hovering */
.mem{transform-style:flat;perspective:none}
.mem .ph{transform:none;transition:clip-path 1s var(--ease)}
@media(hover:hover){.mem:hover .ph{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out}}
.mem .ph img,.shot img{image-rendering:auto;backface-visibility:hidden}
/* the photo viewer shows the whole picture, uncropped */
.phone.photo{aspect-ratio:auto!important;width:auto!important;height:auto!important;max-width:92vw;max-height:88vh;display:grid;place-items:center;background:#0a0a0d}
.phone.photo img{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;max-width:min(92vw,1100px);max-height:88vh;object-fit:contain!important}
.phone.photo .info{position:absolute}

/* ================= v1.5.14: long headings never get cut ================= */
.disp,.dep .dinfo h2,.rhead h3{overflow-wrap:break-word;min-width:0}
.dep .dinfo{min-width:0}
.dep .dinfo h2{font-size:clamp(30px,3.3vw,56px);line-height:1.05;display:block;width:100%;overflow-wrap:anywhere;hyphens:auto}
[dir=rtl] .dep .dinfo h2{line-height:1.3}
.rhead h3{font-size:clamp(26px,3.4vw,52px)}
@media(max-width:760px){[dir=ltr] .h-xl{font-size:clamp(36px,11vw,84px);overflow-wrap:anywhere}}
