/* Flexicodal v43 generated bundle. Edit named source CSS, then rerun bundler. */

/* SOURCE /assets/site.css */
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:NotoArabic;src:url('/assets/fonts/noto-arabic.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--base:#070c17;--ink:#f2f5fa;--muted:#a6b3c7;--line:rgba(220,236,255,.17);--ice:#c5e5f3;--violet:#a9a1e9;--ease:cubic-bezier(.2,.72,.17,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--base);color:var(--ink);font:400 15px/1.6 Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}html[lang=ar] body{font-family:NotoArabic,Manrope,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{display:block}img{max-width:100%}::selection{background:#bddfec;color:#07101e}:focus-visible{outline:2px solid #bbecf4;outline-offset:4px}.skip{position:fixed;top:-90px;inset-inline-start:16px;z-index:110;background:#f3f7fc;color:#09101e;padding:12px 18px;border-radius:12px}.skip:focus{top:15px}.section-pad{padding-inline:clamp(24px,5.3vw,100px)}main{overflow:clip}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{font-weight:750;letter-spacing:-.065em}html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{font-family:NotoArabic,Manrope,sans-serif;letter-spacing:-.025em}
/* The brand opens as a short piece of motion. It never captures clicks or focus. */
.site-intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse 38% 42% at 51% 46%,rgba(13,57,121,.32),transparent 100%),radial-gradient(ellipse 25% 35% at 63% 62%,rgba(71,26,131,.18),transparent 100%),#050913;animation:intro-curtain .58s 1.28s cubic-bezier(.7,0,.2,1) forwards}
.site-intro::before{content:"";position:absolute;inset:-35%;background:linear-gradient(118deg,transparent 43%,rgba(25,92,204,.15) 49%,rgba(42,202,245,.19) 50%,rgba(86,45,203,.13) 51%,transparent 56%);transform:translateX(-23%) rotate(-5deg);animation:intro-beam 1.45s cubic-bezier(.15,.7,.2,1) both}
.site-intro::after{content:"";position:absolute;inset:clamp(18px,3vw,42px);border:1px solid rgba(211,234,255,.13);border-radius:4px;opacity:0;animation:intro-frame 1.35s .18s ease-out both}
.site-intro-center{position:relative;isolation:isolate;display:grid;justify-items:center;gap:0;width:min(82vw,340px);text-align:center}
.site-intro-center::before{content:"";position:absolute;z-index:-1;top:-77px;left:50%;width:250px;height:250px;transform:translateX(-50%) scale(.55);border:1px solid rgba(117,173,252,.25);border-radius:50%;background:radial-gradient(circle,rgba(30,107,238,.17),transparent 68%);box-shadow:0 0 45px rgba(31,92,235,.15),inset 0 0 40px rgba(61,177,244,.08);opacity:0;animation:intro-halo 1.14s .08s var(--ease) both}
.site-intro-center img:first-child{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 0 28px rgba(40,132,250,.46));opacity:0;animation:intro-mark .83s .08s cubic-bezier(.17,.83,.18,1) both}
.site-intro-center .intro-wordmark{width:min(260px,74vw);height:auto;object-fit:contain;filter:none;margin-top:26px;clip-path:inset(0 100% 0 0);animation:intro-type .66s .5s cubic-bezier(.2,.76,.19,1) both}
.site-intro-center small{margin-top:15px;color:#b9cde1;font-size:9px;font-weight:800;letter-spacing:.23em;opacity:0;animation:intro-detail .5s .72s ease-out both}
.site-intro-track{width:min(260px,74vw);height:1px;margin-top:29px;background:rgba(217,236,255,.17);overflow:hidden;opacity:0;animation:intro-detail .4s .62s ease-out both}
.site-intro-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#315dd7,#46d3fb 55%,#c5a2ff);box-shadow:0 0 15px rgba(75,177,245,.7);transform-origin:left;animation:intro-progress .9s .46s cubic-bezier(.21,.71,.16,1) both}
.intro-seen .site-intro{display:none}
@keyframes intro-curtain{to{opacity:0;visibility:hidden;clip-path:inset(0 0 100% 0)}}
@keyframes intro-beam{from{opacity:0;transform:translateX(-45%) rotate(-5deg)}45%{opacity:1}to{opacity:.4;transform:translateX(22%) rotate(-5deg)}}
@keyframes intro-frame{from{opacity:0;transform:scale(.97)}30%{opacity:1}to{opacity:.5;transform:scale(1)}}
@keyframes intro-halo{from{opacity:0;transform:translateX(-50%) scale(.55)}45%{opacity:1}to{opacity:.55;transform:translateX(-50%) scale(1.18)}}
@keyframes intro-mark{from{opacity:0;transform:translateY(24px) scale(.8);filter:drop-shadow(0 0 0 rgba(40,132,250,0))}55%{opacity:1}to{opacity:1;transform:none;filter:drop-shadow(0 0 28px rgba(40,132,250,.46))}}
@keyframes intro-type{to{clip-path:inset(0 0 0 0)}}
@keyframes intro-detail{to{opacity:1}}
@keyframes intro-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* Navigation */
.masthead{position:fixed;z-index:60;top:18px;left:50%;transform:translateX(-50%);width:min(1480px,calc(100% - 38px));min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 11px 8px 23px;border:1px solid rgba(223,237,255,.28);border-top-color:rgba(255,255,255,.48);border-radius:22px;background:linear-gradient(115deg,rgba(28,40,66,.78),rgba(16,25,47,.64) 65%,rgba(36,35,71,.65));box-shadow:inset 0 1px rgba(255,255,255,.14),0 16px 42px rgba(0,3,12,.27);backdrop-filter:blur(28px) saturate(145%);-webkit-backdrop-filter:blur(28px) saturate(145%)}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;min-width:0}.brand-symbol{width:45px;height:45px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(67,133,255,.23))}.brand-type{width:170px;height:auto;object-fit:contain}.desktop-nav,.mast-actions{display:flex;align-items:center}.desktop-nav{gap:clamp(16px,2.2vw,38px)}.desktop-nav a{font-size:13px;font-weight:700;color:#d6deeb;transition:color .2s}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:#fff}.mast-actions{gap:17px}.language{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid rgba(207,227,252,.26);border-radius:12px;background:rgba(205,226,255,.07);font-size:11px;font-weight:800;letter-spacing:.02em}.language span,.language a{min-width:36px;text-align:center;padding:8px;border-radius:8px}.language span{background:rgba(218,235,255,.22)}.language a{color:#b5c5da}.contact-pill{display:inline-flex;align-items:center;gap:18px;padding:13px 18px;border:1px solid rgba(239,248,255,.38);border-radius:12px;background:rgba(220,238,255,.13);font-size:12px;font-weight:800;white-space:nowrap;box-shadow:inset 0 1px rgba(255,255,255,.16);transition:background .25s,transform .25s}.contact-pill:hover{background:rgba(220,238,255,.26);transform:translateY(-2px)}.pill-dot{width:6px;height:6px;border-radius:50%;background:#a9edf3;box-shadow:0 0 12px #86ddec}.menu-toggle,.mobile-nav{display:none}
/* Buttons and shared editorial details */
.glass-button,.wa-action,.submit{display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:54px;padding:13px 21px;border:1px solid rgba(226,242,255,.35);border-radius:12px;background:rgba(231,242,255,.11);box-shadow:inset 0 1px rgba(255,255,255,.2),0 14px 30px rgba(0,4,19,.14);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#fff;font-size:12px;font-weight:800;white-space:nowrap;transition:transform .25s var(--ease),background .25s,border-color .25s}.glass-button:hover,.wa-action:hover,.submit:hover{transform:translateY(-3px);background:rgba(231,242,255,.22);border-color:rgba(243,250,255,.65)}.glass-button.primary,.submit{background:#e9f1f5;border-color:#fff;color:#07111e}.glass-button.primary:hover,.submit:hover{background:#fff}.glass-button.light{background:rgba(238,247,252,.97);border-color:#fff;color:#0a1623}.button-orbit{font-size:19px;font-weight:400;line-height:1}.cta-pair{display:inline-flex;align-items:stretch;gap:7px}.cta-pair .wa-action{gap:9px;padding-inline:16px}.wa-action svg{width:18px;height:18px;color:#cff6e6}.wa-action span{font-size:11px}.text-link{display:inline-flex;gap:24px;align-items:center;border-bottom:1px solid rgba(222,237,253,.5);padding-bottom:8px;font-size:13px;font-weight:750}.text-link span{font-size:20px;font-weight:400}.section-index,.eyebrow,.micro{font-size:10px;font-weight:800;letter-spacing:.19em;text-transform:uppercase;color:#b8cadd}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:39px}.section-heading h2{font-size:clamp(55px,6.9vw,112px);line-height:.98;margin:19px 0 0}.section-heading h2 i,.promise-layout h2 i{font-family:Georgia,serif;font-weight:400;letter-spacing:-.065em}.section-heading>p{max-width:350px;margin:0 0 7px;color:var(--muted);font-size:15px;line-height:1.75}
/* The complete client roster in a quieter, navigable rail */
.client-strip{padding-top:72px;padding-bottom:65px;background:#111a2a;border-bottom:1px solid var(--line)}.client-strip-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.client-strip-head .section-index{color:#aec4d7}.client-strip-head h2{font-size:clamp(30px,3.4vw,53px);line-height:1.1;margin:10px 0 0}.rail-controls,.feature-pagination,.gallery-switch{display:flex;align-items:center;gap:9px}.rail-controls button,.feature-pagination button,.gallery-switch button{width:43px;height:43px;border:1px solid rgba(230,244,255,.27);border-radius:10px;background:rgba(226,240,255,.09);color:#eaf4fc;font-size:25px;line-height:1;transition:background .2s}.rail-controls button:hover,.feature-pagination button:hover,.gallery-switch button:hover{background:rgba(226,240,255,.2)}.client-logo-row{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,110px);grid-auto-columns:clamp(172px,14vw,212px);gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 0 6px}.client-logo-row::-webkit-scrollbar{display:none}.client-logo-row a{display:grid;place-items:center;overflow:hidden;background:#f4f3f0;border:1px solid rgba(255,255,255,.5);border-radius:11px;scroll-snap-align:start;transition:background .25s,transform .25s}.client-logo-row a:hover{background:#fff;transform:translateY(-3px)}.logo-art{width:138px;height:67px;display:flex;align-items:center;justify-content:center;overflow:visible}.logo-art img{width:100%;height:100%;flex:none;max-width:none;max-height:none;object-fit:contain;transform:scale(var(--optical-scale,1));transform-origin:center}.logo-art.crest{width:88px;height:68px}.logo-art.symbol{width:86px;height:66px}.logo-art strong{font-size:19px;line-height:1.1;letter-spacing:-.05em;text-align:center;color:#1a1b20}.client-marrone .logo-art strong,.client-nagda .logo-art strong{font:400 22px/1 Georgia,serif;letter-spacing:.15em;text-transform:uppercase}.client-explore .logo-art strong{font-weight:900;letter-spacing:.17em;font-size:16px}.client-washygoose img{filter:brightness(0) saturate(100%)}.client-strip-tail{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px;font-size:10px;letter-spacing:.13em;font-weight:750;color:#91a7c0}.client-strip-tail a{color:#e8f1f9}.client-strip-tail a span{font-size:16px;margin-inline-start:12px}.client-strip-expanded{padding-top:185px}
/* Selected work, with the actual site captures at centre stage */
.work-premiere{padding-top:115px;padding-bottom:125px;background:#070d18}.work-premiere .section-heading h2{font-size:clamp(69px,8.3vw,132px)}.feature-group{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;min-height:730px}.feature-group:not(.is-active){display:none}.feature-tile{position:relative;display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid rgba(223,238,255,.19);border-top-color:rgba(246,252,255,.35);border-radius:21px;background:linear-gradient(145deg,rgba(66,85,113,.34),rgba(20,31,53,.55));box-shadow:inset 0 1px rgba(255,255,255,.08),0 22px 55px rgba(0,3,15,.25);transition:transform .4s var(--ease),border-color .3s}.feature-tile:hover{transform:translateY(-5px);border-color:rgba(230,246,255,.5)}.feature-tile:first-child{grid-column:span 7;grid-row:span 2}.feature-tile:nth-child(2),.feature-tile:nth-child(3){grid-column:span 5}.feature-visual{flex:1;display:grid;place-items:center;min-height:0;padding:clamp(12px,2vw,32px);border-radius:12px;background:radial-gradient(circle at 50% 0%,rgba(201,220,244,.22),transparent 60%),#17243a}.feature-browser{overflow:hidden;width:100%;max-height:100%;border:1px solid rgba(228,239,252,.55);border-radius:11px;background:#e9edf1;box-shadow:0 20px 45px rgba(0,5,20,.4)}.feature-browser>img{width:100%;height:auto;max-height:430px;aspect-ratio:1.56;object-fit:contain;background:#e9edf1}.feature-tile:first-child .feature-browser>img{max-height:none;aspect-ratio:1.29}.feature-tile:nth-child(n+2) .feature-visual{padding:15px}.feature-tile:nth-child(n+2) .feature-browser>img{aspect-ratio:2.55}.feature-meta{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 20px;padding:18px 7px 5px}.feature-meta>span:first-child{grid-column:1/-1;color:#a7bdce;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.feature-meta h3{margin:0;font-size:clamp(22px,2.5vw,36px);line-height:1.13}.feature-visit{font-size:11px;font-weight:750;white-space:nowrap}.feature-visit b{margin-inline-start:7px;font-weight:400;font-size:15px}.feature-gallery-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.feature-pagination span{min-width:68px;text-align:center;font-size:11px;font-weight:800;letter-spacing:.1em;color:#9fb1c7}.feature-pagination span b{color:#fff}.feature-gallery-foot>a{font-size:12px;font-weight:800}.feature-gallery-foot>a span{font-size:18px;margin-inline-start:14px}
/* The complete, compact project directory */
.directory{padding-top:118px;padding-bottom:135px;background:#0d1626}.directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 14px}.directory-tile{min-width:0;display:block}.directory-image{display:grid;place-items:center;overflow:hidden;aspect-ratio:1.65;border:1px solid rgba(232,243,255,.25);border-radius:12px;background:#e8ebef;box-shadow:0 14px 28px rgba(0,3,14,.18)}.directory-image img{width:100%;height:100%;object-fit:contain;transition:transform .4s}.directory-tile:hover .directory-image img{transform:scale(1.025)}.directory-detail{display:grid;grid-template-columns:25px 1fr;gap:2px 9px;align-items:baseline;padding:13px 1px 16px;border-bottom:1px solid var(--line)}.directory-detail small{grid-row:1/3;color:#a5c9d6;font-size:9px;font-weight:800}.directory-detail strong{font-size:17px;line-height:1.2;letter-spacing:-.04em}.directory-detail em{grid-column:2;color:#99a9bf;font-size:10px;font-style:normal}.directory-detail b{grid-column:3;grid-row:1/3;font-size:17px;font-weight:400}.directory-all{display:flex;align-items:center;justify-content:space-between;margin-top:46px;padding:20px 23px;border:1px solid rgba(226,241,255,.29);border-radius:12px;background:rgba(216,232,255,.055);font-size:13px;font-weight:800}.directory-all span{font-size:21px;font-weight:400}
/* Work index and shared interior pages */
.page-hero{min-height:560px;padding-top:190px;padding-bottom:65px;background:radial-gradient(circle at 80% 15%,rgba(74,104,147,.19),transparent 44%),#0d1626}.page-hero .micro{margin:0}.page-display em{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.07em}html[lang=ar] .page-display em{font-family:NotoArabic,Manrope,sans-serif;font-weight:650;letter-spacing:-.025em}.page-display{font-size:clamp(76px,10vw,155px);line-height:.92;letter-spacing:-.075em;margin:45px 0 50px;max-width:1250px}.page-hero-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px;border-top:1px solid var(--line);padding-top:22px;color:#b4c1d3}.page-hero-bottom p{max-width:540px;margin:0;font-size:18px;color:#d4dfeb}.page-hero-bottom span{font-size:11px;letter-spacing:.12em;font-weight:800}.work-gallery{padding-top:105px;padding-bottom:130px;background:#0b1322}.section-label{display:flex;align-items:center;gap:17px;padding-bottom:20px;border-bottom:1px solid var(--line);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#afc0d4}.section-label span:first-child{color:#d5e7f0}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 19px;margin-top:34px}.project-card{min-width:0}.project-image{position:relative;overflow:hidden;border:1px solid rgba(230,244,255,.22);border-radius:15px;background:#e8ecf0;box-shadow:0 18px 40px rgba(0,4,20,.22);transition:transform .4s,border-color .3s}.project-card:hover .project-image{transform:translateY(-4px);border-color:rgba(243,250,255,.55)}.project-browser-bar{height:29px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-inline:10px;background:#e8edf2;color:#526078}.project-browser-bar span{display:flex;gap:4px}.project-browser-bar i{width:5px;height:5px;background:#b6c1cf;border-radius:50%}.project-browser-bar small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.project-browser>img{width:100%;aspect-ratio:1.56;object-fit:contain;background:#e8ecf0}.project-view{position:absolute;right:12px;bottom:12px;padding:8px 12px;border:1px solid rgba(238,250,255,.5);border-radius:8px;background:rgba(12,27,43,.75);backdrop-filter:blur(10px);font-size:10px;font-weight:800;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}.project-card:hover .project-view{opacity:1;transform:none}.project-caption{display:grid;grid-template-columns:26px 1fr;gap:0 9px;padding:13px 2px 18px;border-bottom:1px solid var(--line)}.project-caption .number{grid-row:1/3;color:#9dcbd9;font-size:9px;font-weight:800}.project-caption h3{font-size:19px;line-height:1.2;margin:0}.project-caption>span:last-child{grid-column:2;font-size:10px;color:#9aacc3}.project-identity{aspect-ratio:1.56;display:grid;place-items:center;padding:30px}.project-identity img{max-width:60%;max-height:70%}.project-identity strong{color:#17202a;font-size:25px}
.service-list,.method,.studio-copy,.contact-content{padding-top:100px;padding-bottom:120px;background:#0d1627}.service-item{display:grid;grid-template-columns:55px minmax(0,1fr) minmax(230px,.65fr);align-items:center;gap:30px;padding:39px 3px;border-bottom:1px solid var(--line)}.service-item>span{font-size:11px;color:#afcbd9;font-weight:800}.service-item h2{font-size:clamp(35px,4vw,65px);line-height:1.05;margin:0}.service-item p{color:#abbdd1;font-size:15px;line-height:1.7}.method{background:#101c2e}.method .display-heading{font-size:clamp(53px,6vw,100px);line-height:1.05;margin:40px 0}.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.method-grid>div{min-height:180px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:13px;background:rgba(214,232,255,.07)}.method-grid b{font-size:10px;color:#b7dbe7}.method-grid span{font-size:21px;font-weight:750}.studio-image{position:relative;height:620px;background:#e6e8ed;overflow:hidden}.studio-image img{width:100%;height:100%;object-fit:contain}.studio-image span{position:absolute;bottom:19px;left:clamp(24px,5.3vw,100px);padding:8px 13px;border-radius:8px;background:rgba(5,16,28,.8);color:#fff;font-size:10px;letter-spacing:.12em;font-weight:800}.studio-copy>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:30px 8vw;margin-top:40px}.studio-copy h2{font-size:clamp(47px,5vw,87px);line-height:1.1;margin:0}.studio-copy p{color:#c0cbda;font-size:17px;line-height:1.8;margin:0}.studio-copy p:last-child{grid-column:2}.studio-strip{display:flex;justify-content:space-between;gap:30px;padding-block:26px;border-block:1px solid var(--line);background:#101b2b;color:#9fb4cb;font-size:10px;font-weight:800;letter-spacing:.14em}
.contact-hero{min-height:560px;padding-top:190px;padding-bottom:65px;background:radial-gradient(circle at 76% 29%,rgba(100,116,177,.21),transparent 41%),#101a2b}.contact-hero .page-display{max-width:1240px;margin-bottom:35px}.contact-hero>p:last-child{color:#c2d1e0;font-size:18px;max-width:650px}.contact-content{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);gap:8vw}.brief-form{display:grid;gap:27px}.brief-form label{display:grid;gap:10px;font-size:12px;font-weight:750;color:#d4e2ee}.field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.brief-form input,.brief-form select,.brief-form textarea{width:100%;padding:15px 18px;border:1px solid rgba(222,238,255,.27);border-radius:10px;outline:0;background:rgba(235,245,255,.06);color:#fff;resize:vertical}.brief-form input:focus,.brief-form select:focus,.brief-form textarea:focus{border-color:#c4ebf2}.brief-form input::placeholder,.brief-form textarea::placeholder{color:#8fa0b7}.brief-form select option{background:#172336}.brief-form .submit{justify-self:start;min-width:230px}.form-note{color:#91a6bd;font-size:11px;margin:-15px 0 0}.contact-content aside{align-self:start;border:1px solid var(--line);border-radius:15px;padding:28px;background:rgba(230,242,255,.07)}.contact-content aside a{display:block;margin:20px 0;font-size:clamp(18px,2vw,26px);font-weight:750}.contact-content aside p{color:#a5b9ce;font-size:13px}
/* Contact is consistent across every route */
.footer{background:linear-gradient(140deg,#182438,#11192d 50%,#101526);border-top:1px solid var(--line)}.footer-call{padding-top:92px;padding-bottom:110px;max-width:1700px;margin:auto}.footer-call-top{display:flex;justify-content:space-between;gap:25px;padding-bottom:22px;border-bottom:1px solid var(--line);color:#a8bdcf;font-size:10px;font-weight:800;letter-spacing:.16em}.footer-call h2{font-size:clamp(65px,8.4vw,142px);line-height:.99;margin:50px 0 24px}.footer-call>p{color:#c0cddd;font-size:17px;margin:0 0 30px}.footer-base{display:flex;align-items:end;justify-content:space-between;gap:30px;padding-top:26px;padding-bottom:28px;border-top:1px solid var(--line)}.footer-base .brand-symbol{width:36px;height:36px}.footer-base .brand-type{width:133px}.footer-base p{font-size:10px;color:#889cb5;margin:11px 0 0}.footer-base nav{display:flex;gap:19px}.footer-base nav a{font-size:11px;font-weight:700}.footer-base small{font-size:9px;color:#8598b1;white-space:nowrap}
/* Soft entrances: content remains visible without script. */
.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.motion-ready .reveal.is-visible{opacity:1;transform:none}
/* Right-to-left and responsive composition */
html[dir=rtl] .masthead{padding:8px 23px 8px 11px}html[dir=rtl] .hero-feature{transform:translateY(37px) rotate(-1.3deg)}html[dir=rtl] .hero-feature:hover{transform:translateY(28px)}html[dir=rtl] .directory-detail b{transform:scaleX(-1)}
@media(max-width:1270px){.hero-v18-inner{grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);gap:30px}.hero-copy h1{font-size:clamp(69px,8.3vw,112px)}.hero-action-row .glass-button,.hero-action-row .wa-action{min-height:48px;padding-inline:14px}.service-panels{grid-template-columns:repeat(2,1fr)}.service-panel{min-height:250px}.directory-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1060px){.masthead{gap:12px}.brand-type{width:142px}.desktop-nav{gap:16px}.mast-actions{gap:9px}.hero-v18-inner{grid-template-columns:1fr .62fr;min-height:750px}.hero-v18{min-height:750px}.hero-copy h1{font-size:clamp(65px,8vw,95px)}.hero-feature{transform:translateY(20px)}.hero-action-row{max-width:480px}.hero-action-row>.glass-button{min-width:160px}.hero-action-row .cta-pair{min-width:0}.hero-action-row .wa-action span{display:none}.feature-group{min-height:610px}.feature-tile:first-child .feature-browser>img{aspect-ratio:1.2}.feature-tile:nth-child(n+2) .feature-browser>img{aspect-ratio:2.2}.cards-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:850px){.masthead{top:12px;width:calc(100% - 24px);min-height:66px;border-radius:18px;padding:6px 10px 6px 14px}.brand-symbol{width:38px;height:38px}.brand-type{width:145px}.desktop-nav{display:none}.mast-actions{gap:9px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:rgba(222,240,255,.1)}.menu-toggle span{width:18px;height:1px;background:#fff;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-nav.open{position:absolute;display:grid;top:calc(100% + 7px);left:0;right:0;padding:11px;border:1px solid rgba(225,242,255,.35);border-radius:17px;background:rgba(15,25,45,.94);box-shadow:0 25px 45px rgba(0,0,0,.35);backdrop-filter:blur(25px)}.mobile-nav a{padding:14px;border-bottom:1px solid var(--line);font-size:16px;font-weight:750}.mobile-nav a:last-child{border:0}.hero-v18,.hero-v18-inner{min-height:0}.hero-v18-inner{grid-template-columns:1fr;padding-top:160px;padding-bottom:120px;gap:40px}.hero-copy h1{font-size:clamp(70px,10vw,103px)}.hero-feature{width:min(100%,520px);justify-self:end;transform:none}.hero-feature:hover{transform:translateY(-4px)}.hero-feature-screen>img{aspect-ratio:1.75}.hero-bottom span:nth-child(2){display:none}.feature-group{min-height:0;grid-template-rows:auto}.feature-tile:first-child{grid-column:1/-1;grid-row:auto}.feature-tile:nth-child(2),.feature-tile:nth-child(3){grid-column:span 6}.feature-tile:first-child .feature-browser>img{aspect-ratio:1.75}.feature-tile:nth-child(n+2) .feature-browser>img{aspect-ratio:1.5}.feature-tile:nth-child(n+2) .feature-visual{min-height:270px}.promise-layout{grid-template-columns:1fr;gap:24px}.promise-layout>div{max-width:550px}.directory-grid{grid-template-columns:repeat(2,1fr)}.studio-copy>div:last-child{grid-template-columns:1fr}.studio-copy p:last-child{grid-column:auto}}
@media(max-width:640px){.section-pad{padding-inline:20px}.masthead .contact-pill{display:none}.brand-type{width:136px}.language{font-size:9px}.language span,.language a{min-width:29px;padding:6px}.hero-v18-inner{padding-top:145px;padding-bottom:93px;gap:34px}.hero-copy .eyebrow{font-size:9px;letter-spacing:.12em}.hero-copy h1{font-size:clamp(57px,12vw,83px);letter-spacing:-.076em}.hero-copy>p:not(.eyebrow){font-size:16px;margin-top:25px}.hero-action-row{margin-top:28px}.hero-action-row>.glass-button{flex:1}.hero-action-row .cta-pair{width:100%}.hero-action-row .cta-pair .glass-button{flex:1}.hero-action-row .wa-action span{display:inline}.hero-feature{justify-self:stretch}.hero-feature-bottom strong{font-size:14px}.hero-feature-bottom span{font-size:9px}.hero-bottom{min-height:53px;font-size:8px}.hero-bottom span:last-child{display:none}.client-strip{padding-block:52px 48px}.client-strip-head h2{font-size:30px}.client-logo-row{grid-auto-columns:155px;grid-template-rows:repeat(2,89px);gap:8px}.logo-art{width:113px;height:55px}.logo-art.crest,.logo-art.symbol{width:71px;height:55px}.logo-art strong{font-size:16px}.client-strip-tail{font-size:9px}.section-heading{display:block;margin-bottom:28px}.section-heading h2,.work-premiere .section-heading h2{font-size:clamp(55px,12vw,85px)}.section-heading>p{margin:24px 0 0;font-size:14px}.work-premiere,.studio-promise,.services-v18,.directory,.work-gallery,.service-list,.method,.studio-copy,.contact-content{padding-block:74px 83px}.feature-group{display:block}.feature-group:not(.is-active){display:none}.feature-tile{margin-bottom:12px;padding:10px;border-radius:15px}.feature-tile .feature-visual,.feature-tile:nth-child(n+2) .feature-visual{padding:12px;min-height:0}.feature-tile .feature-browser>img,.feature-tile:first-child .feature-browser>img,.feature-tile:nth-child(n+2) .feature-browser>img{aspect-ratio:1.65;max-height:none}.feature-tile:nth-child(n+2){display:none}.feature-meta{padding:12px 5px 3px}.feature-meta h3{font-size:25px}.feature-gallery-foot{margin-top:17px}.feature-gallery-foot>a{font-size:10px}.promise-layout h2{font-size:clamp(54px,11vw,83px)}.promise-layout p{font-size:15px}.service-panels{grid-template-columns:1fr 1fr;gap:8px}.service-panel{min-height:235px;padding:17px}.service-panel h3{font-size:25px}.service-panel p{font-size:11px}.service-panel>span{font-size:8px}.service-panel>b{top:14px;right:15px}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 9px}.directory-detail{grid-template-columns:18px 1fr;gap:1px 4px}.directory-detail small{font-size:8px}.directory-detail strong{font-size:13px}.directory-detail em{font-size:8px}.directory-detail b{font-size:13px}.directory-all{margin-top:31px;font-size:11px}.page-hero,.contact-hero{min-height:0;padding-top:151px;padding-bottom:58px}.page-display em{font-family:Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.07em}html[lang=ar] .page-display em{font-family:NotoArabic,Manrope,sans-serif;font-weight:650;letter-spacing:-.025em}.page-display{font-size:clamp(62px,13vw,95px);margin:42px 0}.page-hero-bottom{display:block}.page-hero-bottom p{font-size:15px}.page-hero-bottom span{display:block;margin-top:15px}.cards-grid{grid-template-columns:1fr;gap:33px}.service-item{grid-template-columns:30px 1fr;gap:10px;padding:30px 0}.service-item h2{font-size:36px}.service-item p{grid-column:2;margin:5px 0 0;font-size:13px}.method-grid{grid-template-columns:1fr 1fr}.method-grid>div{min-height:130px;padding:17px}.method-grid span{font-size:15px}.studio-image{height:390px}.studio-copy h2{font-size:45px}.studio-copy p{font-size:14px}.studio-strip{display:grid;gap:9px}.contact-hero>p:last-child{font-size:15px}.contact-content{grid-template-columns:1fr;gap:50px}.field-row{grid-template-columns:1fr;gap:27px}.footer-call{padding-top:72px;padding-bottom:82px}.footer-call-top span:last-child{display:none}.footer-call h2{font-size:clamp(57px,11.5vw,80px);margin-top:36px}.footer-call>p{font-size:14px}.footer-base{display:grid;grid-template-columns:1fr auto;align-items:start}.footer-base nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:12px}.footer-base small{grid-column:2;grid-row:1}.footer-base p{display:none}}
@media(max-width:390px){.brand-type{width:112px}.hero-copy h1{font-size:53px}.hero-action-row .cta-pair .glass-button{padding-inline:12px}.wa-action span{font-size:10px}.service-panels{grid-template-columns:1fr}.service-panel{min-height:170px}.directory-grid{grid-template-columns:1fr 1fr}.directory-detail strong{font-size:12px}.footer-call h2{font-size:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.site-intro{display:none}.hero-film video{display:none}.motion-ready .reveal{opacity:1;transform:none}}
@keyframes tile-rise{from{opacity:.55;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.feature-group.is-active .feature-tile{animation:tile-rise .58s var(--ease) both}.feature-group.is-active .feature-tile:nth-child(2){animation-delay:.07s}.feature-group.is-active .feature-tile:nth-child(3){animation-delay:.14s}}

.hero-action-row .cta-pair .glass-button.primary{background:rgba(228,242,255,.12);border-color:rgba(234,246,255,.43);color:#fff}.hero-action-row .cta-pair .glass-button.primary:hover{background:rgba(228,242,255,.25)}
/* Service cards use explicit deliverables and a restrained editorial hierarchy. */
.service-panel{min-height:300px;justify-content:flex-start}.service-panel>div{margin-top:auto;padding-bottom:21px}.service-panel small{display:block;border-top:1px solid rgba(230,242,255,.2);padding-top:15px;color:#b9cfe0;font-size:10px;font-weight:750;letter-spacing:.04em}
@media(max-width:1270px){.service-panel{min-height:260px}}
@media(max-width:640px){.service-panel{min-height:245px}.service-panel>div{padding-bottom:14px}.service-panel small{font-size:9px;line-height:1.5}}
@media(max-width:390px){.service-panel{min-height:185px}}
.studio-evidence{padding-top:100px;padding-bottom:115px;background:#0b1322}.studio-evidence-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}.studio-evidence-head h2{font-size:clamp(52px,6.3vw,104px);line-height:1.02;margin:17px 0 0}.studio-evidence-head h2 em{font-family:Georgia,serif;font-style:italic;font-weight:400}.studio-evidence-head>p{max-width:330px;color:#b6c7d9;line-height:1.7}.studio-evidence-grid{display:grid;grid-template-columns:1.28fr .72fr;gap:14px}.studio-evidence-grid a{display:block;padding:13px;border:1px solid rgba(226,241,255,.23);border-radius:17px;background:rgba(196,219,250,.09);transition:transform .3s,border-color .3s}.studio-evidence-grid a:hover{transform:translateY(-4px);border-color:rgba(245,252,255,.52)}.studio-evidence-grid a>div{overflow:hidden;border-radius:8px;background:#e9ecf1}.studio-evidence-grid img{width:100%;height:auto;aspect-ratio:1.5;object-fit:contain}.studio-evidence-grid a>span{display:block;padding:13px 5px 3px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.studio-evidence-grid a:nth-child(2) img{aspect-ratio:1.3}html[lang=ar] .studio-evidence-head h2 em{font-family:NotoArabic,Manrope,sans-serif;font-weight:650}
@media(max-width:850px){.studio-evidence-head{display:block}.studio-evidence-head>p{margin-top:22px}.studio-evidence-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.studio-evidence{padding-block:76px 85px}.studio-evidence-head h2{font-size:clamp(48px,10vw,70px)}.studio-evidence-grid{grid-template-columns:1fr}.studio-evidence-grid a:nth-child(2) img{aspect-ratio:1.5}}

@media(max-width:640px){.site-intro-center img:first-child{width:75px;height:75px}.site-intro-center::before{top:-79px;width:220px;height:220px}.site-intro-center .intro-wordmark,.site-intro-track{width:min(236px,74vw)}}
.studio-evidence-grid{align-items:start}
/* v21 homepage: a brand film, a single portfolio exhibit, and distinct editorial surfaces. */
.hero-film-v21{position:relative;isolation:isolate;height:min(920px,100svh);min-height:680px;overflow:hidden;background:#070b17}
.hero-film-v21-poster,.hero-film-v21-video{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero-film-v21-poster img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-film-v21-video{object-fit:cover;object-position:center;opacity:0;transition:opacity .8s ease}
.hero-film-v21-video.is-playing{opacity:1}
.hero-film-v21-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(4,7,17,.84),rgba(4,7,17,.5) 38%,rgba(4,7,17,.02) 74%),linear-gradient(0deg,rgba(4,7,17,.75),transparent 44%);pointer-events:none}
.hero-film-v21-content{position:absolute;z-index:2;left:0;right:0;top:50%;max-width:1700px;margin:auto;transform:translateY(-36%)}
.hero-film-v21-content p{margin:0 0 23px;color:#dce9f5;font-size:10px;font-weight:850;letter-spacing:.2em;text-transform:uppercase}
.hero-film-v21-content h1{margin:0 0 32px;max-width:780px;color:#f5f8fb;font-size:clamp(66px,7.2vw,110px);font-weight:740;letter-spacing:-.077em;line-height:.98;text-wrap:balance;text-shadow:0 12px 45px rgba(0,0,0,.24)}
.hero-film-v21-content .glass-button.primary{min-width:175px}
.hero-film-v21-content .wa-action{background:rgba(10,19,36,.48);border-color:rgba(246,251,255,.55)}
.hero-film-v21-foot{position:absolute;z-index:2;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;min-height:79px;border-top:1px solid rgba(232,243,255,.23);color:#dce5f2;font-size:9px;font-weight:750;letter-spacing:.14em;background:rgba(4,10,24,.25);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.hero-film-v21-foot button{display:grid;place-items:center;width:39px;height:39px;border:1px solid rgba(231,246,255,.47);border-radius:50%;background:rgba(255,255,255,.07);color:#fff;cursor:pointer}
.hero-film-v21-foot button i{display:block;width:9px;height:12px;border-left:2px solid currentColor;border-right:2px solid currentColor}
.hero-film-v21-foot button[aria-pressed=true] i{width:0;height:0;border:6px solid transparent;border-left:9px solid currentColor;border-right:0;transform:translateX(2px)}
.hero-film-v21-foot button[hidden]{display:none}
html[dir=rtl] .hero-film-v21-shade{background:linear-gradient(270deg,rgba(4,7,17,.9),rgba(4,7,17,.62) 38%,rgba(4,7,17,.08) 80%),linear-gradient(0deg,rgba(4,7,17,.75),transparent 44%)}
html[dir=rtl] .hero-film-v21-content h1{max-width:740px}
@media(prefers-reduced-motion:reduce){.hero-film-v21-video{display:none}}
/* The complete client roster provides a warm visual pause after the film. */
.client-strip:not(.client-strip-expanded){background:#f0eee9;color:#111926;border-bottom:1px solid #d9d8d4}
.client-strip:not(.client-strip-expanded) .section-index{color:#516071}
.client-strip:not(.client-strip-expanded) .client-strip-head h2{color:#111926}
.client-strip:not(.client-strip-expanded) .rail-controls button{background:transparent;border-color:#acb3bb;color:#111926}
.client-strip:not(.client-strip-expanded) .rail-controls button:hover{background:#fff}
.client-strip:not(.client-strip-expanded) .client-logo-row a{background:#fff;border-color:#dededb;box-shadow:0 6px 22px rgba(20,24,31,.045)}
.client-strip:not(.client-strip-expanded) .client-strip-tail{color:#5b6470}
.client-strip:not(.client-strip-expanded) .client-strip-tail a{color:#111926}
/* One project exhibit, varied in scale. Complete real captures remain uncropped. */
.v21-work{padding-top:112px;padding-bottom:120px;background:#0b1220}
.v21-section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:40px}
.v21-section-head h2{margin:15px 0 0;font-size:clamp(65px,7vw,105px);line-height:.98;letter-spacing:-.06em}
.v21-section-head h2 em,.v21-practice-intro h2 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.07em}
.v21-stories{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:72px 19px}
.v21-story{min-width:0}
.v21-story-1{grid-column:1/-1}
.v21-story-2{grid-column:1/6}
.v21-story-3{grid-column:6/-1;align-self:end}
.v21-story-visual{display:block;overflow:hidden;border:1px solid rgba(232,244,255,.23);border-radius:9px;background:#e9edf1;box-shadow:0 22px 65px rgba(0,3,15,.22)}
.v21-story-visual img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;background:#e9edf1;transition:transform .6s var(--ease)}
.v21-story-visual:hover img{transform:scale(1.012)}
.v21-story-copy{display:flex;align-items:baseline;justify-content:space-between;gap:12px 30px;margin-top:18px}
.v21-story-copy span{color:#a8b9c7;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.v21-story-copy h3{flex:1;margin:0;font-size:clamp(26px,3.1vw,49px);line-height:1.1;letter-spacing:-.055em}
.v21-story-copy>a{font-size:11px;font-weight:800;border-bottom:1px solid rgba(240,247,255,.5);padding-bottom:5px;white-space:nowrap}
.v21-story-2 .v21-story-copy,.v21-story-3 .v21-story-copy{display:grid;grid-template-columns:1fr auto;gap:7px 15px}
.v21-story-2 .v21-story-copy span,.v21-story-3 .v21-story-copy span{grid-column:1/-1}
.v21-work-all{display:inline-block;margin-top:66px;padding-bottom:8px;border-bottom:1px solid rgba(235,247,255,.6);font-size:13px;font-weight:800}
/* Four restrained service panels; the numbers and typography are the visuals. */
.v21-practice{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(260px,.74fr) minmax(0,1.26fr);align-items:center;gap:clamp(42px,7vw,115px);padding-top:132px;padding-bottom:145px;background:linear-gradient(135deg,#101d32 0%,#0b1222 57%,#11172a 100%);color:#eff6fc}
.v21-practice::before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse 50% 60% at 92% 12%,rgba(57,111,179,.16),transparent),radial-gradient(ellipse 50% 40% at 0% 95%,rgba(70,55,133,.11),transparent);pointer-events:none}
.v21-practice .section-index{color:#a6bfce}
.v21-practice-intro h2{max-width:620px;margin:26px 0 27px;font-size:clamp(58px,6.3vw,100px);font-weight:680;line-height:1.05;letter-spacing:-.067em;text-wrap:balance}
.v21-practice-summary{max-width:360px;margin:0;color:#adbed1;font-size:15px;line-height:1.75}
.v21-practice-intro>a{display:inline-block;margin-top:36px;padding-bottom:9px;border-bottom:1px solid rgba(223,239,250,.62);font-size:13px;font-weight:800}
.v21-practice-intro>a:hover{border-color:#fff;color:#fff}
.v21-practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v21-practice-item{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:236px;padding:23px 25px 27px;overflow:hidden;border:1px solid rgba(226,239,252,.19);border-top-color:rgba(249,253,255,.37);border-radius:19px;background:linear-gradient(142deg,rgba(221,238,255,.12),rgba(110,147,199,.045) 55%,rgba(148,118,194,.055));box-shadow:inset 0 1px rgba(255,255,255,.07),0 15px 45px rgba(0,4,18,.15);transition:background .35s,border-color .35s}
.v21-practice-item:hover,.v21-practice-item:focus-visible{border-color:rgba(228,246,255,.49);background:linear-gradient(142deg,rgba(221,238,255,.18),rgba(110,147,199,.07) 55%,rgba(148,118,194,.08))}
.v21-practice-number{color:#93afc7;font-size:11px;font-weight:800;letter-spacing:.13em}
.v21-practice-title{display:grid;gap:8px}
.v21-practice-title strong{font-size:clamp(28px,2.8vw,42px);line-height:1.08;letter-spacing:-.05em}
.v21-practice-title small{color:#a9bfd0;font-size:12px;line-height:1.45}
/* Every project remains directly reachable; the index is typographic until intent to inspect. */
.v21-archive{padding-top:115px;padding-bottom:130px;background:#111a2b}
.v21-archive-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:57px}
.v21-archive-head h2{margin:17px 0 0;font-size:clamp(65px,6.2vw,94px);line-height:1;letter-spacing:-.055em}
.v21-archive-head>span{padding-bottom:9px;font-size:10px;letter-spacing:.18em;font-weight:800;color:#b2c8d8}
.v21-archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(25px,6vw,105px)}
.v21-archive-row{position:relative;display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:15px;min-height:75px;border-top:1px solid rgba(233,244,255,.25);color:#f4f7fb}
.v21-archive-row>span{font-size:10px;color:#7f9eb2;font-weight:800}
.v21-archive-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(18px,1.7vw,25px);font-weight:730;letter-spacing:-.035em}
.v21-archive-row small{max-width:150px;text-align:end;font-size:9px;color:#a7b8c7}
.v21-archive-row img{position:absolute;z-index:5;right:8%;bottom:55%;width:210px;aspect-ratio:1.6;object-fit:contain;border:4px solid #e9edf1;border-radius:6px;background:#e9edf1;box-shadow:0 20px 40px rgba(0,0,0,.3);opacity:0;visibility:hidden;transform:translateY(12px) rotate(2deg);pointer-events:none;transition:opacity .25s,transform .3s var(--ease),visibility .25s}
.v21-archive-row:hover img,.v21-archive-row:focus-visible img{opacity:1;visibility:visible;transform:translateY(0) rotate(2deg)}
.v21-archive-row:hover strong,.v21-archive-row:focus-visible strong{color:#bfeaff}
.v21-archive-all{display:inline-block;margin-top:54px;padding-bottom:9px;border-bottom:1px solid #e8f4fb;font-size:13px;font-weight:800}
html[dir=rtl] .v21-archive-row img{right:auto;left:8%;transform:translateY(12px) rotate(-2deg)}
html[dir=rtl] .v21-archive-row:hover img,html[dir=rtl] .v21-archive-row:focus-visible img{transform:translateY(0) rotate(-2deg)}
@media(max-width:1000px){.v21-story-2{grid-column:1/7}.v21-story-3{grid-column:7/-1}.v21-practice{grid-template-columns:1fr;gap:55px}.v21-practice-intro h2{max-width:720px}.hero-film-v21-content h1{font-size:clamp(66px,8vw,90px)}}
@media(max-width:700px){
 .hero-film-v21{height:100svh;min-height:700px;max-height:980px}
 .hero-film-v21-shade{background:linear-gradient(0deg,rgba(4,7,17,.97) 0%,rgba(4,7,17,.7) 27%,rgba(4,7,17,.12) 70%),linear-gradient(90deg,rgba(4,7,17,.35),transparent)}
 html[dir=rtl] .hero-film-v21-shade{background:linear-gradient(0deg,rgba(4,7,17,.97) 0%,rgba(4,7,17,.7) 27%,rgba(4,7,17,.12) 70%)}
 .hero-film-v21-content{top:auto;bottom:136px;transform:none}
 .hero-film-v21-content p{font-size:8px;letter-spacing:.12em;margin-bottom:15px}
 .hero-film-v21-content h1{font-size:clamp(54px,12vw,77px);max-width:380px;margin-bottom:24px}
 .hero-film-v21-foot{min-height:66px}
 .v21-work{padding-block:82px 95px}
 .v21-section-head{display:block}
 .v21-section-head h2{margin-top:15px}
 .v21-section-head h2{font-size:clamp(49px,10vw,71px)}
 .v21-stories{display:block}
 .v21-story{margin-bottom:46px}
 .v21-story-visual img{aspect-ratio:1.6}
 .v21-story-copy{display:grid;grid-template-columns:1fr auto;gap:7px 12px;margin-top:13px}
 .v21-story-copy span{grid-column:1/-1;font-size:8px}
 .v21-story-copy h3{font-size:clamp(24px,6vw,35px)}
 .v21-story-copy>a{font-size:10px}
 .v21-work-all{margin-top:5px}
 .v21-practice{padding-block:88px 100px;gap:38px}
 .v21-practice-intro h2{font-size:clamp(54px,11vw,76px)}
 .v21-practice-summary{font-size:14px}
 .v21-practice-grid{gap:9px}
 .v21-practice-item{min-height:190px;padding:18px 19px 21px}
 .v21-practice-title strong{font-size:clamp(25px,5vw,34px)}
 .v21-practice-title small{font-size:10px}
 .v21-archive{padding-block:85px 100px}
 .v21-archive-head{margin-bottom:37px}
 .v21-archive-head h2{font-size:clamp(51px,10vw,70px)}
 .v21-archive-head>span{display:none}
 .v21-archive-grid{grid-template-columns:1fr}
 .v21-archive-row{min-height:68px;grid-template-columns:28px minmax(0,1fr) auto;gap:10px}
 .v21-archive-row strong{font-size:18px}
 .v21-archive-row small{font-size:8px;max-width:110px}
 .v21-archive-row img{display:none}
}
@media(max-width:390px){
 .hero-film-v21-content h1{font-size:51px}
 .hero-film-v21-content .cta-pair{width:100%}
 .hero-film-v21-content .glass-button{flex:1;min-width:0}
 .hero-film-v21-content .wa-action{padding-inline:12px}
 .v21-practice-grid{grid-template-columns:1fr}
 .v21-practice-item{min-height:137px}
 .v21-practice-title strong{font-size:27px}
 .v21-archive-row small{max-width:88px}
}
@media(max-width:360px){
 .masthead{gap:5px;padding:5px 6px 5px 9px}
 html[dir=rtl] .masthead{padding:5px 9px 5px 6px}
 .brand-symbol{width:31px;height:31px}
 .brand-type{width:94px}
 .mast-actions{gap:5px}
 .language span,.language a{min-width:25px;padding:5px}
 .menu-toggle{width:36px;height:40px;flex:none}
 .v21-archive-row strong{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.v21-story-visual img,.v21-practice-item,.v21-archive-row img{transition:none}}
/* v22 contact: a clear inquiry path with direct channels beside it. */
.contact-hero-v22{position:relative;isolation:isolate;min-height:535px;display:flex;align-items:flex-end;padding-top:180px;padding-bottom:82px;overflow:hidden;background:radial-gradient(circle at 80% 27%,rgba(62,85,176,.28),transparent 34%),#080d1a}
.contact-hero-v22:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080d1a 14%,rgba(8,13,26,.77) 49%,rgba(8,13,26,.15));z-index:-1}
.contact-hero-v22>div{position:relative;z-index:1;max-width:820px}
.contact-hero-v22 .micro{margin:0 0 36px;color:#b6c7dd}
.contact-hero-v22 h1{font-size:clamp(76px,9.2vw,155px);letter-spacing:-.08em;line-height:.92;margin:0 0 26px;color:#f1f6fb}
.contact-hero-v22>div>p:last-child{margin:0;color:#bbcbde;font-size:clamp(16px,1.6vw,21px)}
html[dir=rtl] .contact-hero-v22:after{background:linear-gradient(270deg,#080d1a 14%,rgba(8,13,26,.77) 49%,rgba(8,13,26,.15))}
html[dir=rtl] .contact-hero-v22 h1{font-family:NotoArabic,Manrope,sans-serif;letter-spacing:-.035em;line-height:1.18;font-size:clamp(75px,8vw,130px)}
.contact-panel-v22{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:clamp(48px,8vw,150px);align-items:start;padding-top:112px;padding-bottom:135px;background:#f0eee9;color:#101a2a}
.contact-direct-v22{padding-top:10px}
.contact-direct-v22 .micro{color:#53657b}
.contact-direct-v22 h2{margin:29px 0 58px;font-size:clamp(51px,5.2vw,86px);line-height:.99;letter-spacing:-.073em}
html[dir=rtl] .contact-direct-v22 h2{letter-spacing:-.04em;line-height:1.16}
.contact-routes-v22{border-top:1px solid #c8ced1}
.contact-route-v22{display:flex;align-items:center;gap:20px;min-height:102px;padding:18px 4px;border-bottom:1px solid #c8ced1;transition:padding .25s ease,background .25s ease}
.contact-route-v22:hover{padding-inline:14px;background:#fff}
.contact-route-icon{display:grid;place-items:center;flex:0 0 45px;width:45px;height:45px;border:1px solid #aebbc9;border-radius:13px;color:#123d8a;background:#fff}
.contact-route-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact-route-whatsapp svg{fill:currentColor;stroke:none}
.contact-route-copy{display:grid;gap:7px;min-width:0}
.contact-route-copy small{color:#576c83;font-size:10px;letter-spacing:.16em;font-weight:850}
.contact-route-copy strong{font-size:clamp(15px,1.55vw,22px);letter-spacing:-.035em;overflow-wrap:anywhere;text-align:start}
.contact-location-v22{margin:35px 0 0;color:#5c6d7b;font-size:13px;line-height:1.6}
.contact-card-v22{padding:clamp(28px,4.1vw,68px);border:1px solid rgba(255,255,255,.31);border-radius:27px;background:radial-gradient(circle at 98% 0,rgba(66,94,159,.22),transparent 38%),linear-gradient(140deg,#121d31,#0b1424 68%);box-shadow:0 25px 70px rgba(18,33,52,.21),inset 0 1px rgba(255,255,255,.14);color:#eff5fb}
.contact-card-head{padding-bottom:35px;border-bottom:1px solid rgba(207,223,245,.23)}
.contact-card-head span{font-size:10px;letter-spacing:.18em;font-weight:800;color:#a6c7db}
.contact-card-head h2{font-size:clamp(38px,4vw,62px);letter-spacing:-.065em;line-height:1.08;margin:18px 0 0}
html[dir=rtl] .contact-card-head h2{letter-spacing:-.03em}
.contact-form-v22{position:relative;padding-top:35px}
.contact-fields-v22{display:grid;grid-template-columns:1fr 1fr;gap:27px 17px}
.contact-fields-v22 label{display:grid;align-content:start;gap:11px;font-size:12px;font-weight:800;color:#d8e6f3}
.contact-fields-v22 input,.contact-fields-v22 select,.contact-fields-v22 textarea{min-width:0;width:100%;padding:16px 17px;border:1px solid rgba(213,231,250,.28);border-radius:11px;outline:0;background:rgba(224,240,255,.065);color:#fff;font:inherit;font-size:14px;line-height:1.5;transition:border-color .2s,background .2s;box-shadow:inset 0 1px rgba(255,255,255,.04)}
.contact-fields-v22 input:focus,.contact-fields-v22 select:focus,.contact-fields-v22 textarea:focus{border-color:#9bdde9;background:rgba(224,240,255,.105)}
.contact-fields-v22 input::placeholder,.contact-fields-v22 textarea::placeholder{color:#94a6b9}
.contact-fields-v22 select option{background:#121d31}
.contact-fields-v22 textarea{resize:vertical;min-height:155px}
.contact-message-v22{grid-column:1/-1}
.contact-form-bottom{display:flex;align-items:center;gap:22px;margin-top:30px}
.contact-form-bottom .submit{flex:none;min-width:200px;cursor:pointer}
.contact-form-bottom .submit:disabled{opacity:.65;cursor:wait}
.contact-form-bottom p{margin:0;color:#9caec1;font-size:11px;line-height:1.5}
.contact-trap{position:absolute!important;inset:0 auto auto 0!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;opacity:0!important;pointer-events:none!important}
.contact-feedback-v22[hidden],.contact-fields-v22[hidden],.contact-form-bottom[hidden]{display:none!important}
.contact-feedback-v22{padding:30px 0 10px}
.contact-feedback-mark{display:block;width:55px;height:55px;margin-bottom:26px;background:url('/assets/brand/nav-symbol.webp') center/contain no-repeat}
.contact-feedback-v22 h3{font-size:clamp(32px,3.6vw,52px);line-height:1.07;margin:0 0 14px;letter-spacing:-.055em}
.contact-feedback-v22 p{font-size:15px;color:#b6cadb;line-height:1.7;max-width:480px;margin:0}
.contact-feedback-v22.is-error h3{color:#ffe1dd}
@media(max-width:1000px){.contact-panel-v22{gap:45px}.contact-card-v22{padding:38px}.contact-form-bottom{display:block}.contact-form-bottom p{margin-top:13px}}
@media(max-width:700px){
 .contact-hero-v22{min-height:420px;padding-top:150px;padding-bottom:60px;align-items:flex-end}
 .contact-hero-v22 h1{font-size:clamp(67px,14vw,98px)}
 html[dir=rtl] .contact-hero-v22 h1{font-size:clamp(66px,12vw,92px)}
 .contact-hero-v22 .micro{margin-bottom:22px}
 .contact-hero-v22>div>p:last-child{font-size:16px}
 .contact-panel-v22{display:flex;flex-direction:column;gap:67px;padding-block:64px 92px}
 .contact-card-v22{order:1;width:100%;padding:29px 22px;border-radius:21px}
 .contact-direct-v22{order:2;width:100%;padding:0}
 .contact-direct-v22 h2{margin:17px 0 27px;font-size:54px}
 .contact-fields-v22{grid-template-columns:1fr;gap:22px}
 .contact-card-head{padding-bottom:24px}
 .contact-card-head h2{font-size:39px}
 .contact-form-v22{padding-top:26px}
 .contact-form-bottom .submit{width:100%}
 .contact-form-bottom p{margin-top:15px}
 .contact-route-v22{min-height:82px}
}

/* v23: each page has its own visual rhythm; every preview is a real site capture. */
.hero-film-v21{background:#070b17 url('/assets/film/home-v34-poster.webp') center/cover no-repeat}
html[dir=rtl] .hero-film-v21{background-image:url('/assets/film/home-v34-poster.webp')}
html[dir=rtl] .hero-film-v21-poster,html[dir=rtl] .hero-film-v21-video{transform:none}
.hero-film-v21-poster{z-index:0}
.hero-film-v21-video{z-index:0}
.client-logo-row a{box-shadow:0 9px 24px rgba(17,30,49,.075)}
.logo-art{width:155px;height:65px}
.logo-art.crest{width:101px;height:68px}
.logo-art.symbol{width:91px;height:66px}
.client-logo-row .logo-art strong{font-size:20px}

.archive-invitation{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:clamp(40px,6vw,100px);min-height:660px;padding-top:105px;padding-bottom:115px;overflow:hidden;background:radial-gradient(circle at 78% 42%,rgba(53,91,173,.34),transparent 43%),#0a1223}
.archive-invitation:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(145deg,rgba(190,228,248,.04),transparent 55%)}
.archive-invitation-copy{position:relative;z-index:2}
.archive-invitation-count{display:block;margin-top:18px;color:#b9dff0;font-size:clamp(98px,13vw,188px);font-weight:600;letter-spacing:-.09em;line-height:.84}
.archive-invitation h2{margin:19px 0 24px;font-size:clamp(46px,4.5vw,76px);line-height:1.04;letter-spacing:-.06em}
html[lang=ar] .archive-invitation h2{line-height:1.18;letter-spacing:-.04em}
.archive-invitation-copy>p:not(.section-index){max-width:360px;margin:0 0 30px;color:#b9cbdc;font-size:15px;line-height:1.7}
.archive-invitation-art{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:repeat(2,auto);align-items:start;gap:12px}
.archive-invitation-frame{overflow:hidden;min-width:0;aspect-ratio:1.6;border:1px solid rgba(232,246,255,.4);border-radius:13px;background:#e8ecf1;box-shadow:0 18px 50px rgba(0,4,17,.28)}
.archive-invitation-frame img{display:block;width:100%;height:100%;object-fit:contain;background:#e8ecf1}
.archive-invitation-frame-1{grid-row:1/3}

.work-hero-v23{position:relative;display:flex;align-items:center;min-height:720px;padding-top:155px;padding-bottom:115px;overflow:hidden;background:#081326;color:#f7fbff}
.work-hero-copy{max-width:830px}
.work-hero-v23 .micro{color:#506278}
.work-hero-copy h1{margin:34px 0 23px;font-size:clamp(78px,9.3vw,150px);line-height:.92;letter-spacing:-.08em}
html[lang=ar] .work-hero-copy h1{line-height:1.18;letter-spacing:-.05em}
.work-hero-copy>p:not(.micro){max-width:430px;margin:0 0 31px;color:#425367;font-size:clamp(16px,1.5vw,20px);line-height:1.55}
.work-hero-copy>a{display:inline-flex;align-items:center;min-height:46px;padding:0 0 5px;border-bottom:1px solid #244a71;color:#142e4b;font-size:13px;font-weight:800}
.work-hero-rule{position:absolute;inset:auto clamp(24px,5.3vw,100px) 33px;display:flex;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid #bfccd2;color:#526377;font-size:10px;font-weight:800;letter-spacing:.16em}
.work-gallery{background:#0b1322}
.work-gallery#projects{scroll-margin-top:105px}
.portfolio-wall{grid-template-columns:repeat(12,minmax(0,1fr));gap:48px 19px}
.portfolio-wall .project-card{grid-column:span 4}
.portfolio-wall .project-card:nth-child(1),.portfolio-wall .project-card:nth-child(11),.portfolio-wall .project-card:nth-child(20){grid-column:span 8}
.portfolio-wall .project-card:nth-child(1) .project-browser>img,.portfolio-wall .project-card:nth-child(11) .project-browser>img,.portfolio-wall .project-card:nth-child(20) .project-browser>img{aspect-ratio:2.12}
.portfolio-wall .project-card:nth-child(1) .project-caption h3,.portfolio-wall .project-card:nth-child(11) .project-caption h3,.portfolio-wall .project-card:nth-child(20) .project-caption h3{font-size:clamp(22px,2.4vw,33px)}
.project-card:focus-visible .project-view{opacity:1;transform:none}

.expertise-hero-v23{position:relative;display:flex;align-items:center;min-height:680px;padding-top:160px;padding-bottom:95px;overflow:hidden;background:#0b1426}
.expertise-hero-copy{max-width:900px}
.expertise-hero-v23 .page-display{position:relative;z-index:2;margin:32px 0;font-size:clamp(70px,8.1vw,127px)}
.expertise-hero-copy>p:last-child{max-width:540px;color:#c3d2e2;font-size:18px}
.expertise-hero-v23+.service-list{background:#ecece9;color:#101d2e}
.expertise-hero-v23+.service-list .section-label,.expertise-hero-v23+.service-list .service-item{border-color:#c2cad0}
.expertise-hero-v23+.service-list .section-label,.expertise-hero-v23+.service-list .service-item>span{color:#345a78}
.expertise-hero-v23+.service-list .service-item p{color:#4c5d6a}
.expertise-evidence{padding-top:110px;padding-bottom:125px;background:#0b1424}
.expertise-evidence-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:35px}
.expertise-evidence-head h2{margin:15px 0 0;font-size:clamp(57px,6.3vw,94px);line-height:1.03;letter-spacing:-.06em}
.expertise-evidence-head>p{max-width:320px;color:#abbdd0;font-size:15px;line-height:1.65}
.expertise-evidence-grid{display:grid;grid-template-columns:1.18fr .82fr .82fr;gap:15px}
.expertise-evidence-card{min-width:0;padding:11px;border:1px solid rgba(224,243,255,.27);border-radius:16px;background:linear-gradient(145deg,rgba(206,229,255,.11),rgba(37,57,98,.11));transition:transform .35s var(--ease),border-color .35s}
.expertise-evidence-card:hover{transform:translateY(-5px);border-color:rgba(241,251,255,.66)}
.expertise-evidence-card>div{overflow:hidden;border-radius:9px;background:#e8edf1}
.expertise-evidence-card img{display:block;width:100%;height:auto;aspect-ratio:1.3;object-fit:contain}
.expertise-evidence-card:nth-child(n+2) img{aspect-ratio:1.3}
.expertise-evidence-card span{display:block;padding:12px 4px 3px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.expertise-evidence-link{display:inline-block;margin-top:31px;padding-bottom:7px;border-bottom:1px solid #bcdbe8;font-size:13px;font-weight:800}
.expertise-evidence+.method{background:#18253b}

.studio-hero-v23{position:relative;display:flex;align-items:center;min-height:690px;padding-top:150px;padding-bottom:85px;overflow:hidden;background:#081326;color:#f7fbff}
.studio-hero-text{max-width:930px}
.studio-hero-v23 .micro{color:#536578}
.studio-hero-v23 .page-display{position:relative;z-index:2;font-size:clamp(74px,8.3vw,134px);margin:27px 0 30px}
.studio-hero-v23 .page-display em{color:#31527b}
.studio-hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:22px;border-top:1px solid #bfc9d0;color:#405367}
.studio-hero-bottom p{margin:0;font-size:18px}
.studio-hero-bottom span{font-size:11px;font-weight:800;letter-spacing:.08em}
.studio-hero-v23+.studio-evidence{background:#0a1324}
.studio-copy{background:#e9eae8;color:#0e1b2c}
.studio-copy .section-label{border-color:#b8c5cd;color:#40566a}
.studio-copy>div:last-child{align-items:start}
.studio-copy p{color:#42556a}
.studio-copy p:first-of-type{font-size:clamp(20px,2vw,29px);line-height:1.55;color:#182c43}
.studio-strip{background:#e9eae8;border-color:#bdc8d1;color:#3e536c}

.footer-base{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:30px;min-height:130px;padding-top:30px;padding-bottom:30px}
.footer-base>div:first-child{grid-column:2;grid-row:1;text-align:center}
.footer-base .brand{justify-content:center}
.footer-base .brand-symbol{width:40px;height:40px}
.footer-base .brand-type{width:153px}
.footer-base p{font-size:11px;color:#b6c8dc}
.footer-base nav{grid-column:1;grid-row:1;display:flex;flex-wrap:wrap;gap:12px 20px}
.footer-base nav a{font-size:12px}
.footer-base small{grid-column:3;grid-row:1;justify-self:end;color:#adbed1;font-size:10px}
html[dir=rtl] .footer-base small{justify-self:start}
.motion-ready .reveal{opacity:1;transform:translateY(12px);transition:transform .55s var(--ease)}
.motion-ready .reveal.is-visible{opacity:1;transform:none}
.contact-fields-v22 :is(input,select,textarea):focus-visible{outline:2px solid #9bdde9;outline-offset:2px}
.contact-validation-v22,.contact-feedback-v22,.contact-fields-v22 :is(input,select,textarea){scroll-margin-top:118px}
.contact-validation-v22{margin:0 0 24px;padding:16px 18px;border:1px solid rgba(255,195,178,.72);border-radius:11px;background:rgba(105,38,47,.32);color:#fff0e8;font-size:13px;font-weight:750;line-height:1.55}
.contact-field-error-v22{color:#ffd6c9;font-size:11px;font-weight:750;line-height:1.45}
.contact-fields-v22 [aria-invalid="true"]{border-color:#ffbaaa;box-shadow:0 0 0 2px rgba(255,165,150,.15)}
.contact-feedback-v22.is-error{padding:24px;border:1px solid rgba(255,184,169,.55);border-radius:14px;background:rgba(105,38,47,.28)}
@media(max-width:1100px){
 .portfolio-wall .project-card{grid-column:span 6}
 .portfolio-wall .project-card:nth-child(1),.portfolio-wall .project-card:nth-child(11),.portfolio-wall .project-card:nth-child(20){grid-column:span 12}
 .footer-base{grid-template-columns:1fr;gap:18px;text-align:center}
 .footer-base>div:first-child,.footer-base nav,.footer-base small{grid-column:1;grid-row:auto;justify-self:center}
 .footer-base nav{justify-content:center}
 html[dir=rtl] .footer-base small{justify-self:center}
}
@media(max-width:1000px){.studio-hero-v23 .page-display{font-size:clamp(68px,8vw,94px)}}
@media(max-width:700px){
 .hero-film-v21{background-image:url('/assets/film/home-v34-mobile-poster.webp')}
 html[dir=rtl] .hero-film-v21{background-image:url('/assets/film/home-v34-mobile-poster.webp')}
 .client-logo-row{grid-auto-columns:158px;grid-template-rows:repeat(2,92px)}
 .logo-art{width:125px;height:56px}
 .logo-art.crest{width:82px;height:57px}
 .logo-art.symbol{width:78px;height:56px}
 .archive-invitation{display:block;min-height:0;padding-top:85px;padding-bottom:70px}
 .archive-invitation-count{font-size:116px}
 .archive-invitation h2{font-size:clamp(43px,9vw,67px)}
 .archive-invitation-art{display:block;margin-top:35px}
 .archive-invitation-frame:not(:first-child){display:none}
 .work-hero-v23{min-height:620px;padding-top:140px;padding-bottom:95px}
 .work-hero-copy h1{font-size:clamp(70px,15vw,105px);margin:20px 0}
 .work-hero-copy>p:not(.micro){font-size:16px}
 .work-hero-rule{bottom:24px;font-size:8px}
 .portfolio-wall{grid-template-columns:1fr;gap:35px}
 .portfolio-wall .project-card,.portfolio-wall .project-card:nth-child(1),.portfolio-wall .project-card:nth-child(11),.portfolio-wall .project-card:nth-child(20){grid-column:auto}
 .portfolio-wall .project-card:nth-child(1) .project-browser>img,.portfolio-wall .project-card:nth-child(11) .project-browser>img,.portfolio-wall .project-card:nth-child(20) .project-browser>img{aspect-ratio:1.56}
 .expertise-hero-v23{min-height:620px;padding-top:145px;padding-bottom:80px}
 .expertise-hero-v23 .page-display{font-size:clamp(64px,12vw,87px)}
 .expertise-hero-copy>p:last-child{font-size:16px}
 .expertise-evidence{padding-block:85px 90px}
 .expertise-evidence-head{display:block}
 .expertise-evidence-head h2{font-size:clamp(50px,10vw,70px)}
 .expertise-evidence-head>p{margin-top:22px}
 .expertise-evidence-grid{grid-template-columns:1fr 1fr;gap:9px}
 .expertise-evidence-card:first-child{grid-column:1/-1}
 .expertise-evidence-card{padding:8px}
 .expertise-evidence-card span{font-size:9px}
 .studio-hero-v23{min-height:620px;padding-top:140px;padding-bottom:70px}
 .studio-hero-v23 .page-display{font-size:clamp(62px,11vw,85px);margin:24px 0}
 .studio-hero-bottom{display:block}
 .studio-hero-bottom span{display:block;margin-top:11px}
 .studio-copy p:first-of-type{font-size:19px}
 .footer-base{padding-block:38px;gap:24px}
 .footer-base>div:first-child{grid-column:1;grid-row:1}
 .footer-base .brand-type{width:145px}
 .footer-base p{display:block;margin-top:9px;font-size:10px}
 .footer-base nav{grid-column:1;grid-row:2;display:flex;gap:15px 20px}
 .footer-base small{grid-column:1;grid-row:3;font-size:9px}
}
@media(prefers-reduced-motion:reduce){.expertise-evidence-card{transition:none}}

/* Respect the intended thumbnail aspect ratio when the HTML provides intrinsic image dimensions. */
.portfolio-wall .project-browser>img{height:auto}

/* A distinct short film anchors each inner page while the poster stays visible until playback. */
.motion-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#081326}
.motion-backdrop>img,.motion-backdrop>video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
html[dir=rtl] .motion-backdrop>img,html[dir=rtl] .motion-backdrop>video{transform:scaleX(-1)}
.motion-backdrop>video{opacity:0;transition:opacity .7s ease}
.motion-backdrop>video.is-playing{opacity:1}
.motion-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,25,.56),rgba(5,12,28,.12) 58%,rgba(5,12,28,.05));pointer-events:none}
.page-film-toggle{position:absolute;z-index:5;top:128px;right:clamp(24px,5.3vw,100px);display:grid;place-items:center;width:43px;height:43px;padding:0;border:1px solid rgba(230,244,255,.5);border-radius:50%;background:rgba(10,23,47,.4);color:#f4fbff;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);cursor:pointer;transition:background .25s,transform .25s}
.page-film-toggle:hover{background:rgba(38,85,154,.66);transform:scale(1.05)}
.page-film-toggle:focus-visible{outline:2px solid #9be8fb;outline-offset:3px}
.page-film-toggle i{position:relative;width:12px;height:14px;border-inline-start:2px solid currentColor;border-inline-end:2px solid currentColor}
.page-film-toggle[aria-pressed=true] i{width:13px;height:14px;border:0;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
html[dir=rtl] .page-film-toggle{right:auto;left:clamp(24px,5.3vw,100px)}
.work-hero-v23,.studio-hero-v23{background:#081326;color:#f7fbff;isolation:isolate}
.work-hero-v23 .motion-backdrop::after{background:linear-gradient(90deg,rgba(5,12,29,.75),rgba(5,12,29,.22) 64%,rgba(5,12,29,.08))}
.work-hero-v23 :is(.work-hero-copy,.work-hero-rule),.expertise-hero-v23 .expertise-hero-copy,.studio-hero-v23 .studio-hero-text,.contact-hero-v22>div:not(.motion-backdrop){position:relative;z-index:1}
.work-hero-v23 .work-hero-rule{position:absolute;border-color:rgba(216,235,255,.32);color:#c2d2e6}
.work-hero-v23 .micro,.studio-hero-v23 .micro{color:#c8daee}
.work-hero-copy>p:not(.micro),.studio-hero-bottom{color:#d1e2f4}
.work-hero-copy>a{border-color:#b7e9f6;color:#f4fcff}
.expertise-hero-v23,.contact-hero-v22{isolation:isolate}
.expertise-hero-v23 .motion-backdrop::after{background:linear-gradient(90deg,rgba(5,12,30,.7),rgba(5,12,30,.15) 60%,rgba(5,12,30,.08))}
.studio-hero-v23 .motion-backdrop::after{background:linear-gradient(90deg,rgba(6,10,32,.68),rgba(6,10,32,.2) 70%,rgba(6,10,32,.05))}
.studio-hero-v23 .page-display em{color:#c4eaff}
.studio-hero-bottom{border-color:rgba(215,233,255,.36)}
.contact-hero-v22 .motion-backdrop::after{background:linear-gradient(90deg,rgba(5,12,30,.72),rgba(5,12,30,.21) 70%,rgba(5,12,30,.07))}
.contact-hero-v22>.motion-backdrop{position:absolute;inset:0;max-width:none;z-index:0}
html[dir=rtl] :is(.work-hero-v23,.expertise-hero-v23,.studio-hero-v23,.contact-hero-v22) .motion-backdrop::after{background:linear-gradient(270deg,rgba(5,10,27,.72),rgba(5,10,27,.2) 68%,rgba(5,10,27,.06))}
@media(max-width:700px){.page-film-toggle{top:108px;right:24px;width:38px;height:38px}html[dir=rtl] .page-film-toggle{left:24px}.motion-backdrop::after{background:linear-gradient(90deg,rgba(4,10,25,.67),rgba(5,12,28,.18))}.work-hero-v23 .motion-backdrop::after,.studio-hero-v23 .motion-backdrop::after{background:linear-gradient(180deg,rgba(5,12,29,.58),rgba(5,12,29,.25) 60%,rgba(5,12,29,.45))}}

/* Arabic letterforms need their own measure, line box and spacing rhythm. */
html[lang=ar] body{font-size:16px;line-height:1.8}
html[lang=ar] :is(h1,h2,h3){letter-spacing:0;line-height:1.3}
html[lang=ar] :is(.section-index,.eyebrow,.micro,.section-label,.footer-call-top,.contact-route-copy small,.contact-card-head span,.work-hero-rule,.studio-hero-bottom span){letter-spacing:0;line-height:1.6}
html[lang=ar] :is(.glass-button,.wa-action,.contact-pill,.desktop-nav a,.footer-base nav a){font-size:14px}
html[lang=ar] :is(.hero-film-v21-content h1,.work-hero-copy h1,.expertise-hero-v23 .page-display,.studio-hero-v23 .page-display,.contact-hero-v22 h1){letter-spacing:0;line-height:1.24}
html[lang=ar] .hero-film-v21-content h1{font-size:clamp(57px,6vw,93px);max-width:800px}
html[lang=ar] .work-hero-copy h1{font-size:clamp(58px,6.3vw,100px);margin-block:26px 22px}
html[lang=ar] .expertise-hero-v23 .page-display,
html[lang=ar] .studio-hero-v23 .page-display{font-size:clamp(56px,6vw,96px)}
html[lang=ar] .contact-hero-v22 h1{font-size:clamp(56px,5.3vw,88px);line-height:1.29;max-width:820px}
html[lang=ar] .contact-hero-v22 .micro{margin-bottom:19px}
html[lang=ar] :is(.v21-section-head h2,.v21-practice-intro h2,.archive-invitation h2,.expertise-evidence-head h2,.studio-evidence-head h2,.section-heading h2){font-size:clamp(44px,5.3vw,80px);letter-spacing:0;line-height:1.27}
html[lang=ar] .footer-call h2{font-size:clamp(52px,5.7vw,92px);letter-spacing:0;line-height:1.29;max-width:1000px;margin-block:40px 25px}
html[lang=ar] .footer-call>p{line-height:1.8}
html[dir=rtl] .footer-base small{justify-self:end}
html[lang=ar] .footer-base p{font-size:12px;line-height:1.7}
html[lang=ar] .footer-base nav{gap:14px 24px}
@media(max-width:1100px){
 html[dir=rtl] .footer-base small{justify-self:center}
}
@media(max-width:700px){
 html[lang=ar] .hero-film-v21-content h1{font-size:clamp(48px,10vw,68px)}
 html[lang=ar] .work-hero-copy h1{font-size:clamp(52px,11vw,75px)}
 html[lang=ar] .expertise-hero-v23 .page-display,
 html[lang=ar] .studio-hero-v23 .page-display{font-size:clamp(49px,10vw,68px)}
 html[lang=ar] .contact-hero-v22 h1{font-size:clamp(44px,9.5vw,66px);line-height:1.31}
 html[lang=ar] .contact-hero-v22{padding-top:155px;padding-bottom:68px}
 html[lang=ar] :is(.v21-section-head h2,.v21-practice-intro h2,.archive-invitation h2,.expertise-evidence-head h2,.studio-evidence-head h2,.section-heading h2){font-size:clamp(39px,9vw,61px)}
 html[lang=ar] .footer-call h2{font-size:clamp(44px,9vw,64px);line-height:1.32;margin-top:30px}
 html[lang=ar] .footer-base nav{justify-content:center;gap:14px 22px}
 html[lang=ar] .footer-base p{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.motion-backdrop>video{display:none}.page-film-toggle{display:none}}
/* Preserve the original symbol–wordmark lockup in both reading directions. */
.brand{direction:ltr}
html[lang=ar] .footer-call h2{font-size:clamp(46px,5vw,78px);line-height:1.34;max-width:900px}
html[lang=ar] .footer-base{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:19px}
html[lang=ar] .footer-base>div:first-child,html[lang=ar] .footer-base nav,html[lang=ar] .footer-base small{grid-column:1;grid-row:auto;justify-self:center}
html[lang=ar] .footer-base nav{justify-content:center}
@media(max-width:700px){html[lang=ar] .footer-call h2{font-size:clamp(42px,9vw,60px)}}
/* Center the Arabic invitation as a single balanced footer composition. */
html[lang=ar] .footer-call{text-align:center}
html[lang=ar] .footer-call-top{text-align:start}
html[lang=ar] .footer-call h2{margin-inline:auto;max-width:840px;font-size:clamp(46px,5vw,72px)}
@media(max-width:700px){html[lang=ar] .footer-call h2{font-size:clamp(40px,9vw,56px)}}

/* v34 responsive film posters; real code and website text must never be mirrored. */
.motion-backdrop>picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.motion-backdrop>picture img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
html[dir=rtl] .motion-backdrop>video,html[dir=rtl] .motion-backdrop>picture{transform:none}

.contact-hero-v22 .motion-backdrop::after{background:linear-gradient(90deg,rgba(5,12,30,.88),rgba(5,12,30,.42) 65%,rgba(5,12,30,.26)),linear-gradient(0deg,rgba(4,9,22,.36),transparent 56%)}
html[dir=rtl] .contact-hero-v22 .motion-backdrop::after{background:linear-gradient(270deg,rgba(5,12,30,.88),rgba(5,12,30,.42) 65%,rgba(5,12,30,.26)),linear-gradient(0deg,rgba(4,9,22,.36),transparent 56%)}

/* v34 Work's original client captures retain their own color and typography. */
.work-hero-v23 .motion-backdrop::after,
html[dir=rtl] .work-hero-v23 .motion-backdrop::after{background:none}


/* SOURCE /assets/case.css */
/* Flexicodal case studies: quiet, static backdrop and actual page captures. */
.case-v18{position:relative;isolation:isolate}
.case-v18> *{position:relative;z-index:1}
.case-v18 > .case-film-backdrop{position:absolute;inset:0 0 auto;z-index:0;height:min(900px,96svh);max-width:none;opacity:.9;mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 100%)}
.case-v18 .case-film-backdrop::after{background:linear-gradient(90deg,rgba(5,9,24,.68),rgba(5,9,24,.28) 56%,rgba(5,9,24,.12))}
html[dir=rtl] .case-v18 .case-film-backdrop::after{background:linear-gradient(270deg,rgba(5,9,24,.68),rgba(5,9,24,.28) 56%,rgba(5,9,24,.12))}
.case-v18 > .case-film-toggle{position:absolute;z-index:4}
.case-v18 .case-lead{padding:16px 18px 18px;border:1px solid rgba(220,236,255,.2);border-radius:14px;background:rgba(10,20,42,.57);backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px)}
.case-v18 {
  padding-top: 148px;
  padding-bottom: clamp(78px, 9vw, 138px);
  min-height: 100svh;
  background:
    radial-gradient(ellipse 52% 36% at 76% 23%, rgba(103, 126, 193, .16), transparent),
    radial-gradient(ellipse 44% 32% at 12% 82%, rgba(93, 91, 175, .11), transparent),
    #0b1020;
}
.case-v18 .case-unified-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 0 0 22px;
  border-bottom-color: rgba(216, 229, 255, .17);
  color: #a7b4cc;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .105em;
}
.case-v18 .case-back {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  border: 0;
  text-decoration: none;
  color: #eef4ff;
  font-size: 12px;
  font-weight: 750;
}
.case-v18 .case-back span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(227, 239, 255, .27);
  border-radius: 50%;
  font-size: 15px;
  transition: background .25s, transform .25s;
}
.case-v18 .case-back:hover span { background: rgba(221, 235, 255, .18); transform: translateX(-3px); }
.case-v18 .case-unified-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .65fr);
  gap: clamp(30px, 8vw, 140px);
  align-items: end;
  margin: clamp(46px, 5vw, 80px) 0 clamp(42px, 5vw, 70px);
}
.case-v18 .case-unified-heading > div { min-width: 0; }
.case-v18 .case-overline {
  margin: 0 0 20px;
  color: #bed4ec;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.case-v18 .case-overline a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 4px;
}
.case-v18 .case-overline a:hover { color: #e4f8ff; text-decoration: underline; }
.case-v18 .case-overline a:focus-visible,
.case-v18 .case-facts a:focus-visible { outline: 2px solid #9aefff; outline-offset: 5px; border-radius: 2px; }
.case-v18 .case-overline span { margin-inline: 8px; color: #5f718e; }
.case-v18 .case-unified-heading h1 {
  margin: 0;
  font-size: clamp(62px, 7.7vw, 132px);
  line-height: .9;
  letter-spacing: -.065em;
  font-weight: 700;
  overflow-wrap: anywhere;
}
html[lang=ar] .case-v18 .case-unified-heading h1[dir=ltr] { text-align: right; }
.case-v18 .case-lead { border-top: 1px solid rgba(223, 236, 255, .25); padding-top: 15px; }
.case-v18 .case-lead span {
  display: block;
  margin-bottom: 19px;
  color: #91a5c6;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
}
.case-v18 .case-lead p {
  max-width: 430px;
  margin: 0;
  color: #d3ddec;
  font-size: clamp(15px, 1.25vw, 18px);
  line-height: 1.65;
}
.case-v18 .case-stage {
  position: relative;
  display: block;
  min-height: 0;
  overflow: visible;
  padding: clamp(12px, 1.5vw, 21px);
  border: 1px solid rgba(229, 238, 255, .28);
  border-top-color: rgba(255, 255, 255, .53);
  border-radius: clamp(19px, 2.5vw, 33px);
  background: linear-gradient(145deg, rgba(220, 234, 255, .16), rgba(139, 173, 226, .055) 44%, rgba(151, 175, 217, .09));
  box-shadow: inset 0 1px rgba(255, 255, 255, .15), 0 36px 95px rgba(1, 4, 20, .36);
  backdrop-filter: blur(24px) saturate(130%);
  -webkit-backdrop-filter: blur(24px) saturate(130%);
}
.case-v18 .case-stage::before { display: none; }
.case-v18 .case-stage-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 5px 15px;
  color: #c0cce0;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.case-v18 .case-stage-live { display: inline-flex; align-items: center; gap: 10px; color: #f2f6ff; }
.case-v18 .case-stage-live i { width: 6px; height: 6px; border-radius: 50%; background: #aed6e6; box-shadow: 0 0 11px #a6c8e4; }
.case-v18 .case-stage-grid {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: minmax(0, 1.95fr) minmax(0, .84fr) minmax(0, .56fr);
  gap: clamp(9px, 1vw, 15px);
  align-items: stretch;
}
.case-v18 .case-stage.has-2 .case-stage-grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.case-v18 .case-stage.has-1 .case-stage-grid { grid-template-columns: 1fr; }
.case-v18 .case-device,
.case-v18 .case-stage.has-1 .case-device,
.case-v18 .case-stage.has-2 .case-device {
  position: relative;
  z-index: auto;
  inset: auto;
  width: auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  margin: 0;
  transform: none;
  transition: none;
}
.case-v18 .case-device:hover,
.case-v18 .case-stage.has-1 .case-device:hover { transform: none; }
.case-v18 .case-device-display {
  display: grid;
  place-items: center;
  flex: 1;
  min-width: 0;
  min-height: 0;
  padding: clamp(13px, 1.35vw, 24px);
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.case-v18 .hardware {
  position: relative;
  flex: none;
  max-width: 100%;
  box-shadow: 0 22px 48px rgba(0, 3, 14, .45);
}
.case-v18 .hardware-camera { position: absolute; z-index: 2; background: #05080d; }
.case-v18 .hardware-screen {
  position: relative;
  overflow: hidden;
  /* Match each capture's own viewport ratio; never crop it into a device. */
  background: #f2f3f5;
  border: 0;
}
.case-v18 .hardware-screen img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  background: #f2f3f5;
}
.case-v18 .hardware.macbook {
  width: min(100%, 850px);
  padding: clamp(5px, .65vw, 9px) clamp(5px, .65vw, 9px) clamp(6px, .75vw, 10px);
  border: 1px solid #69717e;
  border-radius: 10px 10px 2px 2px;
  background: #141820;
}
.case-v18 .macbook .hardware-screen { border-radius: 4px 4px 0 0; }
.case-v18 .macbook .hardware-camera {
  width: 3px;
  height: 3px;
  top: 2px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #283446;
}
.case-v18 .hardware.macbook::after {
  content: "";
  position: absolute;
  top: 100%;
  left: -4%;
  width: 108%;
  height: clamp(6px, .75vw, 10px);
  border-radius: 0 0 48% 48% / 0 0 75% 75%;
  background: linear-gradient(#bcc2cb, #7e8793 45%, #414a56);
  box-shadow: 0 8px 17px rgba(0, 2, 12, .28);
}
.case-v18 .hardware.macbook::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 100%;
  left: 39%;
  width: 22%;
  height: 2px;
  border-radius: 0 0 8px 8px;
  background: #545b65;
}
.case-v18 .hardware.ipad {
  width: min(100%, 370px);
  padding: clamp(6px, .65vw, 9px);
  border: 1px solid #8c929c;
  border-radius: clamp(17px, 1.7vw, 24px);
  background: #11151c;
  box-shadow: 0 24px 45px rgba(0, 3, 14, .45);
}
.case-v18 .ipad .hardware-screen { border-radius: clamp(12px, 1.15vw, 17px); }
.case-v18 .ipad .hardware-camera { width: 3px; height: 3px; top: 3px; left: 50%; border-radius: 50%; background: #2c3745; }
.case-v18 .hardware.iphone {
  width: min(100%, 235px);
  padding: clamp(4px, .5vw, 6px);
  border: 1px solid #9299a3;
  border-radius: clamp(22px, 2.25vw, 32px);
  background: #10141a;
  box-shadow: 0 27px 45px rgba(0, 3, 14, .48);
}
.case-v18 .iphone .hardware-screen { border-radius: clamp(18px, 1.85vw, 27px); }
.case-v18 .iphone .hardware-camera {
  width: 23%;
  height: clamp(5px, .6vw, 8px);
  left: 38.5%;
  top: clamp(7px, .75vw, 10px);
  border-radius: 999px;
  background: #050609;
}
.case-v18 .hardware.iphone::before,
.case-v18 .hardware.iphone::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 10%;
  top: 22%;
  left: -2px;
  border-radius: 2px 0 0 2px;
  background: #787f88;
}
.case-v18 .hardware.iphone::after { height: 8%; top: 31%; left: auto; right: -2px; border-radius: 0 2px 2px 0; }
.case-v18 .case-device figcaption {
  width: 100%;
  max-width: none;
  min-height: 65px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 4px 10px;
  margin: 0;
  padding: 13px 4px 1px;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  font-size: 12px;
  line-height: 1.25;
}
.case-v18 .case-device figcaption .case-device-id {
  grid-column: 1 / -1;
  color: #97a9c8;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.case-v18 .case-device figcaption strong { color: #f4f7fe; font-size: 13px; font-weight: 700; }
.case-v18 .case-device figcaption a {
  color: #c2d6f2;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  transition: color .2s;
}
.case-v18 .case-device figcaption a:hover { color: #fff; }
.case-v18 .case-device figcaption a span { display: inline-block; margin-inline-start: 5px; font-size: 14px; line-height: .7; }
.case-v18 .case-stage.has-1 .case-device-display { min-height: clamp(320px, 38vw, 640px); }
.case-v18 .case-stage.has-1 .hardware.macbook { width: min(100%, 970px); }
.case-v18 .case-stage.has-1 .hardware.ipad { width: min(100%, 420px); }
.case-v18 .case-stage.has-1 .hardware.iphone { width: min(100%, 270px); }
.case-v18 .case-stage-fallback { display: flex; align-items: center; justify-content: center; overflow: hidden; min-height: 550px; }
.case-v18 .case-stage-fallback img { width: 100%; max-height: 680px; object-fit: contain; }
.case-v18 .case-stage-fallback > span { position: absolute; bottom: 25px; left: 25px; border: 1px solid rgba(255,255,255,.35); border-radius: 8px; padding: 8px 12px; background: rgba(9,16,32,.65); font-size: 10px; }
.case-v18 .case-gallery-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  border-bottom: 1px solid rgba(216, 229, 255, .18);
  border-bottom-color: rgba(216, 229, 255, .18);
  padding: clamp(21px, 2.5vw, 35px) 0;
}
.case-v18 .gallery-kicker { color: #e7eefb; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.case-v18 .case-gallery-controls p { margin: 5px 0 0; color: #94a6c5; font-size: 13px; }
.case-v18 .gallery-switch { display: flex; align-items: center; gap: 11px; flex: none; }
.case-v18 .gallery-switch button {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  border-color: rgba(222, 236, 255, .28);
  background: rgba(219, 233, 255, .11);
  color: #fff;
  font-size: 24px;
  transition: background .2s, transform .2s;
}
.case-v18 .gallery-switch button:hover { background: rgba(223, 236, 255, .23); transform: translateY(-2px); }
.case-v18 .gallery-switch span { min-width: 48px; text-align: center; color: #9aabc7; font-size: 12px; font-weight: 800; letter-spacing: .1em; }
.case-v18 .gallery-switch b { color: #fff; }
.case-v18 .case-overview {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  align-items: start;
  gap: clamp(30px, 5vw, 95px);
  margin: clamp(24px, 3vw, 48px) 0;
  padding: clamp(26px, 3.3vw, 54px);
  overflow: hidden;
  border: 1px solid rgba(220, 235, 255, .21);
  border-top-color: rgba(240, 248, 255, .37);
  border-radius: clamp(16px, 1.8vw, 25px);
  background: linear-gradient(130deg, rgba(227, 239, 255, .115), rgba(113, 153, 220, .055) 46%, rgba(111, 137, 196, .09));
  box-shadow: inset 0 1px rgba(255, 255, 255, .11), 0 20px 55px rgba(2, 5, 18, .15);
  backdrop-filter: blur(20px) saturate(120%);
  -webkit-backdrop-filter: blur(20px) saturate(120%);
}
.case-v18 .case-overview::before {
  content: "";
  position: absolute;
  inset-block-start: -120px;
  inset-inline-end: -90px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(165, 202, 255, .085);
  filter: blur(55px);
  pointer-events: none;
}
.case-v18 .case-overview-heading { position: relative; z-index: 1; }
.case-v18 .case-overview-heading > span {
  display: block;
  margin-bottom: clamp(18px, 2vw, 30px);
  color: #a9c1e2;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.case-v18 .case-overview h2 {
  max-width: 520px;
  margin: 0;
  color: #f5f8ff;
  font-size: clamp(32px, 3.35vw, 56px);
  line-height: 1.09;
  letter-spacing: -.055em;
  font-weight: 650;
}
.case-v18 .case-overview > p {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0;
  padding-inline-start: clamp(24px, 3vw, 54px);
  border-inline-start: 1px solid rgba(220, 235, 255, .2);
  color: #d2deef;
  font-size: clamp(15px, 1.28vw, 18px);
  line-height: 1.82;
}
html[lang=ar] .case-v18 .case-overview h2 { line-height: 1.35; letter-spacing: -.025em; }
html[lang=ar] .case-v18 .case-overview > p { line-height: 2; }
.case-v18 .case-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: 25px;
  border: 1px solid rgba(221, 234, 255, .22);
  border-radius: 14px;
  background: rgba(221, 234, 255, .055);
}
.case-v18 .case-facts > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
  padding: 20px 22px;
}
.case-v18 .case-facts > div + div { border-inline-start: 1px solid rgba(221, 234, 255, .16); }
.case-v18 .case-facts span {
  color: #96aac7;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.case-v18 .case-facts strong {
  color: #e8eef8;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.case-v18 .case-facts a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  color: #e8eef8;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.5;
  text-decoration-color: rgba(189, 218, 255, .55);
  text-underline-offset: 4px;
  overflow-wrap: anywhere;
}
.case-v18 .case-facts a:hover,
.case-v18 .case-facts a:focus-visible { color: #9aefff; text-decoration-color: currentColor; }
html[lang=ar] .case-v18 .case-overline { direction: ltr; text-align: right; }
.case-v18 .case-unified-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  padding-top: clamp(29px, 3vw, 50px);
}
.case-v18 .case-client-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 174px;
  height: 74px;
  min-height: 0;
  min-width: 0;
  max-width: none;
  padding: 16px 21px;
  border: 1px solid #fff;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .15);
  color: #182039;
}
.case-v18 .case-client-logo img { display: block; width: auto; height: auto; max-width: 132px; max-height: 40px; object-fit: contain; }
.case-v18 .case-client-logo strong { font-size: 19px; line-height: 1.1; }
.case-v18 .case-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.case-v18 .case-unified-bottom .case-actions { margin: 0; justify-content: end; gap: 10px; }
.case-v18 .case-actions .glass-button { min-height: 49px; border-radius: 12px; }
.case-v18 .case-all {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-top: clamp(48px, 5vw, 75px);
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(221, 234, 255, .55);
  color: #e5eefc;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.case-v18 .case-all span { font-size: 17px; font-weight: 400; }
html[dir=rtl] .case-v18 .case-back span { transform: scaleX(-1); }
html[dir=rtl] .case-v18 .case-back:hover span { transform: scaleX(-1) translateX(-3px); }
html[lang=ar] .case-v18 :is(.case-lead span,.case-stage-head,.case-device-id,.gallery-kicker,.case-facts span,.case-overline,.case-unified-top){letter-spacing:0;line-height:1.6}
@media (max-width: 1180px) {
  .case-v18 .case-stage-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
  .case-v18 .case-stage-grid .device-macbook { grid-column: 1 / -1; }
  .case-v18 .case-stage.has-2 .case-stage-grid:has(.device-macbook) { grid-template-columns: 1fr; }
  .case-v18 .case-device-display { padding: 20px; }
  .case-v18 .case-unified-bottom .case-actions { justify-content: start; }
}
@media (max-width: 820px) {
  .case-v18 .case-unified-heading { grid-template-columns: 1fr; gap: 28px; }
  .case-v18 .case-lead { max-width: 580px; }
  .case-v18 .case-stage-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
  .case-v18 .case-stage.has-2 .case-stage-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); }
  .case-v18 .case-stage.has-2 .case-stage-grid:has(.device-macbook) { grid-template-columns: 1fr; }
  .case-v18 .case-stage.has-1 .case-device-display { min-height: 0; }
  .case-v18 .case-overview { grid-template-columns: 1fr; gap: 23px; }
  .case-v18 .case-overview-heading > span { margin-bottom: 13px; }
  .case-v18 .case-overview > p { max-width: 720px; padding-inline-start: 0; border-inline-start: 0; }
  .case-v18 .case-unified-bottom { align-items: start; flex-direction: column; }
  .case-v18 .case-client-logo { flex: none; }
  .case-v18 .case-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .case-v18 { padding-top: 128px; padding-bottom: 75px; }
  .case-v18 .case-unified-top { align-items: start; gap: 10px; font-size: 10px; }
  .case-v18 .case-unified-top > span { max-width: 46%; text-align: end; line-height: 1.5; }
  .case-v18 .case-back { font-size: 10px; }
  .case-v18 .case-back span { width: 25px; height: 25px; }
  .case-v18 .case-unified-heading { margin: 48px 0 34px; }
  .case-v18 .case-unified-heading h1 { font-size: clamp(56px, 12vw, 85px); }
  html[lang=ar] .case-v18 .case-unified-heading h1[dir=ltr] { font-size: clamp(43px, 10vw, 70px); }
  .case-v18 .case-lead p { font-size: 15px; }
  .case-v18 .case-stage { padding: 9px; border-radius: 20px; }
  .case-v18 .case-stage-head { padding: 3px 3px 11px; font-size: 10px; }
  .case-v18 .case-stage-head > span:last-child { max-width: 54%; text-align: end; }
  .case-v18 .case-stage-grid,
  .case-v18 .case-stage.has-2 .case-stage-grid { grid-template-columns: 1fr; gap: 12px; }
  .case-v18 .case-stage-grid .device-macbook { grid-column: auto; }
  .case-v18 .case-device-display { min-height: 0; padding: 16px; border-radius: 12px; }
  .case-v18 .device-ipad .case-device-display { min-height: 0; }
  .case-v18 .device-iphone .case-device-display { min-height: 0; }
  .case-v18 .hardware.ipad,
  .case-v18 .case-stage.has-1 .hardware.ipad { width: min(88%, 320px); }
  .case-v18 .hardware.iphone,
  .case-v18 .case-stage.has-1 .hardware.iphone { width: min(70%, 235px); }
  .case-v18 .case-stage.has-1 .hardware.macbook { width: 100%; }
  .case-v18 .hardware.macbook { padding: 4px; border-radius: 8px 8px 2px 2px; }
  .case-v18 .hardware.ipad { padding: 5px; border-radius: 16px; }
  .case-v18 .hardware.iphone { padding: 4px; border-radius: 22px; }
  .case-v18 .macbook .hardware-screen { border-radius: 2px 2px 0 0; }
  .case-v18 .ipad .hardware-screen { border-radius: 10px; }
  .case-v18 .iphone .hardware-screen { border-radius: 16px; }
  .case-v18 .case-device figcaption { min-height: 60px; padding: 10px 3px 2px; column-gap: 4px; }
  .case-v18 .case-device figcaption .case-device-id { font-size: 10px; }
  .case-v18 .case-device figcaption strong { font-size: 12px; }
  .case-v18 .case-device figcaption a { font-size: 11px; }
  .case-v18 .case-device figcaption a span { display: none; }
  .case-v18 .case-gallery-controls { align-items: start; flex-direction: column; gap: 17px; }
  .case-v18 .case-overview { margin: 24px 0; padding: 25px 21px 27px; border-radius: 17px; }
  .case-v18 .case-overview h2 { font-size: clamp(31px, 8.5vw, 43px); }
  .case-v18 .case-overview > p { font-size: 15px; line-height: 1.75; }
  .case-v18 .case-unified-bottom .case-actions { width: 100%; gap: 9px; }
  .case-v18 .case-actions .glass-button { flex: 1 1 auto; padding-inline: 13px; min-height: 46px; font-size: 11px; }
  html[lang=ar] .case-v18 .case-actions .glass-button{font-size:13px;line-height:1.5}
  .case-v18 .case-client-logo { height: 64px; flex-basis: auto; }
  .case-v18 .case-facts { grid-template-columns: 1fr; margin-top: 19px; }
  .case-v18 .case-facts > div { gap: 6px; padding: 14px 16px; }
  .case-v18 .case-facts > div + div { border-inline-start: 0; border-top: 1px solid rgba(221, 234, 255, .16); }
  .case-v18 .case-facts > div:last-child { grid-column: auto; }
  .case-v18 .case-facts strong { font-size: 13px; }
}
@media (max-width: 370px) {
  .case-v18 .case-device-display { min-height: 0; }
  .case-v18 .case-device figcaption { display: flex; flex-wrap: wrap; }
  .case-v18 .case-device figcaption .case-device-id { width: 100%; }
  .case-v18 .case-unified-bottom .case-actions { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  .case-v18 .case-back span,
  .case-v18 .gallery-switch button { transition: none; }
}
/* Reserve room for the motion control beside the project navigation. */
.case-v18 .case-unified-top { padding-inline-end: 72px; }
@media (max-width: 700px) {
  .case-v18 .case-unified-top { padding-inline-end: 55px; }
}


/* SOURCE /assets/case-v30.css */
/* Case study visual system: editorial captures, not a miniaturised device pile. */
.case-v18{background:#080e1c}
.case-v18 .case-unified-top{border-bottom:1px solid rgba(234,245,255,.27)}
.case-v18 .case-unified-heading{grid-template-columns:minmax(0,1.18fr) minmax(290px,.65fr);gap:clamp(45px,8vw,145px)}
.case-v18 .case-unified-heading h1{max-width:100%;text-wrap:balance}
.case-v18 .case-lead{border:0;border-inline-start:1px solid rgba(229,240,255,.46);border-radius:0;padding:0 0 0 clamp(22px,2vw,38px);background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
html[dir=rtl] .case-v18 .case-lead{padding:0 clamp(22px,2vw,38px) 0 0}
.case-v18 .case-lead span{margin-bottom:12px;color:#b7d8ed}
.case-v18 .case-lead p{color:#f1f5fb}
.case-v18 .case-gallery-intro-v30{display:grid;grid-template-columns:1fr auto;align-items:end;gap:15px 35px;padding:clamp(62px,8vw,135px) 0 clamp(30px,4vw,58px);border-top:1px solid rgba(230,242,255,.25);scroll-margin-top:98px}
.case-v18 .case-gallery-intro-v30>span{grid-column:1/-1;color:#a9c3df;font-size:11px;font-weight:800;letter-spacing:.14em}
.case-v18 .case-gallery-intro-v30 h2{margin:0;font-size:clamp(38px,5.3vw,83px);line-height:1.07;letter-spacing:-.055em;max-width:850px}
.case-v18 .case-gallery-intro-v30 a{justify-self:end;align-self:end;padding-bottom:7px;border-bottom:1px solid rgba(235,248,255,.65);color:#f7fbff;text-decoration:none;font-size:13px;font-weight:750;white-space:nowrap}
html[lang=ar] .case-v18 .case-gallery-intro-v30>span{letter-spacing:0;font-size:13px}
html[lang=ar] .case-v18 .case-gallery-intro-v30 h2{font-size:clamp(36px,4.4vw,67px);line-height:1.32;letter-spacing:0}
.case-v18 .case-stage{overflow:visible;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;scroll-margin-top:110px}
.case-v18 .case-stage-head{display:none}
.case-v18 .case-stage-grid,.case-v18 .case-stage.has-2 .case-stage-grid,.case-v18 .case-stage.has-1 .case-stage-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(16px,2.4vw,38px);align-items:stretch}
.case-v18 .case-device{overflow:hidden;border:1px solid rgba(213,228,249,.25);border-radius:clamp(17px,2vw,29px);box-shadow:0 25px 75px rgba(0,2,13,.2);background:linear-gradient(145deg,#233453,#10182b);padding:clamp(16px,2vw,32px);min-height:0;transition:border-color .28s ease,transform .28s ease}
.case-v18 .case-device:hover{border-color:rgba(223,239,255,.7);transform:translateY(-4px)}
.case-v18 .device-ipad{background:linear-gradient(155deg,#dce7f4,#b4c4de 72%,#8ca7c8)}
.case-v18 .device-iphone{background:linear-gradient(145deg,#3d3c65,#1b2341 65%,#121931)}
.case-v18 .case-stage-grid .device-macbook{grid-column:1/-1;min-height:clamp(530px,59vw,830px)}
.case-v18 .case-stage-grid .device-ipad{grid-column:1/7;min-height:clamp(510px,51vw,750px)}
.case-v18 .case-stage-grid .device-iphone{grid-column:7/-1;min-height:clamp(510px,51vw,750px)}
.case-v18.case-layout-b .case-stage-grid .device-ipad{grid-row:1;grid-column:1/7}
.case-v18.case-layout-b .case-stage-grid .device-iphone{grid-row:1;grid-column:7/-1}
.case-v18.case-layout-b .case-stage-grid .device-macbook{grid-row:2}
.case-v18.case-layout-c .case-stage-grid .device-macbook{grid-column:1/8;min-height:660px}
.case-v18.case-layout-c .case-stage-grid .device-ipad{grid-column:8/-1;min-height:660px}
.case-v18.case-layout-c .case-stage-grid .device-iphone{grid-column:3/11;min-height:650px}
.case-v18 .case-stage.has-2 .case-stage-grid .case-device{grid-row:auto;grid-column:span 6;min-height:clamp(480px,53vw,740px)}
.case-v18 .case-stage.has-2 .case-stage-grid .device-macbook{grid-column:1/-1;min-height:clamp(500px,58vw,780px)}
.case-v18 .case-stage.has-1 .case-stage-grid .case-device{grid-row:auto;grid-column:1/-1;min-height:clamp(500px,60vw,780px)}
.case-v18 .case-device-display{flex:1;min-height:0;padding:clamp(12px,1.5vw,25px);place-items:center}
.case-v18 .hardware.macbook{width:min(100%,1110px)}
.case-v18 .hardware.ipad{width:min(100%,420px)}
.case-v18 .hardware.iphone{width:min(100%,280px)}
.case-v18 .case-stage.has-1 .hardware.macbook{width:min(100%,1130px)}
.case-v18 .case-stage.has-1 .hardware.ipad{width:min(100%,460px)}
.case-v18 .case-stage.has-1 .hardware.iphone{width:min(100%,310px)}
.case-v18 .case-device figcaption{border-top:1px solid rgba(229,242,255,.22);padding:17px 5px 0;min-height:78px}
.case-v18 .device-ipad figcaption{border-color:rgba(22,40,71,.25)}
.case-v18 .case-device figcaption .case-device-id{color:#b1c5e0}
.case-v18 .case-device figcaption strong{font-size:15px}
.case-v18 .device-ipad figcaption :is(.case-device-id,strong,a){color:#122640}
.case-v18 .case-gallery-controls{margin-top:clamp(25px,3vw,45px);padding:0 0 clamp(50px,7vw,105px);border-bottom:1px solid rgba(226,240,255,.28)}
.case-v18 .gallery-switch button{border-radius:11px;width:47px;height:47px;background:#192642;border-color:#60799d}
.case-v18 .case-overview{margin:0;padding:clamp(70px,9vw,142px) 0;overflow:visible;border:0;border-bottom:1px solid rgba(230,243,255,.22);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.case-v18 .case-overview::before{display:none}
.case-v18 .case-overview-heading>span{color:#a4bad7}
.case-v18 .case-overview>p{border-inline-start:1px solid rgba(225,239,255,.34);color:#d9e3f1}
.case-v18 .case-facts{margin-top:0;border:0;border-bottom:1px solid rgba(225,239,255,.22);border-radius:0;background:transparent}
.case-v18 .case-facts>div{padding-block:clamp(35px,4vw,65px)}
.case-v18 .case-unified-bottom{margin-top:clamp(70px,9vw,130px)}
.case-v18 .case-stage-fallback{background:linear-gradient(125deg,#283b5c,#111a30);border:1px solid rgba(222,240,255,.24);border-radius:23px;padding:28px}
@media(max-width:1000px){
 .case-v18.case-layout-c .case-stage-grid .device-macbook,.case-v18.case-layout-c .case-stage-grid .device-ipad{grid-column:1/-1;min-height:0}
 .case-v18.case-layout-c .case-stage-grid .device-iphone{grid-column:1/-1;min-height:0}
 .case-v18 .case-stage-grid .device-macbook{min-height:0}
 .case-v18 .case-stage-grid .device-ipad,.case-v18 .case-stage-grid .device-iphone{min-height:500px}
}
@media(max-width:820px){.case-v18 .case-unified-heading{grid-template-columns:1fr;gap:28px}.case-v18 .case-stage-grid .device-ipad,.case-v18 .case-stage-grid .device-iphone,.case-v18.case-layout-b .case-stage-grid .device-ipad,.case-v18.case-layout-b .case-stage-grid .device-iphone{grid-row:auto;grid-column:1/-1}.case-v18.case-layout-b .case-stage-grid .device-macbook{grid-row:auto}.case-v18 .case-stage.has-2 .case-stage-grid .case-device{grid-column:1/-1}}
@media(max-width:600px){
 .case-v18 .case-gallery-intro-v30{display:block;padding-top:75px}
 .case-v18 .case-gallery-intro-v30 h2{margin:14px 0 16px}
 .case-v18 .case-gallery-intro-v30 a{display:inline-block}
 .case-v18 .case-stage-grid,.case-v18 .case-stage.has-2 .case-stage-grid,.case-v18 .case-stage.has-1 .case-stage-grid{gap:18px}
 .case-v18 .case-stage-grid .case-device,.case-v18 .case-stage.has-2 .case-stage-grid .case-device,.case-v18 .case-stage.has-1 .case-stage-grid .case-device{grid-row:auto;grid-column:1/-1;min-height:0;padding:13px;border-radius:20px}
 .case-v18 .case-device-display{padding:20px 8px;min-height:0}
 .case-v18 .device-macbook .case-device-display{padding:25px 5px}
 .case-v18 .device-ipad .case-device-display{padding:28px 5px}
 .case-v18 .device-iphone .case-device-display{padding:28px 5px}
 .case-v18 .hardware.macbook{width:100%}
 .case-v18 .hardware.ipad{width:min(80%,340px)}
 .case-v18 .hardware.iphone{width:min(61%,245px)}
 .case-v18 .case-device figcaption{padding:15px 6px 6px}
 .case-v18 .case-gallery-controls{align-items:start;flex-direction:column;gap:24px}
 .case-v18 .case-overview{padding:75px 0}
 .case-v18 .case-overview>p{border:0;padding-inline-start:0}
}
@media(prefers-reduced-motion:reduce){.case-v18 .case-device{transition:none}.case-v18 .case-device:hover{transform:none}}

/* Narrow screens show one legible capture at a time, with every device one tap away. */
.case-v18 .case-device-selector{display:none}
@media(max-width:820px){
 .case-v18 .case-device-selector{display:flex;gap:6px;overflow-x:auto;margin:0 0 15px;padding:5px;border:1px solid rgba(206,229,255,.22);border-radius:17px;background:rgba(205,225,255,.08);width:max-content;max-width:100%;scrollbar-width:none}
 .case-v18 .case-device-selector::-webkit-scrollbar{display:none}
 .case-v18 .case-device-selector button{appearance:none;border:0;border-radius:12px;background:transparent;color:#c5d5eb;padding:12px 18px;min-height:44px;white-space:nowrap;font-family:inherit;font-size:13px;font-weight:700;line-height:1.2;cursor:pointer;transition:background .2s ease,color .2s ease,box-shadow .2s ease}
 .case-v18 .case-device-selector button[aria-pressed="true"]{color:#111b32;background:#f1f7ff;box-shadow:0 3px 15px rgba(2,8,22,.28)}
 .case-v18 .case-device-selector button:focus-visible{outline:2px solid #8bd7fc;outline-offset:2px}
 .case-v18 .case-stage-grid .case-device,.case-v18 .case-stage.has-2 .case-stage-grid .case-device,.case-v18 .case-stage.has-1 .case-stage-grid .case-device{display:none;grid-column:1/-1;grid-row:auto;min-height:0}
 .case-v18 .case-stage[data-active-device="desktop"] .case-device[data-case-device="desktop"],
 .case-v18 .case-stage[data-active-device="tablet"] .case-device[data-case-device="tablet"],
 .case-v18 .case-stage[data-active-device="mobile"] .case-device[data-case-device="mobile"]{display:flex}
 .case-v18 .case-device-display{min-height:0}
 .case-v18 .hardware.macbook{width:min(100%,900px)}
 .case-v18 .hardware.ipad{width:min(100%,610px)}
 .case-v18 .hardware.iphone{width:min(100%,380px)}
}
@media(max-width:600px){
 .case-v18 .case-device-selector{width:100%;justify-content:space-between}
 .case-v18 .case-device-selector button{flex:1;padding-inline:9px}
 .case-v18 .case-stage-grid .case-device,.case-v18 .case-stage.has-2 .case-stage-grid .case-device,.case-v18 .case-stage.has-1 .case-stage-grid .case-device{padding:13px}
 .case-v18 .case-device-display,.case-v18 .device-macbook .case-device-display,.case-v18 .device-ipad .case-device-display,.case-v18 .device-iphone .case-device-display{padding:13px 2px 23px}
 .case-v18 .hardware.macbook{width:100%}
 .case-v18 .hardware.ipad{width:min(100%,390px)}
 .case-v18 .hardware.iphone{width:min(100%,370px)}
}


/* v43: concise, factual site capabilities following the client overview. */
.case-v18 .v43-case-capabilities{padding:clamp(38px,5vw,72px) 0;border-bottom:1px solid rgba(230,243,255,.2);display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:clamp(24px,5vw,80px);color:#f4f7fb}
.case-v18 .v43-case-capabilities h2{font-size:clamp(27px,3vw,43px);line-height:1.17;letter-spacing:-.04em;max-width:380px;margin:0}
.case-v18 .v43-case-capabilities ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(17px,2vw,32px)}
.case-v18 .v43-case-capabilities li{border-top:1px solid rgba(230,243,255,.33);padding-top:16px;font-size:clamp(15px,1.2vw,18px);line-height:1.55;color:#dce7f2}
html[lang=ar] .case-v18 .v43-case-capabilities h2{letter-spacing:0;line-height:1.4}
html[lang=ar] .case-v18 .v43-case-capabilities li{line-height:1.8}
@media(max-width:1000px){.case-v18 .v43-case-capabilities{grid-template-columns:1fr}.case-v18 .v43-case-capabilities ul{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.case-v18 .v43-case-capabilities ul{grid-template-columns:1fr;gap:12px}.case-v18 .v43-case-capabilities{padding:32px 0}.case-v18 .v43-case-capabilities li{padding-top:12px}}


/* SOURCE /assets/typography-v30.css */
/* Editorial hierarchy: distinctive display type, restrained body type, readable Arabic. */
@font-face{font-family:InstrumentSans;src:url('/assets/fonts/instrument-sans-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:InstrumentSans;src:url('/assets/fonts/instrument-sans-italic-600.ttf') format('truetype');font-style:italic;font-weight:600;font-display:swap}

html[lang=en] :is(h1,h2,h3){font-family:InstrumentSans,Manrope,Arial,sans-serif;font-weight:600;letter-spacing:-.045em;text-wrap:balance}
html[lang=en] :is(.page-display em,.v21-section-head h2 em,.studio-evidence-head h2 em){font-family:InstrumentSans,Manrope,Arial,sans-serif;font-style:italic;font-weight:600;letter-spacing:-.045em}
html[lang=en] :is(.hero-film-v21-content h1,.work-hero-copy h1,.expertise-hero-v23 .page-display,.studio-hero-v23 .page-display,.contact-hero-v22 h1){line-height:1.02;letter-spacing:-.05em}
html[lang=en] .hero-film-v21-content h1{max-width:950px;font-size:clamp(66px,7.3vw,118px)}
html[lang=en] .v21-practice-intro h2{font-size:clamp(48px,5.3vw,83px);line-height:1.06}
html[lang=en] .work-hero-copy h1{font-size:clamp(68px,7.7vw,122px)}
html[lang=en] .expertise-hero-v23 .page-display,html[lang=en] .studio-hero-v23 .page-display{font-size:clamp(67px,7vw,113px);max-width:1050px}
html[lang=en] .contact-hero-v22 h1{font-size:clamp(70px,7.6vw,122px)}
html[lang=en] .footer-call h2{font-size:clamp(64px,7.2vw,116px);line-height:1.04}

html[lang=en] :is(.v21-section-head h2,.expertise-evidence-head h2,.studio-evidence-head h2){font-size:clamp(51px,5.5vw,84px);line-height:1.07}
html[lang=en] .service-item h2{font-size:clamp(33px,3.4vw,54px);line-height:1.12}
html[lang=en] .studio-copy h2,html[lang=en] .method .display-heading{font-size:clamp(46px,5vw,77px);line-height:1.12}
html[lang=en] .case-v18 .case-unified-heading h1[dir=ltr]{font-family:InstrumentSans,Manrope,Arial,sans-serif;font-size:clamp(54px,6.3vw,103px);line-height:1;letter-spacing:-.048em;overflow-wrap:normal}
html[lang=en] .case-v18 .case-overview h2{font-family:InstrumentSans,Manrope,Arial,sans-serif;font-size:clamp(38px,4.1vw,64px);line-height:1.12;letter-spacing:-.042em}
html[lang=en] .case-v18 .case-lead p{font-size:clamp(16px,1.25vw,19px);line-height:1.72}

html[lang=ar] body{font-family:NotoArabic,Manrope,sans-serif;font-size:15px;line-height:1.82}
html[lang=ar] :is(h1,h2,h3){font-family:NotoArabic,Manrope,sans-serif;font-weight:650;letter-spacing:0;line-height:1.32;text-wrap:balance}
html[lang=ar] :is(.page-display em,.studio-evidence-head h2 em){font-family:NotoArabic,Manrope,sans-serif;font-style:normal;font-weight:650;letter-spacing:0}
html[lang=ar] :is(.section-index,.eyebrow,.micro,.section-label,.footer-call-top,.contact-route-copy small,.contact-card-head span,.work-hero-rule,.case-v18 .case-lead span){font-size:11px;letter-spacing:0;line-height:1.7}
html[lang=ar] :is(.hero-film-v21-content h1,.work-hero-copy h1,.expertise-hero-v23 .page-display,.studio-hero-v23 .page-display,.contact-hero-v22 h1){letter-spacing:0;line-height:1.31}
html[lang=ar] .hero-film-v21-content h1{font-size:clamp(50px,5.2vw,80px);max-width:900px}
html[lang=ar] .work-hero-copy h1{font-size:clamp(56px,6vw,91px)}
html[lang=ar] .expertise-hero-v23 .page-display,html[lang=ar] .studio-hero-v23 .page-display{font-size:clamp(51px,5.2vw,81px);max-width:950px}
html[lang=ar] .contact-hero-v22 h1{font-size:clamp(52px,5.5vw,82px);max-width:1000px}
html[lang=ar] :is(.v21-section-head h2,.v21-practice-intro h2,.archive-invitation h2,.expertise-evidence-head h2,.studio-evidence-head h2){font-size:clamp(37px,4.4vw,66px);line-height:1.35;letter-spacing:0}
html[lang=ar] .service-item h2{font-size:clamp(27px,2.8vw,44px);line-height:1.38}
html[lang=ar] .studio-copy h2,html[lang=ar] .method .display-heading{font-size:clamp(34px,4vw,62px);line-height:1.36}
html[lang=ar] .footer-call h2{font-size:clamp(42px,4.8vw,69px);line-height:1.37;max-width:960px}
html[lang=ar] .case-v18 .case-unified-heading h1[dir=ltr]{font-family:InstrumentSans,Manrope,sans-serif;font-size:clamp(49px,6.2vw,99px);line-height:1.04;letter-spacing:-.045em;text-align:right;overflow-wrap:normal}
html[lang=ar] .case-v18 .case-unified-heading h1[dir=rtl]{font-size:clamp(42px,5vw,75px);line-height:1.36;letter-spacing:0}
html[lang=ar] .case-v18 .case-lead p{font-size:16px;line-height:1.85}
html[lang=ar] .case-v18 .case-overview h2{font-size:clamp(35px,3.6vw,56px);line-height:1.38;letter-spacing:0}
html[lang=ar] .case-v18 .case-overview>p{font-size:16px;line-height:1.9}
html[lang=ar] .case-v18 :is(.case-device figcaption,.case-gallery-controls p,.case-facts){line-height:1.7}

@media(max-width:700px){
 html[lang=en] .hero-film-v21-content h1{font-size:clamp(54px,12vw,83px)}
 html[lang=en] .work-hero-copy h1{font-size:clamp(58px,12vw,86px)}
 html[lang=en] .expertise-hero-v23 .page-display,html[lang=en] .studio-hero-v23 .page-display{font-size:clamp(55px,11vw,78px)}
 html[lang=en] .contact-hero-v22 h1{font-size:clamp(58px,11.5vw,83px)}
 html[lang=en] .case-v18 .case-unified-heading h1[dir=ltr]{font-size:clamp(51px,11vw,77px)}
 html[lang=ar] .hero-film-v21-content h1{font-size:clamp(43px,9.2vw,64px)}
 html[lang=ar] .work-hero-copy h1{font-size:clamp(47px,10vw,69px)}
 html[lang=ar] .expertise-hero-v23 .page-display,html[lang=ar] .studio-hero-v23 .page-display{font-size:clamp(43px,9vw,64px)}
 html[lang=ar] .contact-hero-v22 h1{font-size:clamp(43px,9vw,62px)}
 html[lang=ar] :is(.v21-section-head h2,.v21-practice-intro h2,.archive-invitation h2,.expertise-evidence-head h2,.studio-evidence-head h2){font-size:clamp(34px,8vw,54px)}
 html[lang=ar] .footer-call h2{font-size:clamp(38px,8.5vw,55px)}
 html[lang=ar] .case-v18 .case-unified-heading h1[dir=ltr]{font-size:clamp(42px,9vw,65px)}
 html[lang=ar] .case-v18 .case-overview>p{font-size:15px}
}


/* SOURCE /assets/hero-v30.css */
/* Full-screen chapter openings. The film is decorative; text remains in the HTML. */
:is(.hero-film-v21,.work-hero-v23,.expertise-hero-v23,.studio-hero-v23,.contact-hero-v22){min-height:100svh;height:auto;position:relative;isolation:isolate;overflow:hidden}
.hero-film-v21{height:100svh;min-height:700px;max-height:none}
:is(.work-hero-v23,.expertise-hero-v23,.studio-hero-v23,.contact-hero-v22){padding-top:clamp(132px,15vh,200px);padding-bottom:clamp(112px,15vh,185px)}
.hero-film-v21-shade{background:linear-gradient(90deg,rgba(3,7,19,.76),rgba(5,12,30,.38) 49%,rgba(5,12,30,.06) 85%),linear-gradient(0deg,rgba(3,7,18,.64),transparent 37%)}
html[dir=rtl] .hero-film-v21-shade{background:linear-gradient(270deg,rgba(3,7,19,.76),rgba(5,12,30,.38) 49%,rgba(5,12,30,.06) 85%),linear-gradient(0deg,rgba(3,7,18,.64),transparent 37%)}
:is(.hero-film-v21-content,.work-hero-copy,.expertise-hero-copy,.studio-hero-text,.contact-hero-v22>div:not(.motion-backdrop)){animation:chapter-arrive .95s cubic-bezier(.2,.7,.22,1) both}
@keyframes chapter-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.hero-film-v21-content{transform:translateY(-36%);animation:home-arrive .95s cubic-bezier(.2,.7,.22,1) both}
@keyframes home-arrive{from{opacity:0;transform:translateY(calc(-36% + 22px))}to{opacity:1;transform:translateY(-36%)}}
.hero-film-v21-foot{border:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;min-height:80px}
.hero-film-v21-foot>span{opacity:.7}
.hero-film-v21-foot button,.page-film-toggle{opacity:0;pointer-events:none;width:1px;height:1px;overflow:hidden;position:absolute}
.hero-film-v21-foot button:focus-visible,.page-film-toggle:focus-visible{opacity:1;pointer-events:auto;width:42px;height:42px;overflow:visible;z-index:8;right:clamp(24px,5.3vw,100px);top:130px}
.hero-film-v21-foot button:focus-visible{top:auto;bottom:20px}
html[dir=rtl] .page-film-toggle:focus-visible{right:auto;left:clamp(24px,5.3vw,100px)}
.hero-scroll-v30{position:absolute;z-index:5;inset-inline-start:50%;bottom:clamp(23px,3.5vh,43px);transform:translateX(-50%);display:inline-flex;align-items:center;gap:13px;color:#eff7ff;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 20px #000}
html[dir=rtl] .hero-scroll-v30{transform:translateX(50%);letter-spacing:0;font-size:13px}
.hero-scroll-v30 i{position:relative;display:block;width:19px;height:30px;border:1px solid rgba(240,249,255,.7);border-radius:12px}
.hero-scroll-v30 i::after{content:"";position:absolute;left:8px;top:6px;width:2px;height:6px;border-radius:2px;background:#f5faff;animation:scroll-v30 1.7s ease-in-out infinite}
@keyframes scroll-v30{0%,100%{transform:translateY(0);opacity:.55}55%{transform:translateY(8px);opacity:1}}
.hero-scroll-v30:focus-visible{outline:2px solid #9be8fb;outline-offset:7px;border-radius:3px}
.work-hero-rule{bottom:36px}
.work-hero-v23>.hero-scroll-v30{bottom:70px}
.case-v18>.case-film-backdrop{height:100svh;max-height:none;mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 100%)}
.case-v18 .case-unified-heading{min-height:calc(100svh - 230px);margin:0;align-items:center;padding-block:clamp(50px,7vh,95px) 110px}
.case-v18>.hero-scroll-v30{top:calc(100svh - 60px);bottom:auto}
.case-v18 .case-lead{max-width:440px}
@media(max-width:820px){.case-v18 .case-unified-heading{min-height:calc(100svh - 210px);padding-block:35px 110px;align-content:center;gap:32px}}
@media(max-width:700px){
 :is(.hero-film-v21,.work-hero-v23,.expertise-hero-v23,.studio-hero-v23,.contact-hero-v22){min-height:100svh}
 .hero-film-v21{height:100svh;max-height:none}
 .hero-film-v21-content{top:auto;bottom:115px;transform:none;animation:chapter-arrive .95s cubic-bezier(.2,.7,.22,1) both}
 :is(.work-hero-v23,.expertise-hero-v23,.studio-hero-v23,.contact-hero-v22){padding-top:140px;padding-bottom:140px;align-items:center}
 .hero-scroll-v30{bottom:25px}
 .work-hero-v23>.hero-scroll-v30{bottom:68px}
 .hero-film-v21-foot{min-height:65px}
 .case-v18 .case-unified-heading{min-height:calc(100svh - 190px);margin:0;align-content:center;gap:26px;padding-block:24px 80px}
 .case-v18 .case-lead{max-width:100%}
 .case-v18>.hero-scroll-v30{top:calc(100svh - 48px)}
}
@media(max-height:650px){.case-v18 .case-unified-heading{min-height:540px}.hero-film-v21{min-height:590px}}
@media(prefers-reduced-motion:reduce){:is(.hero-film-v21-content,.work-hero-copy,.expertise-hero-copy,.studio-hero-text,.contact-hero-v22>div:not(.motion-backdrop)){animation:none}.hero-scroll-v30 i::after{animation:none}}


/* SOURCE /assets/intro-v36.css */
/* Flexicodal's short, first-visit brand reveal. The page is already rendered beneath it. */
.site-intro.intro-v31{
  display:block;
  position:fixed;
  inset:0;
  z-index:100;
  overflow:hidden;
  pointer-events:none;
  background:transparent;
  animation:intro-v36-done 0s 2.42s forwards;
}
.intro-v31::before,.intro-v31::after{content:none}

/* Two solid shutters ensure the first frame is complete even on a slow connection. */
.intro-v31-left,.intro-v31-right{
  position:absolute;
  top:0;
  bottom:0;
  width:50.08%;
  background:
    radial-gradient(ellipse 60% 75% at 100% 45%,rgba(49,61,119,.22),transparent 80%),
    linear-gradient(150deg,#121b2f 0%,#070d1c 51%,#111a30 100%);
  animation-duration:.82s;
  animation-delay:1.57s;
  animation-timing-function:cubic-bezier(.77,0,.19,1);
  animation-fill-mode:forwards;
  will-change:transform;
}
.intro-v31-left{left:0;animation-name:intro-v36-left}
.intro-v31-right{
  right:0;
  transform:scaleX(-1);
  animation-name:intro-v36-right;
}
.intro-v31-left::after,.intro-v31-right::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  width:2px;
  background:linear-gradient(180deg,transparent 11%,rgba(161,213,255,.36) 32%,rgba(154,126,238,.65) 50%,rgba(112,213,246,.38) 72%,transparent 90%);
  box-shadow:0 0 24px rgba(90,146,244,.35);
  opacity:0;
  animation:intro-v36-edge .52s 1.31s ease-out both;
}
.intro-v31-content{
  position:absolute;
  inset:0;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:clamp(24px,4vw,58px);
  text-align:center;
  animation:intro-v36-content-out .48s 1.76s cubic-bezier(.6,0,1,1) forwards;
}
/* A diffuse reflection of the real mark ties the light to the identity. */
.intro-v31-content::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  top:50%;
  width:min(74vw,600px);
  aspect-ratio:1;
  transform:translate(-50%,-53%) scale(.84);
  background:url('/assets/brand/nav-symbol.webp') center/contain no-repeat;
  filter:blur(70px) saturate(1.4);
  opacity:0;
  animation:intro-v36-ambient 1.3s .12s ease-out both;
}
/* One passing reflection, then a clean cut into the page. */
.intro-v31-content::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-50%;
  top:43%;
  width:200%;
  height:clamp(70px,16vh,180px);
  transform:translateX(-70%) rotate(-13deg);
  background:linear-gradient(180deg,transparent,rgba(177,208,255,.035) 45%,rgba(183,219,255,.11) 50%,transparent 54%);
  filter:blur(5px);
  animation:intro-v36-reflection 1.05s .26s cubic-bezier(.14,.62,.28,1) both;
}
.intro-v31-edition{
  position:absolute;
  top:clamp(26px,4vw,58px);
  left:clamp(26px,4vw,58px);
  color:#cbd9ec;
  font:700 10px/1.3 Manrope,sans-serif;
  letter-spacing:.22em;
  opacity:0;
  animation:intro-v36-detail .45s .2s ease-out forwards;
}
.intro-v31-edition span{color:#8ca9c5;padding-inline:7px}
.intro-v31-lockup{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(28px,4.5vh,45px);
  width:min(82vw,620px);
  margin-top:-16px;
}
.intro-v31-symbol{
  width:clamp(96px,11vw,156px);
  height:clamp(96px,11vw,156px);
  object-fit:contain;
  max-height:none;
  opacity:0;
  transform:translateY(26px) scale(.78);
  filter:drop-shadow(0 0 28px rgba(45,123,255,.27));
  animation:intro-v36-mark .74s .1s cubic-bezier(.16,.86,.18,1) forwards;
}
.intro-v31-wordmark{
  width:min(73vw,475px);
  height:auto;
  object-fit:contain;
  opacity:0;
  transform:translateY(13px);
  clip-path:inset(0 100% 0 0);
  animation:intro-v36-wordmark .7s .5s cubic-bezier(.17,.73,.14,1) forwards;
}
.intro-v31-rule{
  width:min(470px,74vw);
  height:1px;
  margin-top:clamp(32px,5vh,52px);
  background:rgba(204,226,249,.22);
  opacity:0;
  animation:intro-v36-detail .34s .62s ease-out forwards;
}
.intro-v31-rule i{
  display:block;
  height:1px;
  width:100%;
  transform:scaleX(0);
  transform-origin:center;
  background:linear-gradient(90deg,transparent,#b3d5f6 34%,#c7bcff 67%,transparent);
  box-shadow:0 0 14px rgba(153,197,249,.55);
  animation:intro-v36-rule .7s .67s cubic-bezier(.27,.75,.25,1) forwards;
}
.intro-v31-bottom{
  position:absolute;
  bottom:clamp(26px,4vw,58px);
  left:clamp(26px,4vw,58px);
  right:clamp(26px,4vw,58px);
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:#b8c7dc;
  font:700 10px/1.3 Manrope,sans-serif;
  letter-spacing:.15em;
  opacity:0;
  animation:intro-v36-detail .5s .68s ease-out forwards;
}
html[lang=ar] .intro-v31-bottom span:first-child{
  font:700 12px/1.5 NotoArabic,Manrope,sans-serif;
  letter-spacing:0;
}
.intro-seen .site-intro.intro-v31{display:none}

@keyframes intro-v36-mark{
  0%{opacity:0;transform:translateY(26px) scale(.78);filter:drop-shadow(0 0 0 rgba(45,123,255,0))}
  54%{opacity:1}
  100%{opacity:1;transform:none;filter:drop-shadow(0 0 28px rgba(45,123,255,.27))}
}
@keyframes intro-v36-wordmark{
  0%{opacity:0;transform:translateY(13px);clip-path:inset(0 100% 0 0)}
  16%{opacity:1}
  100%{opacity:1;transform:none;clip-path:inset(0)}
}
@keyframes intro-v36-ambient{
  0%{opacity:0;transform:translate(-50%,-53%) scale(.84)}
  50%{opacity:.42}
  100%{opacity:.28;transform:translate(-50%,-53%) scale(1)}
}
@keyframes intro-v36-reflection{
  0%{opacity:0;transform:translateX(-70%) rotate(-13deg)}
  40%{opacity:1}
  100%{opacity:0;transform:translateX(55%) rotate(-13deg)}
}
@keyframes intro-v36-detail{to{opacity:1}}
@keyframes intro-v36-rule{to{transform:scaleX(1)}}
@keyframes intro-v36-edge{20%{opacity:0}to{opacity:1}}
@keyframes intro-v36-content-out{to{opacity:0;transform:scale(1.07)}}
@keyframes intro-v36-left{to{transform:translateX(-101%)}}
@keyframes intro-v36-right{to{transform:scaleX(-1) translateX(-101%)}}
@keyframes intro-v36-done{to{visibility:hidden}}

@media(max-width:640px){
  .intro-v31-lockup{gap:27px;margin-top:-10px}
  .intro-v31-symbol{width:106px;height:106px}
  .intro-v31-wordmark{width:min(78vw,330px)}
  .intro-v31-rule{width:min(77vw,330px);margin-top:36px}
  .intro-v31-bottom{font-size:8px;letter-spacing:.06em}
}
@media(prefers-reduced-motion:reduce){
  .site-intro.intro-v31{display:none}
}


/* SOURCE /assets/ui-v32.css */
/* Directional controls use the same drawn icon in both languages. */
.ui-arrow{display:block;width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rail-controls button,.gallery-switch button{display:grid;place-items:center}
.case-v18 .case-back span{transform:none;transition:background .2s ease}
.case-v18 .case-back:hover span{transform:none;background:rgba(221,235,255,.18)}
.case-v18 .case-back .ui-arrow{width:17px;height:17px}
html[dir=rtl] .case-v18 .case-back span,html[dir=rtl] .case-v18 .case-back:hover span{transform:none}


/* SOURCE /assets/sections-v37.css */
/* Flexicodal editorial rebuild. The existing films and page heroes remain intact. */
:root{--v37-night:#090f1b;--v37-deep:#101927;--v37-silver:#e8edf2;--v37-quiet:#aabac9;--v37-line:rgba(219,237,253,.21);--v37-blue:#95d9f1}
.v37-eyebrow,.v37-kicker{margin:0;color:#a9cadb;font-size:10px;font-weight:850;line-height:1.45;letter-spacing:.17em;text-transform:uppercase}
.v37-section-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);align-items:end;gap:clamp(40px,8vw,140px);margin-bottom:clamp(48px,6vw,95px)}
.v37-section-heading h2,.v37-expertise-intro h2,.v37-studio-intro h2{margin:17px 0 0;font-size:clamp(56px,7.2vw,116px);font-weight:710;line-height:.99;letter-spacing:-.065em;text-wrap:balance}
.v37-section-heading h2 i,.v37-expertise-intro h2 i,.v37-studio-work h2 i,.v37-footer h2 i{font-family:Georgia,serif;font-weight:400;letter-spacing:-.06em}
.v37-section-heading>p{max-width:460px;margin:0 0 5px;color:#b5c5d5;font-size:clamp(15px,1.26vw,18px);line-height:1.75}
.v37-link{display:inline-flex;align-items:center;justify-content:space-between;gap:27px;width:fit-content;min-height:46px;border-bottom:1px solid currentColor;color:#ecf5fc;font-size:12px;font-weight:780;line-height:1.3;transition:color .3s ease,border-color .3s ease}
.v37-link:hover,.v37-link:focus-visible{color:#96dff9}
.v37-arrow{width:37px;height:19px;flex:none;transition:transform .48s cubic-bezier(.18,.74,.15,1)}
:is(.v37-link,.v37-footer-primary,.v37-footer-wa):hover .v37-arrow,:is(.v37-link,.v37-footer-primary,.v37-footer-wa):focus-visible .v37-arrow{transform:translateX(9px)}
html[dir=rtl] .v37-arrow{transform:scaleX(-1)}
html[dir=rtl] :is(.v37-link,.v37-footer-primary,.v37-footer-wa):hover .v37-arrow,html[dir=rtl] :is(.v37-link,.v37-footer-primary,.v37-footer-wa):focus-visible .v37-arrow{transform:scaleX(-1) translateX(9px)}

/* Client names lead into the portfolio, without turning the rail into a counter. */
#clients.client-strip{padding-block:58px 60px;background:#e9eced;color:#141d2a}
#clients .client-strip-head h2{max-width:800px;margin:10px 0 0;color:#131f2e;font-size:clamp(31px,3.8vw,58px);line-height:1.08;letter-spacing:-.052em}
#clients .client-strip-tail a{font-size:12px;font-weight:780}
#clients .client-logo-row a{background:#fff}

/* The homepage is a sequence of genuinely different project stories. */
.v37-selected{padding-top:clamp(95px,10vw,172px);padding-bottom:clamp(105px,11vw,180px);background:#0a111e}
.v37-cases{display:grid;gap:clamp(18px,3vw,46px)}
.v37-case{position:relative;display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);align-items:center;gap:clamp(30px,5vw,82px);min-height:clamp(590px,56vw,790px);padding:clamp(34px,5vw,76px);overflow:hidden;border:1px solid rgba(218,237,255,.2);border-top-color:rgba(239,248,255,.38);border-radius:27px;isolation:isolate;background:radial-gradient(ellipse 50% 80% at 90% 12%,rgba(129,149,166,.15),transparent 75%),#15202c;box-shadow:0 24px 85px rgba(0,0,0,.16)}
.v37-case::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(130deg,rgba(248,252,255,.08),transparent 34%,rgba(152,190,226,.035) 75%);pointer-events:none}
.v37-case--fashion{background-color:#25303a}
.v37-case--hospitality{background-color:#222025;grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr)}
.v37-case--hospitality .v37-case-copy{grid-column:2;grid-row:1}
.v37-case--hospitality .v37-case-art{grid-column:1;grid-row:1}
.v37-case--automotive{background-color:#142338}
.v37-case-copy{position:relative;z-index:4;display:flex;flex-direction:column;align-items:start;min-width:0}
.v37-case-copy h3{max-width:620px;margin:18px 0 20px;font-size:clamp(45px,5.2vw,86px);font-weight:670;letter-spacing:-.067em;line-height:1.02;text-wrap:balance}
.v37-case-copy>p:not(.v37-kicker){max-width:500px;margin:0 0 24px;color:#c4d1db;font-size:clamp(14px,1.2vw,17px);line-height:1.75}
.v37-case-brand{display:block;margin-top:clamp(44px,8vw,110px);font-size:clamp(19px,2.5vw,35px);font-weight:800;letter-spacing:-.055em;opacity:.47}
.v37-case-art{position:relative;min-width:0;align-self:stretch;display:flex;align-items:center;padding:35px 26px 35px 0}
.v37-case-art::before{content:"";position:absolute;inset:8% 0 8% 8%;border-radius:50%;background:radial-gradient(circle,rgba(154,203,232,.22),transparent 68%);filter:blur(35px);pointer-events:none}
.v37-case-screen,.v37-case-mobile{position:relative;display:block;overflow:hidden;border:1px solid rgba(243,249,252,.34);border-radius:12px;background:#e6e9ec;box-shadow:0 35px 90px rgba(0,3,13,.42),0 0 0 8px rgba(220,237,250,.045)}
.v37-case-screen{width:100%;max-width:990px;z-index:1}
.v37-case-screen img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;background:#e7e9ec}
.v37-case-mobile{position:absolute;z-index:2;right:-2%;bottom:2%;width:clamp(115px,15vw,215px);max-height:80%;border-radius:14px}
.v37-case-mobile img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;background:#f2f2f1}
.v37-case-screen span,.v37-case-mobile span{position:absolute;inset:auto auto 8px 8px;max-width:calc(100% - 16px);padding:5px 8px;border:1px solid rgba(250,251,255,.4);border-radius:6px;background:rgba(4,11,25,.68);backdrop-filter:blur(12px);color:#fff;font-size:8px;font-weight:700;line-height:1.3;letter-spacing:.05em}
.v37-case-mobile span{font-size:7px}
.v37-case--hospitality .v37-case-art{padding-inline:8px 60px}
.v37-case--hospitality .v37-case-mobile{right:3%}
.v37-case--automotive .v37-case-mobile{bottom:9%}
.v37-case-art a img{transition:transform .7s cubic-bezier(.17,.7,.18,1)}
.v37-case-art a:hover img{transform:scale(1.017)}
.v37-section-end{display:flex;justify-content:flex-end;margin-top:38px}

/* The studio disciplines are real paragraphs with a visual anchor, not numbered tiles. */
.v37-practice{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(300px,.97fr);gap:clamp(36px,5.5vw,96px);padding-top:clamp(100px,11vw,175px);padding-bottom:clamp(100px,11vw,175px);overflow:hidden;background:#dfe8ec;color:#102131}
.v37-practice-film{position:relative;grid-column:1;grid-row:1/3;align-self:stretch;min-height:570px;overflow:hidden;border:1px solid rgba(245,255,255,.74);border-radius:22px;background:#101b29;box-shadow:0 30px 72px rgba(19,40,61,.18)}
.v37-practice-film::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,12,23,.23));pointer-events:none}
.v37-practice-film img,.v37-practice-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v37-practice-film video{opacity:0;transition:opacity .65s}
.v37-practice-film video.is-playing{opacity:1}
.v37-practice-copy{grid-column:2;align-self:end;max-width:590px}
.v37-practice .v37-eyebrow{color:#43637a}
.v37-practice-copy h2{margin:18px 0 28px;font-size:clamp(49px,5.7vw,92px);font-weight:690;line-height:1.05;letter-spacing:-.067em}
.v37-practice-copy>p:not(.v37-eyebrow){max-width:500px;margin:0 0 19px;color:#374c5c;font-size:clamp(15px,1.28vw,18px);line-height:1.73}
.v37-practice .v37-link{color:#18354b;margin-top:12px}
.v37-capabilities{grid-column:2;display:grid;align-content:start}
.v37-cap{display:grid;grid-template-columns:21px minmax(0,1fr) 37px;align-items:center;gap:clamp(12px,1.6vw,25px);padding:19px 0 20px;border-top:1px solid rgba(26,67,91,.24);color:#173043;transition:color .3s}
.v37-cap:last-child{border-bottom:1px solid rgba(26,67,91,.24)}
.v37-cap:hover{color:#147a9f}
.v37-cap-icon{width:9px;height:9px;border:1px solid currentColor;border-radius:50%;background:#8ec6dc;box-shadow:0 0 15px rgba(58,168,216,.35)}
.v37-cap strong{display:block;font-size:clamp(18px,2vw,29px);font-weight:720;line-height:1.18;letter-spacing:-.045em}
.v37-cap small{display:block;max-width:470px;margin-top:5px;color:#586c79;font-size:12px;font-weight:450;line-height:1.5}
.v37-cap .v37-arrow{width:28px;opacity:.7}
.v37-cap:hover .v37-arrow{transform:translateX(6px)}
html[dir=rtl] .v37-cap:hover .v37-arrow{transform:scaleX(-1) translateX(6px)}
.v37-more{display:grid;grid-template-columns:minmax(330px,.7fr) minmax(0,1.3fr);align-items:center;gap:clamp(50px,7vw,120px);padding-top:clamp(120px,12vw,190px);padding-bottom:clamp(120px,12vw,190px);background:#0b1423}
.v37-more-copy h2{max-width:560px;margin:18px 0 24px;font-size:clamp(50px,5.7vw,88px);line-height:1.03;letter-spacing:-.063em}
.v37-more-copy>p:not(.v37-eyebrow){max-width:475px;color:#b7c7d5;font-size:16px;line-height:1.74}
.v37-more-copy .v37-link{margin-top:23px}
.v37-more-visual{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:15px;min-height:610px;align-items:center}
.v37-more-tile{position:relative;display:block;overflow:hidden;border:1px solid rgba(220,241,255,.24);border-radius:13px;background:#e8e9ea;box-shadow:0 24px 60px rgba(0,0,0,.3);transition:transform .5s cubic-bezier(.17,.7,.18,1)}
.v37-more-tile:hover{transform:translateY(-10px)}
.v37-more-tile:nth-child(1){grid-column:1/5;grid-row:1;transform:translateY(-50px)}
.v37-more-tile:nth-child(2){grid-column:3/7;grid-row:1;transform:translateY(160px);z-index:2}
.v37-more-tile:nth-child(3){grid-column:1/4;grid-row:1;transform:translate(-15px,220px);z-index:3}
.v37-more-tile:nth-child(1):hover{transform:translateY(-60px)}
.v37-more-tile:nth-child(2):hover{transform:translateY(150px)}
.v37-more-tile:nth-child(3):hover{transform:translate(-15px,210px)}
.v37-more-tile img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;background:#e9edef}
.v37-more-tile span{position:absolute;inset:auto 0 0;padding:18px;background:linear-gradient(0deg,rgba(3,11,21,.8),transparent);color:white;font-weight:800;font-size:13px}

/* Expertise: chapters instead of a service grid. */
.v37-expertise-intro{display:grid;grid-template-columns:minmax(200px,.3fr) minmax(0,1fr);gap:5vw;padding-top:clamp(105px,12vw,180px);padding-bottom:clamp(90px,10vw,145px);background:#e8edef;color:#132333}
.v37-expertise-intro .v37-eyebrow{color:#42718a;padding-top:14px}
.v37-expertise-intro h2{max-width:1050px;margin-top:0}
.v37-expertise-intro>div>p{max-width:760px;margin:40px 0 0;color:#42596a;font-size:clamp(17px,1.55vw,22px);line-height:1.7}
.v37-disciplines{padding-top:clamp(70px,8vw,125px);padding-bottom:clamp(100px,10vw,165px);background:#0a1321}
.v37-discipline{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(35px,7vw,120px);padding:clamp(62px,7vw,115px) 0;border-top:1px solid var(--v37-line)}
.v37-discipline:last-child{border-bottom:1px solid var(--v37-line)}
.v37-discipline:nth-child(even){grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}
.v37-discipline:nth-child(even) .v37-discipline-image{grid-column:1;grid-row:1}
.v37-discipline:nth-child(even) .v37-discipline-copy{grid-column:2;grid-row:1}
.v37-discipline-copy{max-width:590px;align-self:center}
.v37-discipline-line{display:block;width:53px;height:1px;background:#86cfe6}
.v37-discipline h3{margin:27px 0 26px;font-size:clamp(47px,5vw,79px);font-weight:690;line-height:1.03;letter-spacing:-.063em}
.v37-discipline-copy>p{margin:0 0 25px;color:#becbd9;font-size:clamp(15px,1.25vw,18px);line-height:1.77}
.v37-discipline-copy>small{display:block;margin-bottom:29px;color:#86b4cd;font-size:11px;font-weight:780;letter-spacing:.05em;line-height:1.6}
.v37-discipline-image{position:relative;display:block;overflow:hidden;padding:clamp(12px,2vw,30px);border:1px solid rgba(223,242,251,.2);border-radius:20px;background:linear-gradient(140deg,rgba(242,250,255,.16),rgba(66,112,147,.08));box-shadow:0 25px 70px rgba(0,0,0,.16)}
.v37-discipline-image img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;border-radius:8px;background:#e8edef;box-shadow:0 15px 45px rgba(1,6,16,.25);transition:transform .7s ease}
.v37-discipline-image:hover img{transform:scale(1.018)}
.v37-process{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(50px,6vw,110px);padding-top:clamp(115px,12vw,190px);padding-bottom:clamp(115px,12vw,190px);background:#1a2938}
.v37-process-visual{position:relative;min-height:620px;overflow:hidden;border-radius:18px;border:1px solid rgba(240,251,255,.24);background:#101a27}
.v37-process-visual img,.v37-process-visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v37-process-visual video{opacity:0;transition:opacity .6s}
.v37-process-visual video.is-playing{opacity:1}
.v37-process-content h2{margin:17px 0 24px;font-size:clamp(47px,5vw,79px);line-height:1.06;letter-spacing:-.06em}
.v37-process-content>p:not(.v37-eyebrow){max-width:610px;margin:0 0 37px;color:#c2d2df;font-size:16px;line-height:1.75}
.v37-process-beat{display:grid;grid-template-columns:minmax(115px,.38fr) minmax(0,.62fr);gap:24px;padding:18px 0;border-top:1px solid rgba(220,240,255,.2)}
.v37-process-beat:last-child{border-bottom:1px solid rgba(220,240,255,.2)}
.v37-process-beat strong{font-size:18px;line-height:1.4}
.v37-process-beat span{color:#adc4d5;font-size:13px;line-height:1.55}

/* Studio tells the thinking and the work in different visual registers. */
.v37-studio-intro{padding-top:clamp(120px,13vw,205px);padding-bottom:clamp(120px,13vw,205px);background:#e8edf0;color:#112130}
.v37-studio-intro>.v37-eyebrow{color:#436d82;margin-bottom:37px}
.v37-studio-intro>div{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:clamp(40px,8vw,140px);align-items:end}
.v37-studio-intro h2{margin:0;max-width:1020px}
.v37-studio-intro>div>div{max-width:490px}
.v37-studio-intro>div>div p{margin:0 0 22px;color:#3d5463;font-size:clamp(16px,1.37vw,19px);line-height:1.75}
.v37-studio-work{padding-top:clamp(110px,11vw,175px);padding-bottom:clamp(115px,12vw,185px);background:#0c1523}
.v37-studio-pair{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:start;gap:clamp(35px,6vw,110px)}
.v37-studio-project>a:first-child{display:block;overflow:hidden;border:1px solid rgba(234,247,255,.24);border-radius:14px;background:#e8eced;box-shadow:0 26px 65px rgba(0,0,0,.28)}
.v37-studio-project img{display:block;width:100%;height:auto;object-fit:contain;background:#e8eced;transition:transform .65s ease}
.v37-studio-project>a:hover img{transform:scale(1.015)}
.v37-studio-project:first-child img{aspect-ratio:1.6}
.v37-studio-project:nth-child(2){padding-top:180px}
.v37-studio-project:nth-child(2)>a:first-child{width:64%;margin:auto}
.v37-studio-project:nth-child(2) img{aspect-ratio:auto;max-height:620px}
.v37-studio-project>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 25px;align-items:end;margin-top:26px}
.v37-studio-project h3{margin:0;font-size:clamp(29px,3.5vw,50px);line-height:1.1;letter-spacing:-.05em}
.v37-studio-project p{grid-column:1;margin:0;color:#b7c9d7;font-size:14px;line-height:1.6}
.v37-studio-project .v37-link{grid-column:2;grid-row:1/3;align-self:center}
.v37-studio-method{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(70px,9vw,170px);padding-top:clamp(120px,12vw,195px);padding-bottom:clamp(120px,12vw,195px);background:radial-gradient(ellipse at 80% 20%,rgba(81,139,181,.2),transparent 55%),#162335}
.v37-studio-method h2{max-width:680px;margin:20px 0 31px;font-size:clamp(51px,6vw,91px);line-height:1.05;letter-spacing:-.066em}
.v37-studio-method>div:first-child>p:last-child{max-width:540px;color:#c3d2de;font-size:16px;line-height:1.75}
.v37-studio-points{align-self:center}
.v37-studio-point{display:grid;grid-template-columns:35px minmax(0,1fr);gap:0 22px;padding:25px 0 30px;border-top:1px solid var(--v37-line)}
.v37-studio-point:last-child{border-bottom:1px solid var(--v37-line)}
.v37-studio-point span{grid-row:1/3;width:13px;height:13px;margin-top:12px;border:1px solid #a4e0ee;transform:rotate(45deg)}
.v37-studio-point h3{margin:0 0 9px;font-size:clamp(22px,2.3vw,31px);line-height:1.2;letter-spacing:-.04em}
.v37-studio-point p{max-width:480px;margin:0;color:#adbfce;font-size:14px;line-height:1.65}

/* A direct invitation, shared by every top-level page. */
.footer.v37-footer{background:#07101d;border-top:1px solid rgba(224,243,255,.2)}
.v37-footer-call{position:relative;max-width:1800px;margin:auto;padding-top:clamp(75px,9vw,145px);padding-bottom:clamp(92px,10vw,160px);overflow:hidden}
.v37-footer-call::before{content:"";position:absolute;top:-23%;right:-15%;width:65vw;height:65vw;max-width:950px;max-height:950px;border:1px solid rgba(170,224,251,.11);border-radius:50%;box-shadow:0 0 0 10vw rgba(120,197,236,.015),inset 0 0 140px rgba(71,143,208,.08);pointer-events:none}
.v37-footer-top{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--v37-line);color:#a6c0d2;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.v37-footer-main{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(290px,.58fr);align-items:end;gap:clamp(40px,8vw,160px);padding-top:clamp(75px,8vw,130px)}
.v37-footer-main h2{margin:18px 0 0;font-size:clamp(70px,9.2vw,150px);font-weight:700;line-height:.96;letter-spacing:-.077em;text-wrap:balance}
.v37-footer-actions{max-width:480px}
.v37-footer-actions>p{margin:0 0 27px;color:#bdcddd;font-size:clamp(16px,1.3vw,19px);line-height:1.72}
.v37-footer-primary,.v37-footer-wa{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:62px;padding:13px 21px;border:1px solid rgba(220,246,255,.42);border-radius:14px;background:rgba(226,245,255,.13);backdrop-filter:blur(18px);box-shadow:inset 0 1px rgba(255,255,255,.24);font-size:13px;font-weight:800;transition:background .3s,border-color .3s}
.v37-footer-primary:hover,.v37-footer-wa:hover{background:rgba(226,245,255,.22);border-color:rgba(225,247,255,.75)}
.v37-footer-wa{margin-top:11px;background:rgba(237,248,255,.045)}
.v37-footer-mail{display:block;width:fit-content;margin-top:24px;color:#a9c6da;font-size:12px;border-bottom:1px solid rgba(184,212,228,.5)}
.v37-footer .footer-base{border-top:1px solid var(--v37-line)}

/* Motion is an accent; static content remains available without JS. */
@media(prefers-reduced-motion:no-preference){.v37-in{transition:transform .8s cubic-bezier(.18,.74,.15,1),opacity .8s ease}.v37-motion-ready .v37-in:not(.v37-visible){transform:translateY(30px);opacity:.68}}

@media(max-width:1120px){
 .v37-case{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);padding:38px;min-height:600px}
 .v37-case--hospitality{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr)}
 .v37-case-copy h3{font-size:clamp(44px,5vw,66px)}
 .v37-practice{grid-template-columns:1fr 1fr;gap:45px}
 .v37-practice-film{min-height:630px}
 .v37-practice-copy h2{font-size:clamp(45px,5.4vw,68px)}
 .v37-more{grid-template-columns:1fr 1fr}
 .v37-more-visual{min-height:500px}
 .v37-studio-project>div{display:block}.v37-studio-project .v37-link{margin-top:15px}
}

@media(max-width:780px){
 .v37-section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:43px}
 .v37-section-heading>p{max-width:620px}
 .v37-case,.v37-case--hospitality{display:flex;flex-direction:column;align-items:stretch;gap:25px;min-height:0;padding:clamp(25px,5vw,42px)}
 .v37-case--hospitality .v37-case-copy,.v37-case--hospitality .v37-case-art{grid-column:auto;grid-row:auto}
 .v37-case-art,.v37-case--hospitality .v37-case-art{min-height:390px;padding:18px 28px 35px 0}
 .v37-case-copy h3{max-width:660px;font-size:clamp(45px,7vw,72px)}
 .v37-case-brand{margin-top:20px}
 .v37-case-mobile{width:clamp(112px,22vw,185px);right:0}
 .v37-practice{grid-template-columns:1fr;gap:30px}
 .v37-practice-film,.v37-practice-copy,.v37-capabilities{grid-column:1;grid-row:auto}
 .v37-practice-film{min-height:450px;order:2}
 .v37-practice-copy{order:1}.v37-capabilities{order:3}
 .v37-more{grid-template-columns:1fr;gap:35px}
 .v37-more-visual{min-height:590px;max-width:700px}
 .v37-expertise-intro{grid-template-columns:1fr;gap:20px}
 .v37-expertise-intro>div>p{margin-top:27px}
 .v37-discipline,.v37-discipline:nth-child(even){grid-template-columns:1fr;gap:28px}
 .v37-discipline:nth-child(even) .v37-discipline-image,.v37-discipline:nth-child(even) .v37-discipline-copy{grid-column:1;grid-row:auto}
 .v37-discipline-image{max-width:720px}
 .v37-process{grid-template-columns:1fr;gap:42px}.v37-process-visual{min-height:470px;order:2}.v37-process-content{order:1}
 .v37-studio-intro>div{grid-template-columns:1fr;gap:38px}.v37-studio-intro>div>div{max-width:670px}
 .v37-studio-pair{gap:30px}.v37-studio-project:nth-child(2){padding-top:100px}
 .v37-studio-method{grid-template-columns:1fr;gap:35px}
 .v37-footer-main{grid-template-columns:1fr;gap:50px}.v37-footer-actions{max-width:560px}
}

@media(max-width:600px){
 .v37-eyebrow,.v37-kicker{font-size:9px;letter-spacing:.11em}
 .v37-section-heading h2,.v37-expertise-intro h2,.v37-studio-intro h2{font-size:clamp(43px,11vw,66px);line-height:1.03}
 .v37-section-heading>p{font-size:14px;line-height:1.7}
 #clients.client-strip{padding-block:45px 42px}
 #clients .client-strip-head h2{font-size:clamp(27px,8vw,37px)}
 #clients .client-strip-tail{gap:10px}
 .v37-selected{padding-block:78px 100px}
 .v37-case{gap:24px;padding:22px;border-radius:18px}
 .v37-case-copy h3{font-size:clamp(39px,10vw,58px);margin:13px 0 17px}
 .v37-case-copy>p:not(.v37-kicker){font-size:13px;line-height:1.7;margin-bottom:13px}
 .v37-case-brand{font-size:19px;opacity:.58}
 .v37-case-art,.v37-case--hospitality .v37-case-art{min-height:clamp(265px,82vw,410px);padding:5px 12px 25px 0}
 .v37-case-screen{width:100%;border-radius:7px}
 .v37-case-mobile{width:clamp(97px,30vw,152px);right:-1%;bottom:0;border-radius:9px}
 .v37-case-mobile img{max-height:300px}
 .v37-case-screen span,.v37-case-mobile span{display:none}
 .v37-section-end{justify-content:flex-start;margin-top:30px}
 .v37-practice{padding-block:90px 100px}
 .v37-practice-copy h2{font-size:clamp(45px,10vw,64px)}
 .v37-practice-copy>p:not(.v37-eyebrow){font-size:14px}
 .v37-practice-film{min-height:300px;border-radius:13px}
 .v37-cap{grid-template-columns:13px minmax(0,1fr) 26px;gap:10px;padding:19px 0}
 .v37-cap strong{font-size:20px}.v37-cap small{font-size:11px}.v37-cap .v37-arrow{width:25px}
 .v37-more{padding-block:90px 110px;gap:20px}
 .v37-more-copy h2{font-size:clamp(45px,10vw,63px)}.v37-more-copy>p:not(.v37-eyebrow){font-size:14px}
 .v37-more-visual{min-height:360px;gap:8px}
 .v37-more-tile:nth-child(1){transform:translateY(-35px)}
 .v37-more-tile:nth-child(2){transform:translateY(90px)}
 .v37-more-tile:nth-child(3){transform:translate(-6px,123px)}
 .v37-more-tile:nth-child(1):hover{transform:translateY(-35px)}
 .v37-more-tile:nth-child(2):hover{transform:translateY(90px)}
 .v37-more-tile:nth-child(3):hover{transform:translate(-6px,123px)}
 .v37-more-tile span{padding:9px;font-size:9px}
 .v37-expertise-intro{padding-block:93px 95px}
 .v37-expertise-intro .v37-eyebrow{padding:0}
 .v37-expertise-intro>div>p{font-size:15px;line-height:1.7}
 .v37-disciplines{padding-block:35px 100px}
 .v37-discipline{padding:54px 0;gap:27px}
 .v37-discipline h3{font-size:clamp(44px,10vw,61px);margin:20px 0}
 .v37-discipline-copy>p{font-size:14px}
 .v37-discipline-image{padding:11px;border-radius:13px}
 .v37-process{padding-block:95px 105px}
 .v37-process-content h2{font-size:clamp(43px,10vw,61px)}
 .v37-process-content>p:not(.v37-eyebrow){font-size:14px}
 .v37-process-visual{min-height:320px}
 .v37-process-beat{grid-template-columns:105px 1fr;gap:12px}.v37-process-beat strong{font-size:15px}.v37-process-beat span{font-size:11px}
 .v37-studio-intro{padding-block:100px}.v37-studio-intro>div>div p{font-size:15px}
 .v37-studio-work{padding-block:92px 110px}
 .v37-studio-pair{grid-template-columns:1fr;gap:65px}
 .v37-studio-project:nth-child(2){padding-top:0}
 .v37-studio-project:nth-child(2)>a:first-child{width:56%;max-width:245px;margin-inline:0}
 .v37-studio-project h3{font-size:31px}.v37-studio-project p{font-size:13px}
 .v37-studio-method{padding-block:95px 110px}.v37-studio-method h2{font-size:clamp(47px,10vw,66px)}
 .v37-studio-method>div:first-child>p:last-child{font-size:14px}
 .v37-studio-point{gap:0 13px;grid-template-columns:24px 1fr}
 .v37-studio-point h3{font-size:22px}.v37-studio-point p{font-size:12px}
 .v37-footer-top{font-size:8px;letter-spacing:.08em}
 .v37-footer-main h2{font-size:clamp(65px,15vw,93px)}
 .v37-footer-actions>p{font-size:14px}
 .v37-footer-primary,.v37-footer-wa{min-height:57px;font-size:12px}
}

html[lang=ar] .v37-section-heading h2,html[lang=ar] .v37-expertise-intro h2,html[lang=ar] .v37-studio-intro h2,html[lang=ar] .v37-case-copy h3,html[lang=ar] .v37-practice-copy h2,html[lang=ar] .v37-more-copy h2,html[lang=ar] .v37-discipline h3,html[lang=ar] .v37-process-content h2,html[lang=ar] .v37-studio-method h2,html[lang=ar] .v37-footer-main h2{font-family:NotoArabic,Manrope,sans-serif;letter-spacing:-.035em;line-height:1.16}
html[lang=ar] .v37-section-heading h2 i,html[lang=ar] .v37-expertise-intro h2 i,html[lang=ar] .v37-studio-work h2 i,html[lang=ar] .v37-footer h2 i{font-family:NotoArabic,Manrope,sans-serif;font-style:normal;font-weight:450;letter-spacing:-.03em}
html[lang=ar] .v37-case-copy>p,html[lang=ar] .v37-section-heading>p,html[lang=ar] .v37-practice-copy>p,html[lang=ar] .v37-discipline-copy>p,html[lang=ar] .v37-footer-actions>p{line-height:1.95}
html[dir=rtl] .v37-case-mobile{right:auto;left:-2%}
html[dir=rtl] .v37-case-art{padding:35px 0 35px 26px}
html[dir=rtl] .v37-case--hospitality .v37-case-art{padding-inline:60px 8px}
html[dir=rtl] .v37-case--hospitality .v37-case-mobile{right:auto;left:3%}
html[dir=rtl] .v37-more-tile:nth-child(3){transform:translate(15px,220px)}
@media(max-width:780px){html[dir=rtl] .v37-case-art,html[dir=rtl] .v37-case--hospitality .v37-case-art{padding:18px 0 35px 28px}}
@media(max-width:600px){html[lang=ar] .v37-section-heading h2,html[lang=ar] .v37-expertise-intro h2,html[lang=ar] .v37-studio-intro h2{font-size:clamp(39px,9.2vw,57px)}html[lang=ar] .v37-case-copy h3{font-size:clamp(37px,8.8vw,52px)}html[lang=ar] .v37-footer-main h2{font-size:clamp(54px,12vw,76px)}html[dir=rtl] .v37-case-art,html[dir=rtl] .v37-case--hospitality .v37-case-art{padding:5px 0 25px 12px}html[dir=rtl] .v37-more-tile:nth-child(3){transform:translate(6px,123px)}}
@media(prefers-reduced-motion:reduce){.v37-practice-film video,.v37-process-visual video{display:none!important}}

/* Real site details introduce the two narrative pages before the longer copy. */
.v37-expertise-intro{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(50px,7vw,130px)}
.v37-expertise-intro-copy .v37-eyebrow{padding:0;margin-bottom:26px}
.v37-expertise-intro-copy h2{font-size:clamp(57px,6.6vw,106px)}
.v37-expertise-intro-copy>p:last-child{max-width:650px;margin:33px 0 0;color:#42596a;font-size:clamp(16px,1.4vw,20px);line-height:1.72}
.v37-expertise-intro-art,.v37-studio-intro-art{display:block;overflow:hidden;padding:clamp(12px,1.8vw,25px);border:1px solid rgba(38,75,99,.16);border-radius:19px;background:linear-gradient(135deg,#f5f9fb,#bdcbd3);box-shadow:0 30px 70px rgba(33,64,83,.15)}
.v37-expertise-intro-art img,.v37-studio-intro-art img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:contain;border-radius:7px;background:#e8edf0;box-shadow:0 12px 38px rgba(20,34,46,.15);transition:transform .65s ease}
.v37-expertise-intro-art:hover img,.v37-studio-intro-art:hover img{transform:scale(1.018)}
.v37-studio-intro>div{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:24px clamp(40px,6vw,110px)}
.v37-studio-intro>div h2{grid-column:1;grid-row:1}
.v37-studio-intro-art{grid-column:2;grid-row:1/3;align-self:stretch;display:flex;align-items:center}
.v37-studio-intro>div>div{grid-column:1;grid-row:2;max-width:600px;align-self:start}
@media(max-width:780px){
 .v37-expertise-intro{grid-template-columns:1fr;gap:39px}
 .v37-expertise-intro-copy h2{font-size:clamp(55px,9vw,78px)}
 .v37-studio-intro>div{grid-template-columns:1fr;gap:33px}
 .v37-studio-intro>div h2,.v37-studio-intro-art,.v37-studio-intro>div>div{grid-column:1;grid-row:auto}
 .v37-studio-intro-art{max-width:760px}
}
@media(max-width:600px){
 .v37-expertise-intro{padding-block:85px 90px;gap:29px}
 .v37-expertise-intro-copy .v37-eyebrow{margin-bottom:19px}
 .v37-expertise-intro-copy h2{font-size:clamp(43px,10.5vw,63px)}
 .v37-expertise-intro-copy>p:last-child{margin-top:25px;font-size:14px}
 .v37-expertise-intro-art,.v37-studio-intro-art{padding:10px;border-radius:13px}
 .v37-studio-intro>div{gap:28px}
}
html[lang=ar] .v37-expertise-intro-copy h2{font-family:NotoArabic,Manrope,sans-serif;letter-spacing:-.035em;line-height:1.16}
@media(max-width:600px){html[lang=ar] .v37-expertise-intro-copy h2{font-size:clamp(39px,9vw,56px)}}
.v37-process-montage{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:15px;min-height:620px;padding:clamp(18px,3vw,45px);background:radial-gradient(circle at 50% 50%,rgba(116,184,209,.2),transparent 65%),#101a2a}
.v37-process-montage a{display:block;overflow:hidden;min-width:0;min-height:0;border:1px solid rgba(240,248,255,.38);border-radius:10px;background:#e8edf0;box-shadow:0 18px 40px rgba(0,5,15,.35);transition:transform .5s ease}
.v37-process-montage a:hover{transform:translateY(-5px)}
.v37-process-montage a:nth-child(1){grid-column:1/6;grid-row:1/3}
.v37-process-montage a:nth-child(2){grid-column:5/7;grid-row:2/6;z-index:2}
.v37-process-montage a:nth-child(3){grid-column:1/5;grid-row:3/6}
.v37-process-montage a img{position:static;width:100%;height:100%;object-fit:contain;background:#e8edf0}
@media(max-width:780px){.v37-process-montage{min-height:490px}}
@media(max-width:600px){.v37-process-montage{min-height:360px;gap:8px;padding:15px}}
@media(max-width:390px){#clients .client-hissaline .logo-art img{transform:scale(1.06)}}
.v37-studio-intro-art{position:relative}
.v37-studio-intro-art span{position:absolute;inset:auto 27px 25px auto;padding:7px 10px;border:1px solid rgba(255,255,255,.45);border-radius:6px;background:rgba(6,13,25,.75);backdrop-filter:blur(10px);color:white;font-size:10px;font-weight:750}
html[dir=rtl] .v37-studio-intro-art span{right:auto;left:27px}
@media(max-width:600px){.v37-studio-intro-art span{inset:auto 18px 18px auto;font-size:8px}html[dir=rtl] .v37-studio-intro-art span{right:auto;left:18px}}
@media(max-width:600px){.v37-studio-project:nth-child(2)>a:first-child{margin-inline-start:auto}}


/* v43: a short process in place of the overlapping repeated-project collage. */
.v43-process{background:#e8eff2;color:#12263a;padding-block:clamp(72px,8vw,126px)}
.v43-process-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:clamp(24px,5vw,90px);align-items:end;max-width:1400px;margin:0 auto clamp(40px,5vw,72px)}
.v43-process-head h2{font-size:clamp(43px,5vw,78px);line-height:1.06;letter-spacing:-.055em;max-width:780px;margin:0}
.v43-process-head p{font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:#43566a;max-width:480px;margin:0}
.v43-process-steps{list-style:none;padding:0;margin:0 auto 34px;max-width:1400px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,34px)}
.v43-process-steps li{border-top:1px solid #91a9b6;padding-top:23px}
.v43-process-steps h3{font-size:clamp(21px,2vw,30px);letter-spacing:-.035em;margin:0 0 12px}
.v43-process-steps p{font-size:16px;line-height:1.55;color:#43566a;margin:0}
.v43-process>.v41-button{display:inline-flex;min-height:48px;align-items:center}
html[lang=ar] .v43-process-head h2,html[lang=ar] .v43-process-steps h3{letter-spacing:0;line-height:1.35}
html[lang=ar] .v43-process-steps p{line-height:1.8}
@media(max-width:1000px){.v43-process-head{grid-template-columns:1fr}.v43-process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.v43-process-head h2{font-size:clamp(36px,10vw,51px)}.v43-process-steps{grid-template-columns:1fr;gap:20px}.v43-process-steps li{padding-top:18px}.v43-process-steps p{max-width:390px}}


/* v43: compact native-details FAQ, one location on Expertise. */
.v43-faq{background:#edf2f4;color:#14283b;padding-block:clamp(72px,8vw,130px);display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr);gap:clamp(28px,6vw,100px)}
.v43-faq h2{font-size:clamp(44px,4.7vw,74px);line-height:1.07;letter-spacing:-.05em;margin:0 0 20px}
.v43-faq-intro p{font-size:18px;line-height:1.6;color:#4b5f70;max-width:440px}
.v43-faq-list{border-top:1px solid #a9bbc5}
.v43-faq details{border-bottom:1px solid #a9bbc5;padding:19px 0}
.v43-faq summary{cursor:pointer;list-style:none;font-weight:680;font-size:clamp(18px,1.55vw,23px);line-height:1.35;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.v43-faq summary::-webkit-details-marker{display:none}
.v43-faq summary::after{content:'+';font-size:27px;line-height:1;font-weight:350;flex:none}
.v43-faq details[open] summary::after{content:'−'}
.v43-faq summary:focus-visible{outline:2px solid #345c85;outline-offset:5px}
.v43-faq details p{font-size:16px;line-height:1.65;color:#455a6c;max-width:720px;margin:13px 0 8px}
html[lang=ar] .v43-faq h2{letter-spacing:0;line-height:1.35}
html[lang=ar] .v43-faq details p{line-height:1.9}
@media(max-width:900px){.v43-faq{grid-template-columns:1fr}.v43-faq-intro p{margin-bottom:0}}


/* v43: practical working process for the company page. */
.v43-about-method{padding-block:clamp(70px,8vw,125px);background:#ecf2f5;color:#14283b}
.v43-about-intro{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);column-gap:clamp(35px,6vw,100px);align-items:start;max-width:1380px;margin:auto}
.v43-about-intro>p{grid-column:1/-1;font-size:14px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin:0 0 26px;color:#446579}
.v43-about-intro h2{font-size:clamp(46px,5vw,78px);line-height:1.08;letter-spacing:-.05em;margin:0}
.v43-about-intro div{max-width:590px}
.v43-about-intro div p{font-size:clamp(17px,1.35vw,20px);line-height:1.65;margin:0 0 18px;color:#415569}
.v43-about-steps{list-style:none;max-width:1380px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2.2vw,38px);margin:clamp(42px,6vw,90px) auto 0;padding:0}
.v43-about-steps li{border-top:1px solid #a2b6c1;padding-top:20px}
.v43-about-steps h3{font-size:clamp(21px,1.9vw,27px);line-height:1.25;margin:0 0 12px;letter-spacing:-.025em}
.v43-about-steps p{font-size:16px;line-height:1.6;color:#465a6b;margin:0}
html[lang=ar] .v43-about-intro>p{letter-spacing:0}
html[lang=ar] .v43-about-intro h2,html[lang=ar] .v43-about-steps h3{letter-spacing:0;line-height:1.4}
html[lang=ar] .v43-about-intro div p,html[lang=ar] .v43-about-steps p{line-height:1.85}
@media(max-width:1000px){.v43-about-intro{grid-template-columns:1fr}.v43-about-intro h2{max-width:800px;margin-bottom:25px}.v43-about-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.v43-about-intro h2{font-size:clamp(38px,10vw,52px)}.v43-about-steps{grid-template-columns:1fr;gap:20px}}


/* SOURCE /assets/intro-v38.css */
/* Flexicodal / v38. A brief identity reveal, never a simulated loading state. */
.site-intro.intro-v31 {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 100;
  overflow: hidden;
  pointer-events: none;
  background: transparent;
  animation: flex-v38-clear 0s 1.16s forwards;
}

.site-intro.intro-v31::before,
.site-intro.intro-v31::after,
.site-intro.intro-v31 .intro-v31-content::after,
.site-intro.intro-v31 .intro-v31-left::after,
.site-intro.intro-v31 .intro-v31-right::after { content: none; }

.site-intro.intro-v31 .intro-v31-left,
.site-intro.intro-v31 .intro-v31-right {
  position: absolute;
  inset-block: 0;
  width: 50.1%;
  background: #070d1b;
  will-change: transform;
  animation-duration: .46s;
  animation-delay: .68s;
  animation-timing-function: cubic-bezier(.76, 0, .19, 1);
  animation-fill-mode: forwards;
}

.site-intro.intro-v31 .intro-v31-left {
  inset-inline-start: 0;
  left: 0;
  right: auto;
  background: linear-gradient(115deg, #0d1930, #070d1b 72%);
  animation-name: flex-v38-left;
}

.site-intro.intro-v31 .intro-v31-right {
  inset-inline-start: auto;
  right: 0;
  left: auto;
  transform: none;
  background: linear-gradient(245deg, #0d1930, #070d1b 72%);
  animation-name: flex-v38-right;
}

.site-intro.intro-v31 .intro-v31-content {
  position: absolute;
  inset: 0;
  isolation: isolate;
  display: grid;
  place-items: center;
  padding: 24px;
  text-align: center;
  animation: flex-v38-lockup-out .18s .63s ease-in forwards;
}

.site-intro.intro-v31 .intro-v31-content::before {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  width: min(70vw, 480px);
  aspect-ratio: 1;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(73, 104, 172, .14), transparent 68%);
  filter: none;
  opacity: 1;
  animation: none;
}

/* The supplied brand symbol and wordmark are treated as a single identity. */
.site-intro.intro-v31 .intro-v31-lockup {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: clamp(15px, 2.7vw, 29px);
  width: auto;
  max-width: min(86vw, 550px);
  margin: 0;
}

.site-intro.intro-v31 .intro-v31-symbol,
.site-intro.intro-v31 .intro-v31-wordmark {
  display: block;
  flex: none;
  object-fit: contain;
  max-height: none;
  filter: none;
  clip-path: none;
  opacity: 0;
  transform: translateY(9px);
  animation: flex-v38-brand-in .38s cubic-bezier(.23, .72, .25, 1) forwards;
}

.site-intro.intro-v31 .intro-v31-symbol {
  width: clamp(65px, 6.2vw, 86px);
  height: clamp(65px, 6.2vw, 86px);
  animation-delay: .04s;
}

.site-intro.intro-v31 .intro-v31-wordmark {
  width: clamp(220px, 28vw, 380px);
  height: auto;
  margin: 0;
  animation-delay: .12s;
}

.site-intro.intro-v31 .intro-v31-edition,
.site-intro.intro-v31 .intro-v31-rule,
.site-intro.intro-v31 .intro-v31-bottom { display: none; }

.intro-seen .site-intro.intro-v31 { display: none; }

@keyframes flex-v38-brand-in {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes flex-v38-lockup-out {
  to { opacity: 0; }
}
@keyframes flex-v38-left {
  to { transform: translate3d(-101%, 0, 0); }
}
@keyframes flex-v38-right {
  to { transform: translate3d(101%, 0, 0); }
}
@keyframes flex-v38-clear {
  to { visibility: hidden; }
}

@media (max-width: 640px) {
  .site-intro.intro-v31 .intro-v31-lockup { gap: 13px; max-width: 86vw; }
  .site-intro.intro-v31 .intro-v31-symbol { width: 57px; height: 57px; }
  .site-intro.intro-v31 .intro-v31-wordmark { width: min(62vw, 275px); }
}

@media (prefers-reduced-motion: reduce) {
  .site-intro.intro-v31 { display: none; }
}


/* SOURCE /assets/visual-v38.css */
/* Flexicodal visual refinement, 2026-10-06. Loaded after the existing page styles. */

/* Links should read as deliberate controls, without decorative arrow glyphs. */
.v37-arrow,.wg37-arrow,.wg37-external{display:none!important}
.skip:not(:focus-visible){top:0;clip-path:inset(100%);width:1px;height:1px;overflow:hidden}
.skip:focus-visible{top:15px;clip-path:none;width:auto;height:auto;overflow:visible}
.v37-link,
.case-v18 .case-gallery-intro-v30 a{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;
  padding:13px 21px;border:1px solid rgba(220,244,255,.45);border-radius:12px;
  background:rgba(231,246,255,.12);box-shadow:inset 0 1px rgba(255,255,255,.16);
  color:#f3f9fc;text-decoration:none;font-size:13px;font-weight:750;
  transition:background .25s,border-color .25s,transform .25s
}
.v37-link:hover,.v37-link:focus-visible,
.case-v18 .case-gallery-intro-v30 a:hover,.case-v18 .case-gallery-intro-v30 a:focus-visible{
  background:rgba(231,246,255,.22);border-color:rgba(242,252,255,.75);color:#fff;transform:translateY(-2px)
}
.v37-practice .v37-link,.v37-studio-intro .v37-link,
.v37-expertise-intro .v37-link{background:#173344;border-color:#173344;color:#fff}
.v37-practice .v37-link:hover,.v37-studio-intro .v37-link:hover{background:#28566b;color:#fff}
.v37-cap{grid-template-columns:16px minmax(0,1fr) auto;min-height:83px;gap:18px}
.v37-cap::after{content:"Explore";display:grid;place-items:center;min-height:36px;padding:5px 11px;border:1px solid rgba(22,67,93,.32);border-radius:9px;font-size:10px;font-weight:800;letter-spacing:0}
html[lang=ar] .v37-cap::after{content:"اعرف المزيد"}
.v37-cap .v37-arrow{display:none}
.v37-footer-primary,.v37-footer-wa{justify-content:center;text-align:center}

/* The Home phone uses the actual mobile capture inside a proportional handset. */
.v37-case-mobile{
  box-sizing:border-box;aspect-ratio:78 / 163.4;height:auto;max-height:none;
  padding:clamp(4px,.48vw,7px);overflow:visible;
  border:1px solid #8b909a;border-radius:clamp(19px,3.1vw,37px);
  background:linear-gradient(105deg,#626875,#111319 7%,#080a0d 94%,#727985);
  box-shadow:0 25px 65px rgba(0,0,0,.5),inset 0 0 0 1px rgba(245,250,255,.2);
}
.v37-case-mobile::before{
  content:"";position:absolute;z-index:5;top:clamp(10px,1.04vw,15px);left:50%;
  width:27%;height:3%;max-height:18px;min-height:7px;transform:translateX(-50%);
  border-radius:999px;background:#030405;box-shadow:0 0 0 1px rgba(44,49,55,.9)
}
.v37-case-mobile::after{
  content:"";position:absolute;top:21%;left:-3px;width:2px;height:12%;
  border-radius:2px 0 0 2px;background:linear-gradient(#aab0bc,#5c6370,#aab0bc)
}
.v37-case-mobile img{
  display:block;width:100%;height:100%;max-height:none;aspect-ratio:1320 / 2868;
  object-fit:cover;object-position:top center;
  border-radius:clamp(15px,2.55vw,31px);background:#0a0d10;
  transition:filter .35s!important
}
.v37-case-art a:hover img{transform:none;filter:brightness(1.06)}
.v37-case-screen span,.v37-case-mobile span{display:none}
.v37-case-screen{border-radius:10px;box-shadow:0 25px 65px rgba(0,0,0,.32)}
.v37-case-screen img{object-fit:cover;background:transparent}
.v37-case--fashion{background-color:#221d2a}
.v37-case--hospitality{background-color:#241d19}
.v37-case--automotive{background-color:#0b2530}

/* Case study handsets use the same proportions and avoid double outlines. */
.case-v18 .hardware.iphone{
  box-sizing:border-box;aspect-ratio:78 / 163.4;
  padding:clamp(4px,.48vw,7px);border:1px solid #8b909a;
  border-radius:clamp(21px,3vw,39px);
  background:linear-gradient(105deg,#777f8c,#12151a 5%,#07090d 95%,#858c98);
  box-shadow:0 25px 58px rgba(0,3,14,.4),inset 0 0 0 1px rgba(255,255,255,.19)
}
.case-v18 .iphone .hardware-screen{
  width:100%;height:100%;aspect-ratio:1320 / 2868;
  overflow:hidden;border-radius:clamp(17px,2.45vw,32px);background:#0a0d10
}
.case-v18 .iphone .hardware-screen img{
  display:block;width:100%;height:100%;aspect-ratio:1320 / 2868;
  object-fit:cover;object-position:top center;background:#0a0d10
}
.case-v18 .iphone .hardware-camera{
  z-index:4;top:clamp(10px,1vw,15px);left:36.5%;width:27%;height:3%;
  max-height:18px;min-height:7px;border-radius:999px;background:#030405;
  box-shadow:0 0 0 1px rgba(40,45,52,.9)
}
.case-v18 .hardware.iphone::before,.case-v18 .hardware.iphone::after{
  width:2px;left:-3px;background:linear-gradient(#aab0bc,#626a76,#aab0bc)
}
.case-v18 .hardware.iphone::after{left:auto;right:-3px}
.case-v18 .device-iphone{background:radial-gradient(circle at 45% 48%,rgba(79,97,124,.22),transparent 58%),#152033}
.case-v18 .case-device figcaption a{
  min-height:40px;display:inline-flex;align-items:center;justify-content:center;
  padding:8px 13px;border:1px solid rgba(218,237,251,.34);border-radius:9px;
  background:rgba(242,250,255,.08);font-size:11px
}
.case-v18 .case-device figcaption a span{display:none}
.case-v18 .case-back{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid rgba(220,240,255,.37);border-radius:10px;background:rgba(235,247,255,.08);font-weight:750}
.case-v18 .case-back span,.case-v18 .case-back svg{display:none!important}

/* The site pages themselves should occupy the frame rather than sit in padding. */
.v37-expertise-intro-art,.v37-studio-intro-art,.v37-discipline-image{
  padding:0;border-radius:14px;background:#101925
}
.v37-expertise-intro-art img,.v37-studio-intro-art img,
.v37-discipline-image img{
  width:100%;aspect-ratio:1.6;object-fit:cover;object-position:top center;
  border-radius:12px;background:#101925;box-shadow:none
}
.v37-studio-intro{padding-block:clamp(78px,8vw,130px);background:#e4e9eb}
.v37-studio-intro>.v37-eyebrow{margin-bottom:24px}
.v37-studio-intro>div{
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(34px,4.5vw,80px);align-items:center
}
.v37-studio-intro h2{
  max-width:720px;font-size:clamp(48px,4.2vw,76px);
  line-height:1.05;letter-spacing:-.055em
}
.v37-studio-intro-art{min-height:0;align-self:center;box-shadow:0 25px 65px rgba(20,41,55,.18)}
.v37-studio-intro>div>div p{font-size:clamp(15px,1.12vw,18px);line-height:1.65}
.v37-studio-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,50px)}
.v37-studio-project:nth-child(2){padding-top:0}
.v37-studio-project:nth-child(2)>a:first-child{width:100%}
.v37-studio-project:nth-child(2) img{aspect-ratio:1.6;max-height:none;object-fit:cover;object-position:top}
.v37-studio-project>a:first-child{border-radius:12px}
.v37-more-tile img{object-fit:cover;object-position:top center}

/* Page controls announce an action instead of showing a generic arrow. */
.rail-controls button,.feature-pagination button,.gallery-switch button,
.case-v18 .gallery-switch button{
  width:auto;min-width:84px;min-height:44px;height:auto;padding:10px 14px;
  border-radius:10px;font:750 11px/1.2 Manrope,sans-serif
}
.rail-controls button svg,.feature-pagination button svg,.gallery-switch button svg{display:none!important}
button[data-rail-prev]::after{content:"Previous"}
button[data-rail-next]::after{content:"Next"}
button[data-case-prev]::after{content:"Previous page"}
button[data-case-next]::after{content:"Next page"}
html[lang=ar] button[data-rail-prev]::after{content:"السابق"}
html[lang=ar] button[data-rail-next]::after{content:"التالي"}
html[lang=ar] button[data-case-prev]::after{content:"الصفحة السابقة"}
html[lang=ar] button[data-case-next]::after{content:"الصفحة التالية"}
.case-v18 .gallery-switch{flex-wrap:wrap}
.case-v18 .gallery-switch button{min-width:104px}
.case-v18 .gallery-switch span{min-width:58px;text-align:center}
.case-v18 .case-device-selector{flex-wrap:wrap;width:auto;max-width:100%}

/* A narrow screen has an immediately legible list of brands and larger targets. */
@media(max-width:780px){
  .v37-studio-intro>div{grid-template-columns:1fr;gap:26px}
  .v37-studio-intro>div h2,.v37-studio-intro-art,.v37-studio-intro>div>div{grid-column:1;grid-row:auto}
  .v37-studio-intro h2{font-size:clamp(42px,8.3vw,67px)}
  .v37-studio-intro-art{width:100%;max-width:none}
}
@media(max-width:640px){
  .masthead .language span,.masthead .language a{min-width:44px;min-height:44px;display:grid;place-items:center;padding:7px}
  .masthead .menu-toggle{width:44px;height:44px}
  #clients.client-strip{padding-block:50px 54px}
  #clients .client-strip-head{align-items:start}
  #clients .rail-controls{display:none}
  #clients .client-logo-row{
    display:grid;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;grid-auto-columns:auto;gap:8px;overflow:visible;padding:0
  }
  #clients .client-logo-row a{min-height:85px;padding:10px}
  #clients .client-strip-tail{font-size:11px;line-height:1.5;letter-spacing:0}
  #clients .client-strip-tail a{display:inline-flex;align-items:center;min-height:44px}
  .v37-case-mobile{width:clamp(105px,30vw,165px);right:0;bottom:-1%}
  .v37-case-mobile img{border-radius:clamp(15px,5vw,24px)}
  .v37-case-mobile::before{top:9px}
  .v37-case-art,.v37-case--hospitality .v37-case-art{min-height:270px;padding:15px 23px 15px 0}
  .v37-case-copy h3{font-size:clamp(39px,10.5vw,58px)}
  .v37-case-brand{display:none}
  .v37-cap{grid-template-columns:12px minmax(0,1fr);gap:14px}
  .v37-cap::after{grid-column:2;justify-self:start}
  .v37-studio-intro{padding-block:70px}
  .v37-studio-intro h2{font-size:clamp(39px,9.7vw,55px)}
  .v37-studio-pair{grid-template-columns:1fr}
  .v37-studio-project:nth-child(2){padding-top:0}
  .v37-more-visual{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-height:0}
  .v37-more-tile:nth-child(n){grid-column:auto;grid-row:auto;transform:none!important}
  .v37-more-tile:nth-child(3){grid-column:1/-1}
  .v37-more-tile:hover{transform:none}
  .case-v18 .case-gallery-intro-v30 a{padding:11px 16px;min-height:44px}
  .case-v18 .hardware.iphone{width:min(78%,285px)!important;border-radius:clamp(23px,8vw,37px)}
  .case-v18 .iphone .hardware-screen{border-radius:clamp(19px,7vw,31px)}
  .case-v18 .case-device-selector{width:100%}
  .case-v18 .case-device-selector button{min-height:46px}
  .case-v18 .gallery-switch{width:100%;display:grid;grid-template-columns:1fr auto 1fr;gap:7px}
  .case-v18 .gallery-switch button{min-width:0;width:100%;padding:10px 6px;font-size:10px}
}
@media(max-width:360px){.masthead .brand-type{display:none}}
html[lang=ar] .v37-studio-intro h2{letter-spacing:0;line-height:1.25;font-size:clamp(42px,4.1vw,68px)}
@media(max-width:640px){html[lang=ar] .v37-studio-intro h2{font-size:clamp(37px,9vw,52px)}}
@media(prefers-reduced-motion:reduce){.v37-link,.v37-case-art img{transition:none!important}}


/* SOURCE /assets/visual-v39.css */
/* Flexicodal v39: capture framing, handsets, mobile brand rail and clear actions. */

/* Keep the handset; its artificial camera island obscured the real page capture. */
.v37-case-mobile::before { content: none !important; }
.case-v18 .iphone .hardware-camera { display: none !important; }

/* Three genuine website captures form a collage at the aspect ratios of their sources. */
.v37-process-montage {
  grid-template-columns: minmax(0, 1.65fr) minmax(0, .8fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(8px, 1vw, 14px);
  aspect-ratio: 1.2;
  min-height: 0;
  padding: clamp(10px, 1.25vw, 18px);
  border: 1px solid rgba(190, 228, 247, .22);
  border-radius: 18px;
  background: linear-gradient(145deg, #24384c, #111d2d);
}
.v37-process-montage a:nth-child(1) { grid-column: 1; grid-row: 1; }
.v37-process-montage a:nth-child(2) { grid-column: 2; grid-row: 1 / 3; }
.v37-process-montage a:nth-child(3) { grid-column: 1; grid-row: 2; }
.v37-process-montage a {
  border-radius: 9px;
  background: #111d2d;
  box-shadow: 0 14px 28px rgba(0, 7, 19, .22);
}
.v37-process-montage a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  background: transparent;
}
.v37-process-montage a:nth-child(2) img { object-position: top center; }

/* Studio compares two desktop homepages, with consistent image scale. */
.v37-studio-project>a:first-child { aspect-ratio: 1.6; }
.v37-studio-project img,
.v37-studio-project:nth-child(2) img {
  width: 100%;
  height: 100%;
  max-height: none;
  aspect-ratio: 1.6;
  object-fit: cover;
  object-position: top center;
}
.v37-studio-project>a:hover img { transform: none; filter: brightness(1.07); }

/* A link to the portfolio is a real control, including beneath the brand rail. */
#clients .client-strip-tail a,
.case-v18 .case-gallery-intro-v30 a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 19px;
  border: 1px solid rgba(27, 67, 91, .38);
  border-radius: 10px;
  background: #18344a;
  color: #fff;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: 0;
  text-decoration: none;
  transition: background .25s, transform .25s;
}
#clients .client-strip-tail a:hover,
.case-v18 .case-gallery-intro-v30 a:hover { background: #2c5b71; transform: translateY(-2px); }
.case-v18 .case-gallery-intro-v30 a { background: rgba(237, 249, 255, .12); border-color: rgba(207, 239, 252, .42); }
.v37-link { font-size: 14px; line-height: 1.3; }
.v37-footer .footer-base nav a { font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; }
.wg37-links a { min-height: 44px; font-size: 14px; }
.wg37-outro a { min-height: 44px; font-size: 14px; }
.masthead .desktop-nav a,
.masthead .language,
.masthead .contact-pill,
.glass-button,
.wa-action { font-size: 14px; }
.hero-scroll-v30 { min-height: 44px; font-size: 14px; letter-spacing: .08em; }
html[dir=rtl] .hero-scroll-v30 { font-size: 14px; letter-spacing: 0; }
.work-hero-copy a { font-size: 14px; }
.case-v18 a.glass-button { font-size: 14px !important; }
.case-v18 .case-back,
.case-v18 .case-all,
.case-v18 .case-device figcaption a { font-size: 14px; }
.case-v18 .case-device figcaption a { min-height: 44px; padding: 10px 15px; }
.case-v18 .case-overline a {
  display: inline-flex; align-items: center; min-height: 42px; padding: 9px 13px;
  border: 1px solid rgba(225, 243, 255, .43); border-radius: 9px;
  background: rgba(231, 246, 255, .11); color: #edf7fc;
  font-size: 14px; text-decoration: none;
}
.case-v18 .case-all {
  min-height: 46px; padding: 10px 17px; border: 1px solid rgba(225, 243, 255, .43);
  border-radius: 9px; background: rgba(231, 246, 255, .11); text-decoration: none;
}

/* The identity reveal is intentional yet remains a one-time, non-blocking curtain. */
.site-intro.intro-v31 { animation: flex-v38-clear 0s 2.05s forwards; }
.site-intro.intro-v31 .intro-v31-content { animation: flex-v38-lockup-out .2s 1.35s ease-in forwards; }
.site-intro.intro-v31 .intro-v31-left,
.site-intro.intro-v31 .intro-v31-right { animation-duration: .58s; animation-delay: 1.44s; }
.site-intro.intro-v31 .intro-v31-symbol,
.site-intro.intro-v31 .intro-v31-wordmark { animation-duration: .54s; }
.site-intro.intro-v31 .intro-v31-wordmark { animation-delay: .18s; }

@media (max-width: 640px) {
  /* Two rows of branded marks now move sideways; the 25 brands no longer make a wall. */
  #clients.client-strip { padding-block: 48px 52px; }
  #clients .client-strip-head { display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 17px; }
  #clients .client-strip-head>div:first-child { flex-basis: 100%; }
  #clients .rail-controls { display: flex; gap: 8px; }
  #clients .rail-controls button { min-width: 96px; min-height: 44px; font-size: 12px; }
  #clients .client-logo-row {
    display: grid;
    grid-auto-flow: column;
    grid-template-columns: none;
    grid-template-rows: repeat(2, 96px);
    grid-auto-columns: clamp(148px, 41vw, 190px);
    gap: 9px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    padding: 2px 14px 12px 1px;
  }
  #clients .client-logo-row a { min-height: 0; height: 96px; scroll-snap-align: start; }
  #clients .client-logo-row a:nth-child(6n+1) { background: #f7f7f4; }
  #clients .client-logo-row a:nth-child(6n+2) { background: #eef4f6; }
  #clients .client-logo-row a:nth-child(6n+3) { background: #f4f1ed; }
  #clients .client-logo-row a:nth-child(6n+4) { background: #e9f1f4; }
  #clients .client-logo-row a:nth-child(6n+5) { background: #f5f6f7; }
  #clients .client-logo-row a:nth-child(6n) { background: #f0f4f0; }
  #clients .client-strip-tail { justify-content: flex-start; margin-top: 12px; }
  #clients .client-strip-tail>span { display: none; }
  #clients .client-strip-tail a { min-height: 48px; padding: 12px 18px; font-size: 14px; }
  .v37-process-montage { width: 100%; aspect-ratio: 1.18; min-height: 0; padding: 9px; gap: 7px; }
  .v37-studio-project>a:first-child { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .site-intro.intro-v31 { display: none; }
  #clients .client-strip-tail a { transition: none; }
}


/* SOURCE /assets/footer-v39.css */
/* V39 shared contact footer. Load after site.css and sections-v37.css. */
.footer.v37-footer {
  color: #f2f5fa;
  background: linear-gradient(155deg, #0d1b30 0%, #081423 55%, #07111e 100%);
}

.footer.v37-footer .v37-footer-call {
  max-width: 1800px;
  padding-top: clamp(76px, 7vw, 112px);
  padding-bottom: clamp(84px, 7.5vw, 124px);
  background: radial-gradient(ellipse at 9% 6%, rgba(84, 163, 218, .13), transparent 52%);
}

.footer.v37-footer .v37-footer-call::before {
  content: none;
}

.footer.v37-footer .v37-footer-top {
  color: #a9c6da;
}

.footer.v37-footer .v37-footer-main {
  position: relative;
  grid-template-columns: minmax(0, 1.12fr) minmax(350px, .88fr);
  align-items: center;
  gap: clamp(44px, 6vw, 112px);
  margin-top: clamp(46px, 5.5vw, 76px);
  padding: clamp(42px, 5.4vw, 78px);
  overflow: hidden;
  border: 1px solid rgba(199, 230, 249, .25);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(121, 181, 220, .13), rgba(42, 81, 124, .07) 46%, rgba(6, 22, 40, .18));
  box-shadow: inset 0 1px rgba(240, 250, 255, .11), 0 30px 80px rgba(0, 6, 20, .15);
}

.footer.v37-footer .v37-footer-main::before {
  content: '';
  position: absolute;
  inset: 0 auto auto clamp(42px, 5.4vw, 78px);
  width: min(190px, 30%);
  height: 2px;
  background: linear-gradient(90deg, #53d6f1, #5f73e1, #a273df);
}

.footer.v37-footer .v37-footer-main h2 {
  max-width: 780px;
  font-size: clamp(64px, 7.5vw, 118px);
  line-height: .99;
  letter-spacing: -.069em;
}

.footer.v37-footer .v37-footer-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  width: 100%;
  max-width: none;
}

.footer.v37-footer .v37-footer-actions > p {
  grid-column: 1 / -1;
  max-width: 46ch;
  margin: 0 0 14px;
  color: #c2d3e2;
  font-size: clamp(16px, 1.25vw, 18px);
  line-height: 1.65;
}

.footer.v37-footer .v37-footer-actions > a {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 100%;
  min-height: 76px;
  margin: 0;
  padding: 17px 22px;
  border: 1px solid rgba(195, 223, 244, .32);
  border-radius: 15px;
  background: linear-gradient(120deg, rgba(200, 231, 255, .12), rgba(126, 171, 211, .065));
  box-shadow: inset 0 1px 0 rgba(245, 252, 255, .13), 0 13px 30px rgba(0, 7, 17, .16);
  color: #f4f8fc;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.footer.v37-footer .v37-footer-primary { grid-column: 1 / -1; }

.footer.v37-footer .v37-footer-actions > a:hover {
  transform: translateY(-2px);
  border-color: rgba(219, 243, 255, .65);
  background: linear-gradient(120deg, rgba(205, 235, 255, .20), rgba(126, 185, 225, .12));
  box-shadow: inset 0 1px 0 rgba(245, 252, 255, .2), 0 16px 34px rgba(0, 7, 17, .2);
}

.footer.v37-footer .v37-footer-actions > a:focus-visible {
  outline: 2px solid #b9ecff;
  outline-offset: 3px;
}

.footer.v37-footer .v37-footer-actions > a .v37-arrow {
  display: none;
}

/* The email card also supports a label + address when the template supplies it. */
.footer.v37-footer .v37-footer-mail span {
  font-size: 14px;
  font-weight: 700;
}

.footer.v37-footer .v37-footer-mail strong {
  font-size: 15px;
  font-weight: 700;
  direction: ltr;
  unicode-bidi: isolate;
}

.footer.v37-footer .footer-base nav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 7px 2px;
  font-size: 14px;
  line-height: 1.4;
}

.footer.v37-footer .footer-base nav a:focus-visible {
  outline: 2px solid #b9ecff;
  outline-offset: 3px;
  border-radius: 3px;
}

html[lang="ar"] .footer.v37-footer .v37-footer-main h2 {
  font-size: clamp(54px, 6.3vw, 80px);
  line-height: 1.18;
  letter-spacing: -.035em;
}

html[lang="ar"] .footer.v37-footer .v37-footer-actions > a {
  font-family: NotoArabic, Manrope, sans-serif;
  line-height: 1.7;
  letter-spacing: 0;
}

html[dir="rtl"] .footer.v37-footer .v37-footer-mail {
  direction: ltr;
}

@media (max-width: 960px) {
  .footer.v37-footer .v37-footer-main {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
    padding: clamp(30px, 5vw, 54px);
  }

  .footer.v37-footer .v37-footer-main h2 {
    font-size: clamp(64px, 9vw, 90px);
  }

  .footer.v37-footer .v37-footer-actions {
    max-width: 620px;
  }
}

@media (max-width: 600px) {
  .footer.v37-footer .v37-footer-call {
    padding-top: 66px;
    padding-bottom: 76px;
  }

  .footer.v37-footer .v37-footer-top {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .07em;
  }

  .footer.v37-footer .v37-footer-main {
    gap: 32px;
    margin-top: 38px;
    padding: 34px 22px;
    border-radius: 18px;
  }

  .footer.v37-footer .v37-footer-main::before { left: 22px; }

  .footer.v37-footer .v37-footer-actions { grid-template-columns: minmax(0, 1fr); }

  .footer.v37-footer .v37-footer-actions > p,
  .footer.v37-footer .v37-footer-primary { grid-column: 1; }

  .footer.v37-footer .v37-footer-main h2 {
    font-size: clamp(52px, 12vw, 76px);
    line-height: 1.03;
  }

  .footer.v37-footer .v37-footer-actions > p {
    margin-bottom: 7px;
    font-size: 15px;
    line-height: 1.7;
  }

  .footer.v37-footer .v37-footer-actions > a {
    min-height: 67px;
    padding: 14px 18px;
    font-size: 14px;
  }

  html[lang="ar"] .footer.v37-footer .v37-footer-main h2 {
    font-size: clamp(44px, 9.7vw, 63px);
    line-height: 1.2;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer.v37-footer .v37-footer-actions > a {
    transition: none;
  }

  .footer.v37-footer .v37-footer-actions > a:hover {
    transform: none;
  }
}


/* SOURCE /assets/mobile-carousel-v39.css */
/* Mobile-only scroll rails. Include after visual-v38.css and work-index-v37.css. */
.v39-carousel-viewport { display: contents; }
.v39-carousel-controls { display: none; }
.wg37-card[hidden] { display: none !important; }

@media (max-width: 760px) {
  .v37-cases.v39-carousel,
  .wg37-wall.v39-carousel,
  .v37-studio-pair.v39-carousel { display: block; }

  .v39-carousel .v39-carousel-viewport {
    display: flex;
    width: 100%;
    min-width: 0;
    gap: 14px;
    align-items: stretch;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 5px;
  }
  .v39-carousel-viewport::-webkit-scrollbar { display: none; }
  .v39-carousel-viewport:focus-visible { outline: 2px solid #a8e6fa; outline-offset: 3px; }
  .v39-carousel .v39-carousel-viewport > article {
    flex: 0 0 calc(100% - 30px);
    min-width: 0;
    scroll-snap-align: start;
  }

  .v39-carousel-controls:not([hidden]) {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 19px;
  }
  .v39-carousel-controls button {
    flex: 0 0 auto;
    min-width: 83px;
    min-height: 44px;
    padding: 10px 13px;
    border: 1px solid rgba(221, 240, 250, .45);
    border-radius: 10px;
    background: rgba(226, 245, 255, .11);
    color: #f0f7fb;
    font: 750 13px/1.2 Manrope, sans-serif;
    text-align: center;
    cursor: pointer;
  }
  .v39-carousel-controls button:hover:not(:disabled) { background: rgba(226, 245, 255, .23); }
  .v39-carousel-controls button:focus-visible { outline: 2px solid #a8e6fa; outline-offset: 3px; }
  .v39-carousel-controls button:disabled { cursor: default; opacity: .42; }
  .v39-carousel-progress {
    flex: 1 1 auto;
    height: 4px;
    min-width: 35px;
    max-width: 220px;
    overflow: hidden;
    border-radius: 99px;
    background: rgba(224, 243, 255, .25);
  }
  .v39-carousel-progress > span {
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: #b8e7f6;
    transition: width .2s ease;
  }

  .v37-cases.v39-carousel .v37-case { min-height: 0; }
  .wg37-wall.v39-carousel .wg37-card { grid-column: auto; }
  .v37-studio-pair.v39-carousel .v37-studio-project { flex-basis: 100%; }
  .v37-disciplines.v39-carousel .v37-discipline {
    padding: 23px;
    border: 1px solid rgba(218, 237, 255, .25);
    border-radius: 17px;
    background: #122033;
  }
  .v37-disciplines.v39-carousel .v37-discipline:last-child { border-bottom: 1px solid rgba(218, 237, 255, .25); }
  .v37-disciplines.v39-carousel .v37-discipline h3 { margin: 19px 0; font-size: clamp(36px, 9vw, 52px); }
  .v37-disciplines.v39-carousel .v37-discipline-copy > p { margin-bottom: 17px; }
  .v37-disciplines.v39-carousel .v37-discipline-copy > small { margin-bottom: 16px; }
  .v37-studio-pair.v39-carousel .v37-studio-project:nth-child(2) { padding-top: 0; }
}

@media (max-width: 380px) {
  .v39-carousel-controls { gap: 7px; }
  .v39-carousel-controls button { min-width: 75px; padding-inline: 8px; }
  .v37-disciplines.v39-carousel .v37-discipline { padding: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .v39-carousel-progress > span { transition: none; }
}


/* SOURCE /assets/mobile-carousel-v40.css */
/* Load after mobile-carousel-v39.css. v40 uses progress-only native swipe rails. */
#clients .rail-controls[hidden] { display: none !important; }
@media (max-width: 760px) {
  .v39-carousel-controls:not([hidden]) {
    display: block;
    margin: 14px 0 0;
  }

  .v39-carousel-progress {
    width: min(100%, 150px);
    height: 3px;
    min-width: 0;
    max-width: none;
    margin-inline: auto;
    background: rgba(220, 239, 249, .17);
    border-radius: 99px;
  }

  .v39-carousel-progress > span {
    min-width: 7px;
    background: linear-gradient(90deg, #ccebf8, #79c6e5);
    transition: width .26s ease;
  }

  html[dir="rtl"] .v39-carousel-progress > span,
  html[lang^="ar"] .v39-carousel-progress > span {
    margin-left: auto;
    margin-right: 0;
    background: linear-gradient(270deg, #ccebf8, #79c6e5);
  }

  /* The selected story, project, and expertise rails already expose 30px of
     the next slide. Studio has only two full-width slides, so its slim track
     is the swipe cue without clipping its longer project copy. */
}

@media (prefers-reduced-motion: reduce) {
  .v39-carousel-progress > span { transition: none; }
}


/* SOURCE /assets/visual-v40.css */
/* Flexicodal v40: visible content hierarchy and device presentation. */

/* Keep the story in the headline; decorative slugs do not need to compete. */
.hero-film-v21-content > p,
.hero-film-v21-foot > span,
.micro,
.section-index,
.v37-eyebrow,
.v37-footer-top { display: none !important; }

/* Remove duplicate serials and location slogans while preserving domains,
   project descriptions, and contact details. */
.work-hero-rule > span,
.studio-hero-bottom > span,
.contact-location-v22,
.contact-card-head > span,
.case-unified-top > span,
.case-lead > span,
.case-gallery-intro-v30 > span,
.case-overview-heading > span,
.case-device-id,
.gallery-kicker { display: none !important; }
.case-v18 .case-unified-top { justify-content: flex-start; }
.case-v18 .case-gallery-intro-v30 { gap: 14px 35px; }
.case-v18 .case-gallery-intro-v30 h2 { grid-column: 1; }
.case-v18 .case-gallery-intro-v30 a { grid-column: 2; }
.case-v18 .case-device figcaption { min-height: 64px; }
.case-v18 .case-device figcaption strong { grid-column: 1; }
.case-v18 .case-device figcaption a { grid-column: 2; }
.contact-route-copy small { font-size: 13px; letter-spacing: .04em; }
html[dir="rtl"] .contact-route-copy small { letter-spacing: 0; }
.v37-kicker { font-size: 14px; letter-spacing: .07em; line-height: 1.35; }
.v37-cap small,
.v37-discipline-copy > small,
.v37-process-beat span { font-size: 14px; line-height: 1.55; }
.v37-more-tile span { font-size: 13px; }
.v37-studio-intro-art span,
.wg37-kicker { display: none !important; }
.wg37-type { font-size: 14px; line-height: 1.4; }
.wg37-window-address { font-size: 12px; }
.footer-base p { font-size: 14px; line-height: 1.5; }
.footer-base small { font-size: 13px; }
.case-v18 .case-facts span { font-size: 14px; }
.case-v18 .wa-action span,
.hero-film-v21-content .wa-action span { font-size: 14px; }
.contact-form-v22 .contact-form-bottom p { font-size: 14px; }
.v40-case-pager { display: none; }
@media (max-width: 600px) {
  .case-v18 .case-gallery-controls { gap: 8px; margin-top: 16px; padding-bottom: 36px; }
  .case-v18 .case-overview { padding-block: 60px; }
  .case-v18 .case-gallery-controls p { font-size: 14px; line-height: 1.55; }
  .case-v18 .v40-case-pager-ready + .case-gallery-controls .gallery-switch { display: none; }
  .case-v18 .v40-case-pager:not([hidden]) {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 100%;
    margin-top: 0;
  }
  .v40-case-pager button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .v40-case-pager button::after {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 100px;
    background: rgba(200, 226, 245, .43);
    transition: width .22s ease, background .22s ease;
  }
  .v40-case-pager button[aria-current="true"]::after { width: 22px; background: #bce7f7; }
  .v40-case-pager button:focus-visible { outline: 2px solid #bce7f7; border-radius: 12px; }
}

/* The homepage film controls and scroll cue occupy their own space. */
@media (max-width: 700px) {
  .hero-film-v21-content h1 { margin-top: 0; }
  .hero-film-v21-foot { justify-content: flex-end; }
}

/* Slim front-facing MacBook Pro and iPad Pro silhouettes. The page capture
   keeps its native aspect ratio; camera details stay inside the bezel. */
.case-v18 .hardware.macbook {
  padding: clamp(10px, 1vw, 14px) clamp(7px, .75vw, 11px) clamp(5px, .6vw, 8px);
  border: 1px solid #717984;
  border-bottom: 0;
  border-radius: clamp(11px, 1.15vw, 16px) clamp(11px, 1.15vw, 16px) 2px 2px;
  background: linear-gradient(90deg, #222831, #0a0e14 3%, #0a0e14 97%, #252b34);
  box-shadow: inset 0 1px rgba(223, 230, 238, .42), 0 28px 60px rgba(0, 3, 14, .38);
}
.case-v18 .macbook .hardware-screen { border-radius: 6px 6px 1px 1px; }
.case-v18 .macbook .hardware-camera {
  top: 3px;
  width: 5px;
  height: 4px;
  border-radius: 50%;
  background: #1e2b3a;
  box-shadow: 0 0 0 1px rgba(86, 98, 114, .45);
}
.case-v18 .hardware.macbook::after {
  left: -6%;
  width: 112%;
  height: clamp(9px, 1vw, 14px);
  border: 1px solid rgba(148, 158, 168, .58);
  border-radius: 2px 2px 45% 45% / 2px 2px 82% 82%;
  background: linear-gradient(180deg, #c4cbd1 0%, #8c959e 25%, #626b75 59%, #a3acb6 100%);
  box-shadow: 0 11px 18px rgba(0, 2, 10, .25);
}
.case-v18 .hardware.macbook::before {
  z-index: 3;
  left: 42%;
  width: 16%;
  height: 3px;
  background: #5c6671;
}
.case-v18 .hardware.ipad {
  padding: clamp(7px, .75vw, 11px);
  border: 1px solid #89949e;
  border-radius: clamp(24px, 2.55vw, 38px);
  background: #10151b;
  box-shadow: inset 0 0 0 1px rgba(16, 21, 27, .9), 0 24px 49px rgba(0, 3, 14, .38);
}
.case-v18 .ipad .hardware-screen { border-radius: clamp(17px, 1.9vw, 28px); }
.case-v18 .ipad .hardware-camera {
  top: 50%;
  left: auto;
  right: 2px;
  width: 3px;
  height: 3px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #283340;
}
@media (max-width: 600px) {
  .case-v18 .hardware.macbook { padding: 7px 5px 4px; border-radius: 8px 8px 2px 2px; }
  .case-v18 .macbook .hardware-screen { border-radius: 3px 3px 0 0; }
  .case-v18 .hardware.ipad { padding: 6px; border-radius: 23px; }
  .case-v18 .ipad .hardware-screen { border-radius: 17px; }
}


/* SOURCE /assets/visual-v41.css */
/* V41: make the engineering behind the work visible without adding clutter. */
.v41-capabilities,
.v41-engineering { position: relative; isolation: isolate; overflow: hidden; }
.v41-capabilities { color: #122639; background: radial-gradient(ellipse at 86% 3%, rgba(125,191,219,.33), transparent 48%), linear-gradient(145deg,#e8f0f2,#d4e2e9); padding-top: clamp(76px,8vw,126px); padding-bottom: clamp(82px,8.6vw,140px); }
.v41-capabilities::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .28; background: linear-gradient(135deg,transparent 25%,rgba(255,255,255,.45) 47%,transparent 68%); pointer-events: none; }
.v41-capabilities-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,.58fr); align-items: end; gap: clamp(28px,6vw,100px); margin-bottom: clamp(32px,4vw,65px); }
.v41-capabilities h2,.v41-engineering h2 { margin: 0; max-width: 900px; font-size: clamp(40px,5.3vw,78px); line-height: 1.05; letter-spacing: -.055em; font-weight: 690; text-wrap: balance; }
.v41-capabilities-head p { max-width: 450px; margin: 0; font-size: clamp(16px,1.28vw,19px); line-height: 1.64; color: #3b596c; }
.v41-capabilities-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(12px,1.4vw,22px); }
.v41-capabilities article { min-height: 276px; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(23px,2vw,34px); border: 1px solid rgba(255,255,255,.88); border-radius: 22px; background: linear-gradient(135deg,rgba(255,255,255,.76),rgba(234,246,251,.38)); box-shadow: inset 0 1px rgba(255,255,255,.94), 0 22px 55px rgba(37,79,106,.09); transition: transform .45s ease, box-shadow .45s ease; }
.v41-capabilities article:hover { transform: translateY(-5px); box-shadow: inset 0 1px #fff,0 28px 65px rgba(37,79,106,.15); }
.v41-capabilities article svg { width: 32px; height: 32px; fill: none; stroke: #245775; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.v41-capabilities article h3 { margin: auto 0 13px; padding-top: 28px; font-size: clamp(21px,1.65vw,26px); line-height: 1.19; letter-spacing: -.035em; }
.v41-capabilities article p { margin: 0; color: #486174; font-size: 15px; line-height: 1.58; }
.v41-capabilities-action { margin-top: 30px; display: flex; justify-content: flex-end; }
.v41-button { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: 12px 24px; border: 1px solid rgba(20,57,83,.25); border-radius: 999px; background: #132a3e; color: #fff; font-size: 14px; font-weight: 720; text-decoration: none; box-shadow: 0 12px 26px rgba(13,39,58,.15); transition: transform .3s, background .3s; }
.v41-button:hover,.v41-button:focus-visible { transform: translateY(-2px); background: #244862; color: #fff; }
.v41-engineering { color: #122639; background: radial-gradient(ellipse at 95% 5%,rgba(146,203,228,.29),transparent 45%),#e1ebef; padding-top: clamp(86px,9vw,148px); padding-bottom: clamp(88px,9vw,148px); }
.v41-engineering-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(240px,.55fr); gap: clamp(25px,6vw,105px); align-items: end; margin-bottom: clamp(40px,5vw,72px); }
.v41-engineering-head p { max-width: 520px; margin: 0; color: #435d70; font-size: clamp(16px,1.3vw,19px); line-height: 1.66; }
.v41-engineering-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: clamp(40px,6vw,100px); }
.v41-engineering article { min-height: 210px; padding: clamp(30px,3vw,48px) 0; border-top: 1px solid rgba(31,76,103,.28); }
.v41-engineering article h3 { margin: 0 0 16px; font-size: clamp(23px,2.1vw,34px); line-height: 1.14; letter-spacing: -.04em; }
.v41-engineering article p { max-width: 620px; margin: 0; color: #415b6d; font-size: clamp(15px,1.15vw,17px); line-height: 1.7; }
.v41-engineering article .v41-tool { display: block; margin-top: 24px; color: #315e78; font-size: 13px; font-weight: 730; line-height: 1.45; letter-spacing: .02em; }
.v41-existing { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 30px; align-items: center; margin-top: clamp(18px,2vw,30px); padding: clamp(28px,3vw,48px); border-radius: 22px; color: #eef8fc; background: radial-gradient(ellipse at 95% 10%,rgba(99,171,212,.3),transparent 54%),#102a40; box-shadow: 0 22px 50px rgba(33,74,100,.14); }
.v41-existing h3 { margin: 0 0 10px; font-size: clamp(25px,2.65vw,41px); letter-spacing: -.045em; line-height: 1.14; }
.v41-existing p { max-width: 850px; margin: 0; color: #b8d0de; font-size: clamp(15px,1.16vw,17px); line-height: 1.63; }
.v41-existing .v41-button { white-space: nowrap; background: #e9f5fb; color: #16364b; }
.v41-existing .v41-button:hover { background: #fff; color: #16364b; }
.v41-proof { display: grid; grid-template-columns: minmax(240px,.55fr) minmax(0,1.45fr); gap: clamp(24px,4vw,70px); align-items: center; margin-top: clamp(54px,6vw,90px); padding-top: clamp(42px,5vw,70px); border-top: 1px solid rgba(31,76,103,.25); }
.v41-proof-copy h3 { max-width: 340px; margin: 0 0 18px; font-size: clamp(31px,3vw,49px); letter-spacing: -.05em; line-height: 1.1; }
.v41-proof-copy p { max-width: 410px; margin: 0 0 12px; color: #415b6d; font-size: 15px; line-height: 1.65; }
.v41-proof-copy .v41-proof-note { font-size: 14px; color: #526c7e; }
.v41-proof-rail { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(12px,1.4vw,20px); }
.v41-proof-card { display: block; overflow: hidden; border: 1px solid #fff; border-radius: 18px; color: #17364d; background: rgba(255,255,255,.72); box-shadow: 0 18px 45px rgba(36,73,95,.1); text-decoration: none; transition: transform .35s, box-shadow .35s; }
.v41-proof-card:hover,.v41-proof-card:focus-visible { transform: translateY(-3px); color: #17364d; box-shadow: 0 24px 54px rgba(36,73,95,.16); }
.v41-proof-card img { display: block; width: 100%; height: auto; aspect-ratio: 1000/839; background: #fff; }
.v41-proof-card-info { display: flex; align-items: baseline; gap: 12px; padding: 14px 18px 17px; border-top: 1px solid rgba(31,76,103,.13); font-size: 14px; }
.v41-proof-card-info b { font-weight: 720; }
.v41-proof-card-info strong { font-size: 24px; line-height: 1; color: #15384f; }
.v41-proof-card-info span { margin-inline-start: auto; font-size: 14px; font-weight: 700; }
/* The work and contact pages should lead straight into their useful content. */
.contact-panel-v22 + .v41-contact-note { display: none; }
body:has(.contact-panel-v22) .v37-footer-call { display: none; }
body:has(.contact-panel-v22) .footer-base { border-top: 1px solid rgba(193,226,245,.17); }
#clients .client-strip-tail > span { display: none; }
#engineering,#built-beneath { scroll-margin-top: 110px; }
.contact-form-v22 label { font-size: 14px; }
@media (max-width:760px) { #clients .rail-controls { display: none !important; } .v41-capabilities-head,.v41-engineering-head,.v41-existing { grid-template-columns: minmax(0,1fr); } .v41-capabilities-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; scrollbar-width: none; margin-inline: -5vw; padding: 0 5vw 20px; } .v41-capabilities-grid::-webkit-scrollbar { display: none; } .v41-capabilities article { min-width: min(82vw,320px); min-height: 250px; scroll-snap-align: center; } .v41-engineering-list { grid-template-columns: 1fr; } .v41-existing .v41-button { justify-self: start; } }
@media (max-width:760px) { .v41-proof { grid-template-columns: minmax(0,1fr); } .v41-proof-copy h3 { max-width: none; } .v41-proof-rail { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: -5vw; padding: 0 5vw 18px; } .v41-proof-rail::-webkit-scrollbar { display: none; } .v41-proof-card { min-width: min(79vw,340px); scroll-snap-align: center; } }
@media (max-width:520px) { .v41-capabilities,.v41-engineering { padding-top: 72px; padding-bottom: 80px; } .v41-capabilities h2,.v41-engineering h2 { font-size: clamp(37px,10vw,51px); } .v41-capabilities-head,.v41-engineering-head { gap: 20px; margin-bottom: 30px; } .v41-capabilities article { min-width: min(83vw,305px); } .v41-capabilities-action { justify-content: flex-start; margin-top: 12px; } .v41-engineering article { min-height: 0; padding: 29px 0; } .v41-existing { padding: 29px; } }
html[dir=rtl] .v41-capabilities h2,html[dir=rtl] .v41-engineering h2 { letter-spacing: 0; line-height: 1.24; }
html[dir=rtl] .v41-capabilities article h3,html[dir=rtl] .v41-engineering article h3,html[dir=rtl] .v41-existing h3 { letter-spacing: 0; line-height: 1.35; }
html[dir=rtl] .v41-capabilities article p,html[dir=rtl] .v41-engineering article p,html[dir=rtl] .v41-existing p { line-height: 1.8; }
html[dir=rtl] .v41-proof-copy h3 { letter-spacing: 0; line-height: 1.28; }
html[dir=rtl] .v41-proof-copy p { line-height: 1.8; }
@media (max-width:700px) { .hero-film-v21-shade { background: linear-gradient(180deg,rgba(3,10,21,.15) 25%,rgba(3,10,21,.22) 42%,rgba(3,10,21,.66) 100%) !important; } }
@media (prefers-reduced-motion:reduce) { .v41-capabilities article,.v41-button { transition: none; } }

/* v42: concise service context beneath the film headline. */
.hero-film-v21-content p.v42-hero-lead {display: block !important; max-width: 610px; margin: -13px 0 24px; color: #e5edf4; font-size: clamp(16px,1.55vw,21px); font-weight: 450; line-height: 1.45; letter-spacing: -.015em; text-transform: none; text-shadow: 0 2px 18px rgba(0,0,0,.5)}
html[lang=ar] .hero-film-v21-content p.v42-hero-lead {font-size: clamp(16px,1.65vw,22px); line-height: 1.7; letter-spacing: 0}
@media (max-width:760px) {.hero-film-v21-content p.v42-hero-lead {max-width: 345px; font-size: 15px; line-height: 1.45; margin: -12px 0 20px} html[lang=ar] .hero-film-v21-content p.v42-hero-lead {font-size: 15px; line-height: 1.65}}

/* v43: content governs hero height. Film remains an absolute decorative layer. */
.hero-film-v21 {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  height: auto !important;
  min-height: 100svh;
  padding-block: max(126px, calc(var(--header-height, 94px) + 32px)) clamp(46px, 7svh, 86px);
  overflow: clip;
}
.hero-film-v21-content {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  flex: 0 0 auto;
  margin-block: auto;
  z-index: 2;
}
.hero-film-v21-foot {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  flex: 0 0 auto;
  margin-top: clamp(30px, 5svh, 60px);
  z-index: 2;
}
.hero-film-v21 :is(video, picture, .hero-film-v21-shade) { pointer-events: none; }

/* Anchor positions account for the sticky header and preserve focused controls. */
html { scroll-padding-top: calc(var(--header-height, 94px) + 18px); }
:is(#main, #clients, #services, #engineering, #inquiry, #case-gallery, #built-beneath) {
  scroll-margin-top: calc(var(--header-height, 94px) + 18px);
}

/* The four cards need an intermediate tablet state. */
@media (min-width: 761px) and (max-width: 1120px) {
  .v41-capabilities-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v41-capabilities article { min-height: 235px; }
  .v41-capabilities-head { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}

/* Inner films stay cinematic while the information is reachable sooner. The
   height is a minimum: wrapped copy is allowed to grow the section. */
:is(.work-hero-v23, .expertise-hero-v23, .studio-hero-v23, .contact-hero-v22) {
  box-sizing: border-box;
  height: auto !important;
  padding-block: clamp(125px, 13svh, 170px) clamp(58px, 8svh, 108px) !important;
}
.work-hero-v23 { min-height: clamp(520px, 68svh, 720px) !important; }
.expertise-hero-v23 { min-height: clamp(500px, 64svh, 680px) !important; }
.studio-hero-v23 { min-height: clamp(485px, 61svh, 660px) !important; }
.contact-hero-v22 {
  min-height: clamp(355px, 43svh, 520px) !important;
  padding-bottom: clamp(42px, 6svh, 72px) !important;
}
/* The old scroll cue occupies the part of the shorter introductions where
   content must remain clear. */
:is(.work-hero-v23, .expertise-hero-v23, .studio-hero-v23, .contact-hero-v22) > .hero-scroll-v30 {
  display: none !important;
}
@media (max-width: 700px) {
  .hero-film-v21 { min-height: 100svh; padding-block: max(116px, calc(var(--header-height, 78px) + 24px)) 42px; }
  .hero-film-v21-content { width: min(100%, 690px); }
  .hero-film-v21-content h1 { max-width: 100%; font-size: clamp(2.35rem, 10vw, 4.8rem); overflow-wrap: normal; word-break: normal; }
  .hero-film-v21-foot { margin-top: 28px; }
  :is(.work-hero-v23, .expertise-hero-v23, .studio-hero-v23) {
    min-height: clamp(445px, 62svh, 610px) !important;
    padding-block: max(108px, calc(var(--header-height, 78px) + 28px)) 58px !important;
  }
  .contact-hero-v22 {
    min-height: 0 !important;
    padding-block: max(106px, calc(var(--header-height, 78px) + 26px)) 50px !important;
  }
}
@media (max-height: 700px) and (min-width: 701px) {
  .hero-film-v21 { padding-block: 112px 40px; }
  .hero-film-v21-foot { margin-top: 24px; }
}
html[dir="rtl"] .hero-film-v21-content h1 { letter-spacing: normal; line-height: 1.24; }

/* v43: brief identity reveal and immediately usable page copy. */
.site-intro.intro-v31 { animation: flex-v38-clear 0s .92s forwards; }
.site-intro.intro-v31 .intro-v31-content { animation: flex-v38-lockup-out .16s .52s ease-in forwards; }
.site-intro.intro-v31 .intro-v31-left, .site-intro.intro-v31 .intro-v31-right { animation-duration: .36s; animation-delay: .56s; }
:is(.hero-film-v21-content,.work-hero-copy,.expertise-hero-copy,.studio-hero-text,.contact-hero-v22>div:not(.motion-backdrop)) { animation-duration: .28s; animation-delay: 0s; }
@media (prefers-reduced-motion: reduce) { .site-intro.intro-v31 { display:none; } :is(.hero-film-v21-content,.work-hero-copy,.expertise-hero-copy,.studio-hero-text,.contact-hero-v22>div:not(.motion-backdrop)) { animation:none; } }
/* The responsive picture owns the poster; avoid a second landscape CSS fetch. */
.hero-film-v21, html[dir="rtl"] .hero-film-v21 { background-image: none; }


/* SOURCE /assets/nav-rtl-v43.css */
/* V43: keep 44px language and menu targets while fitting a 361–390px header. */
@media (min-width:361px) and (max-width:400px) {
  .masthead{gap:6px;padding-inline:10px 8px}
  .masthead .brand{gap:5px}
  .masthead .brand-symbol{width:34px;height:34px}
  .masthead .brand-type{width:clamp(96px,30vw,118px)}
  .masthead .mast-actions{gap:5px}
  html[dir=rtl] .masthead{padding-inline:10px 8px}
}
@media (max-width:640px) {
  .v37-footer .footer-base{padding-block:44px;row-gap:22px}
  .v37-footer .footer-base p{display:block;line-height:1.5;font-size:12px}
  html[lang=ar] .v37-footer .footer-base p{line-height:1.75;font-size:12px}
}


/* SOURCE /assets/v43-case-gallery.css */
/* Case gallery controls stay in sight, before the potentially tall captures. */
.case-v18 > .case-gallery-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 24px;
  margin: clamp(22px, 3vw, 40px) 0 16px;
  padding: 0;
}
.case-v18 > .case-gallery-controls p { margin: 0; font-size: 14px; line-height: 1.55; }
.case-v18 > .case-gallery-controls .gallery-switch[hidden] { display: none !important; }
.v43-case-pager { display: none; }
.v43-case-pager[hidden] { display: none !important; }
.v43-device-tabs { display:none; flex-wrap:wrap; gap:8px; }
@media (max-width:820px) { .v43-device-tabs { display:flex; } }
.v43-device-tabs button {
  min-height:44px; padding:8px 15px; border:1px solid rgba(206,225,240,.34);
  border-radius:100px; color:#dce9f3; background:rgba(255,255,255,.04);
  font:inherit; font-size:14px; font-weight:650; cursor:pointer;
}
.v43-device-tabs button[aria-pressed="true"] { color:#102234; background:#dfedf5; border-color:#dfedf5; }
.v43-device-tabs button:focus-visible { outline:2px solid #bce7f7; outline-offset:3px; }
.case-v18 .v43-next-case {
  border-top: 1px solid rgba(190, 218, 239, .17);
  margin: 30px 0 0;
  padding-top: 22px;
}
.case-v18 .v43-next-case a {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  min-height: 44px;
  color: #e5eff7;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.4;
}
.case-v18 .v43-next-case a:hover,
.case-v18 .v43-next-case a:focus-visible { color: #bce7f7; text-decoration: underline; text-underline-offset: .3em; }
.v43-case-viewer {
  position: fixed;
  inset: 0;
  width: min(96vw, 1600px);
  max-width: none;
  max-height: 94vh;
  margin: auto;
  padding: 12px;
  border: 1px solid rgba(199, 218, 239, .28);
  border-radius: 16px;
  color: #f3f7fb;
  background: #071121;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .5);
  overflow: auto;
}
.v43-case-viewer::backdrop { background: rgba(0, 3, 12, .84); }
.v43-case-viewer-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.v43-case-viewer-bar span { font-size: 15px; }
.v43-case-viewer-close {
  min-height: 44px;
  min-width: 66px;
  border: 1px solid rgba(215, 234, 247, .3);
  border-radius: 12px;
  color: inherit;
  background: rgba(255, 255, 255, .08);
  cursor: pointer;
  font: inherit;
}
.v43-case-viewer img { display: block; max-width: 100%; max-height: 76vh; width: auto; height: auto; margin: 0 auto; object-fit: contain; }
.v43-case-viewer > a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 8px; color: #bce7f7; }
.v43-case-viewer :focus-visible { outline: 2px solid #bce7f7; outline-offset: 3px; }
@media (max-width: 600px) {
  .case-v18 > .case-gallery-controls { margin-top: 18px; }
  .case-v18 .v43-case-pager:not([hidden]) { display: flex; align-items: center; justify-content: center; gap: 0; width: 100%; }
  .v43-case-pager button { display: grid; place-items: center; width: 44px; height: 44px; border: 0; padding: 0; background: transparent; cursor: pointer; }
  .v43-case-pager button::after { content: ''; width: 7px; height: 7px; border-radius: 100px; background: rgba(200, 226, 245, .43); transition: width .22s ease, background .22s ease; }
  .v43-case-pager button[aria-current="true"]::after { width: 22px; background: #bce7f7; }
  .v43-case-pager button:focus-visible { outline: 2px solid #bce7f7; border-radius: 12px; }
  .v43-case-viewer { width: 100vw; max-height: 100dvh; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) { .v43-case-pager button::after { transition: none; } }

