@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-ext-wght-normal.DHTKMUil.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-cyrillic-wght-normal.B1g8a0vD.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-greek-wght-normal.BpXpdlRW.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-vietnamese-wght-normal.BsaNuasd.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-ext-wght-normal.BVZ5su8S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/_astro/source-serif-4-latin-wght-normal.DMe4EKeb.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-vietnamese-wght-normal.CtlIRbEm.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-ext-wght-normal.MQgHevqp.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/public-sans-latin-wght-normal.DdeTHZLK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/_astro/readex-pro-arabic-wght-normal.DiwT_uOQ.woff2) format("woff2-variations");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/_astro/readex-pro-vietnamese-wght-normal.Do5Nl5oc.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/_astro/readex-pro-latin-ext-wght-normal.CsYMu49W.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/_astro/readex-pro-latin-wght-normal.-ekFhJJC.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #ffffff;--ink: #111111;--paper: #f4f4f2;--rule: #d9d9d6;--accent: #b31942;--accent-strong: #8e1233;--on-accent: #ffffff;--muted: #555555;--font: "Public Sans Variable", sans-serif;--headline: "Source Serif 4 Variable", Georgia, serif;--arabic: "Readex Pro Variable", sans-serif;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.5rem;--space-5: 4rem;--space-6: 6rem;--gutter: 4rem;font-family:var(--font);color:var(--ink);background:var(--bg);color-scheme:light;scroll-behavior:smooth;scrollbar-color:var(--ink) var(--paper);font-variant-numeric:lining-nums}*{box-sizing:border-box}body{margin:0;font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased}:lang(ar){--font: var(--arabic);--headline: var(--arabic)}::selection{color:var(--on-accent);background:var(--accent)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--headline);font-weight:500;text-wrap:balance;line-height:1.15;letter-spacing:-.025em}h1{font-size:clamp(2.65rem,4.9vw,4.75rem);max-inline-size:21ch}h2{font-size:clamp(2rem,3.2vw,3rem)}h3{font-size:1.65rem}p{max-inline-size:68ch;text-wrap:pretty}:lang(ar) :is(h1,h2,h3){letter-spacing:0;line-height:1.55}:lang(ar) h1{max-inline-size:26ch;font-size:clamp(2.1rem,3.9vw,3.7rem)}a{color:inherit;text-underline-offset:.23em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a,button,summary{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit;caret-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}main:focus{outline:none}svg{display:block;inline-size:22px;block-size:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5}:lang(ar) :is(.text-link,.contact-action)>svg{transform:scaleX(-1)}.container{inline-size:min(100% - 2 * var(--gutter),1248px);margin-inline:auto}.section-space{padding-block:var(--space-6)}.section-paper{background:var(--paper)}.eyebrow{font-family:var(--font);font-weight:650;font-size:.75rem;line-height:1.6;letter-spacing:.13em;text-transform:uppercase}:lang(ar) .eyebrow{letter-spacing:0;font-size:.85rem}.skip-link{position:fixed;z-index:100;inset-block-start:.5rem;inset-inline-start:1rem;transform:translateY(-200%);padding:.8rem 1rem;color:var(--ink);background:var(--bg)}.skip-link:focus{transform:translateY(0)}.utility-bar{color:var(--bg);background:var(--ink)}.utility-content{display:flex;justify-content:flex-end;align-items:center;gap:2rem;min-block-size:42px;font-size:.75rem}.utility-content>a{border-inline-start:1px solid var(--muted);padding-inline-start:1.5rem}.language-switcher{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem}.language-switcher a{display:inline-flex;align-items:center;min-block-size:32px;text-decoration:none}.language-switcher a:hover,.language-switcher [aria-current]{text-decoration:underline;text-underline-offset:.35em}.utility-bar :focus-visible,.site-footer :focus-visible{outline-color:var(--bg)}.site-header{border-block-end:3px solid var(--accent);background:var(--bg);position:relative;z-index:10}.header-content{display:flex;justify-content:space-between;align-items:center;gap:2rem;min-block-size:104px}.wordmark{font-family:"Source Serif 4 Variable",Georgia,serif;font-weight:600;font-size:2.5rem;line-height:1.2;letter-spacing:-.04em;text-decoration:none}.wordmark{display:inline-flex;align-items:center;min-block-size:48px}.wordmark img{display:block;block-size:3rem;inline-size:auto}.site-menu{margin-inline-start:auto}.site-menu>summary{display:none}.primary-navigation{display:flex;align-items:center;gap:2rem;font-size:.9rem;font-weight:550}.primary-navigation>a,.expertise-menu>summary{padding-block:.85rem;min-block-size:48px;text-decoration:none}.primary-navigation>a:hover,.primary-navigation>a[aria-current],.expertise-menu>summary:hover,.expertise-menu>.has-current{color:var(--accent);text-decoration:underline;text-underline-offset:.5em}summary{cursor:pointer}.expertise-menu{position:relative}.expertise-menu>summary{display:flex;align-items:center;gap:.5rem;list-style:none}summary::-webkit-details-marker{display:none}.expertise-menu summary svg{inline-size:16px;block-size:16px}.expertise-menu[open] summary svg{transform:rotate(180deg)}.expertise-menu ul{position:absolute;inset-block-start:100%;inset-inline-end:0;inline-size:min(420px,85vw);margin:0;padding:.5rem 1.5rem;list-style:none;border:1px solid var(--rule);border-block-start:3px solid var(--accent);background:var(--bg)}.expertise-menu li+li{border-block-start:1px solid var(--rule)}.expertise-menu li a{display:flex;gap:1rem;align-items:baseline;padding-block:.85rem;text-decoration:none}.expertise-menu li a:hover,.expertise-menu li a[aria-current]{color:var(--accent);text-decoration:underline}.nav-number,.expertise-number{font-size:.75rem;font-family:var(--font);font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.home-hero{padding-block:1rem}.home-hero h1{font-size:clamp(1.5rem,2vw,2rem);max-inline-size:none}.home-note{padding-block-end:var(--space-6)}.home-note .hero-lead{margin-block-start:0}.page-hero .eyebrow{color:var(--accent);margin-block-end:1.25rem}.hero-lead{font-size:1.125rem;max-inline-size:66ch;margin-block-start:1.75rem}.contact-action{display:inline-flex;justify-content:center;align-items:center;gap:1.5rem;background:var(--accent);color:var(--on-accent);min-block-size:52px;padding:1rem 1.5rem;text-decoration:none;font-size:.9rem;font-weight:600;line-height:1.5}.contact-action:hover{text-decoration:underline}.home-note .contact-action,.page-hero .contact-action{margin-block-start:2rem}.text-link{display:inline-flex;align-items:center;gap:.75rem;color:var(--accent);font-size:.9rem;font-weight:600;min-block-size:44px}.text-link:hover{color:var(--accent-strong)}.text-link[hidden]{display:none}.intro-grid,.closing-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}.intro-grid h2{margin-block-start:1rem;max-inline-size:22ch}.intro-copy p+p{margin-block-start:1.5rem;color:var(--muted)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-block-end:2.5rem}.section-heading>p{max-inline-size:48ch;font-size:.95rem}.section-heading .eyebrow{margin-block-end:1rem}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block-start:1px solid var(--rule);border-inline-start:1px solid var(--rule)}.expertise-card{display:flex;flex-direction:column;align-items:start;min-inline-size:0;padding:2rem;border-inline-end:1px solid var(--rule);border-block-end:1px solid var(--rule);background:var(--bg)}.expertise-card h3{margin-block:1.25rem 1rem}.expertise-card p{font-size:.95rem;margin-block-end:1.75rem}.expertise-card .text-link{margin-block-start:auto}.expertise-card:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.project-showcase{padding-block:3rem;border-block-start:1px solid var(--rule)}.project-caption{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 4rem;margin-block-end:2rem}.project-title{grid-column:1;grid-row:2;min-inline-size:0}.project-title :is(h2,h3){font-size:clamp(1.6rem,2.6vw,2.4rem);overflow-wrap:anywhere}.project-caption>.eyebrow{grid-column:1;grid-row:1}.project-description{grid-column:2;grid-row:1 / 3;font-size:.95rem}.project-caption>:is(.text-link,.offline-label){grid-column:2;grid-row:3;justify-self:start}.project-expertises{grid-column:1;grid-row:3 / 5;margin-block-start:.5rem}.project-expertises ul{margin-block:.5rem 0;padding-inline-start:1.25rem;font-size:.85rem}.project-expertises li{padding-block:.25rem}.project-domain{font-size:.8rem}.project-actions{display:grid;justify-items:start;gap:.5rem;min-inline-size:0}.project-caption>.project-actions{grid-column:2;grid-row:3 / 5}.project-actions>p{color:var(--muted);font-size:.85rem}.project-features{max-inline-size:68ch;margin-block-end:2rem;font-size:.95rem}.project-features ul{margin-block:1rem;padding-inline-start:1.25rem}.project-features li+li{margin-block-start:.5rem}.project-status{color:var(--muted)}.project-gallery{min-inline-size:0}.project-gallery-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-block-end:1rem}.project-gallery [hidden]{display:none}.project-gallery-track{display:flex;margin:0;padding:0 0 1rem;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ink) var(--paper)}.project-gallery-track>li{flex:0 0 100%;min-inline-size:0;scroll-snap-align:start}.project-gallery .mobile-capture{margin-block-start:0}.offline-label{font-size:.75rem;font-weight:600;color:var(--muted)}.project-images{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,1fr);gap:24px;align-items:start}.project-images figure{min-inline-size:0}.project-images picture{display:block;border:1px solid var(--rule);background:var(--bg)}.project-images img{display:block;inline-size:100%;block-size:auto}.project-images figcaption{color:var(--muted);margin-block-end:.75rem;font-size:.65rem}.mobile-capture{margin-block-start:2.5rem}.detail-capture{grid-column:1 / -1;inline-size:80%;margin-block-start:1rem}.all-projects{margin-block-start:.5rem}.contact-closing{padding-block:var(--space-6);border-block-start:1px solid var(--rule)}.closing-grid h2{max-inline-size:20ch}.closing-grid .contact-action{margin-block-start:1.5rem}.page-hero{padding-block:2rem 4.5rem}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin-block-end:3rem;font-size:.75rem;color:var(--muted)}.page-hero h1{max-inline-size:25ch;font-size:clamp(2.5rem,4.2vw,4rem)}.page-hero .text-link{margin-block-start:1.5rem}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:5rem}.large-copy{font-size:1.2rem}.service-list{margin:0;padding:0;list-style:none}.service-list li{padding-block:1.1rem;border-block-start:1px solid var(--rule)}.service-list li:first-child{padding-block-start:0;border:0}.method-list{list-style:none;padding:0;margin-block:2.5rem 0}.method-list li{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1.5fr);gap:2rem;padding-block:2rem;border-block-start:1px solid var(--rule)}.method-number{font-size:1.1rem;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.method-list h3{font-size:1.5rem}.evidence-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;margin-block-start:2.5rem}.evidence-list article{border-block-start:1px solid var(--rule);padding-block-start:1.5rem}.evidence-list h3{margin-block:.75rem 1rem;overflow-wrap:anywhere}.site-footer{background:var(--ink);color:var(--bg);padding-block:4rem 1.5rem}.footer-grid{display:grid;grid-template-columns:1.1fr 1.5fr .8fr .7fr;gap:3rem;padding-block-end:3rem}.footer-brand>p{font-size:.85rem;margin-block-start:1.5rem;max-inline-size:24ch}.footer-grid h2{margin-block-end:1rem}.footer-grid ul{list-style:none;padding:0;margin:0;font-size:.8rem}.footer-grid li+li{margin-block-start:.5rem}.footer-grid li a{display:inline-block;padding-block:.2rem;text-decoration:none}.footer-grid a:hover{text-decoration:underline}.footer-grid .language-switcher{font-size:.8rem;gap:.9rem}.footer-bottom{border-block-start:1px solid var(--muted);padding-block-start:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem 3rem;font-size:.7rem}.contact-form-section{padding-block:4rem 6rem;max-inline-size:850px;margin-inline:auto}.contact-form-section h2{margin-block-end:1rem}.contact-form-section>p{margin-block-end:2rem;font-size:.9rem}#contact-form{color-scheme:light;background:var(--paper);padding:2.5rem;scroll-margin-block-start:2rem}.form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 1.5rem}.form-field{display:flex;flex-direction:column;min-inline-size:0}.form-field label{margin-block-end:.6rem;font-weight:600;font-size:.9rem}.form-field label span{font-weight:400;font-size:.8rem}.form-field input,.form-field select,.form-field textarea{background:var(--bg);color:var(--ink);border:1px solid var(--muted);border-radius:0;padding:.8rem;min-block-size:48px;inline-size:100%}.form-field textarea{resize:vertical}.form-field [aria-invalid=true]{border:2px dashed var(--accent)}.form-wide{grid-column:1 / -1}.form-field>p{margin-block:0 .75rem;font-size:.85rem}.form-field>.field-help{margin-block:.75rem 0;font-size:.8rem}.consent-field{display:flex;align-items:start;gap:.85rem;font-size:.85rem}.consent-field input{inline-size:22px;block-size:22px;accent-color:var(--accent);flex-shrink:0;margin-block:.15rem 0;margin-inline:0}.consent-field label{cursor:pointer}.privacy-help{font-size:.8rem}#contact-form button{border:0;cursor:pointer;inline-size:100%;margin-block-start:2rem}.form-trap{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.form-status{display:none;border-block:1px solid var(--ink);padding-block:1.5rem;margin-block:2rem;scroll-margin-block:2rem}.form-status:target,.form-status[data-active]{display:block}.form-status h3{font-size:1.5rem;display:flex;gap:1rem;align-items:baseline}.form-status p,.form-status .text-link{margin-block-start:1rem}.status-sign{font-family:var(--font);font-size:1.8rem}.form-nojs{margin-block-end:1.5rem;font-size:.9rem}:root{--ease: cubic-bezier(.2,.7,.2,1);--dir: 1}:lang(ar){--dir: -1}[data-js][hidden]{display:none}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.scroll-progress{display:none}@supports (animation-timeline: scroll()){.scroll-progress{display:block;position:fixed;z-index:90;inset-block-start:0;inset-inline:0;block-size:3px;background:var(--accent);transform-origin:0 50%;scale:0 1;animation:progress-grow linear both;animation-timeline:scroll(root)}:lang(ar) .scroll-progress{transform-origin:100% 50%}.hero-art{animation:art-drift linear both;animation-timeline:scroll(root);animation-range:0 80vh}}@keyframes progress-grow{to{scale:1 1}}@keyframes art-drift{to{transform:translateY(70px)}}.home-hero{position:relative;overflow:hidden;isolation:isolate}.home-hero>.container{position:relative}.hero-art{position:absolute;z-index:-1;inset-block:0;inset-inline-end:-5rem;inline-size:auto;block-size:100%;aspect-ratio:1;stroke:var(--rule);stroke-width:1.5;pointer-events:none;mask-image:radial-gradient(circle at 50% 50%,#000 42%,transparent 74%)}.hero-art pattern circle{fill:var(--rule);stroke:none}.art-dots{stroke:none}.art-ring{stroke-dasharray:3 9;transform-origin:300px 300px;animation:art-spin 90s linear infinite}.art-ring-2{stroke-dasharray:1 7;animation-direction:reverse}@keyframes art-spin{to{transform:rotate(1turn)}}.art-traces path{stroke:var(--accent);stroke-width:2;stroke-dasharray:1;animation:art-trace 7s var(--d) ease-in-out infinite}@keyframes art-trace{0%{stroke-dashoffset:1}40%,65%{stroke-dashoffset:0}to{stroke-dashoffset:-1}}.art-nodes rect{fill:var(--accent);stroke:none;opacity:.6;animation:art-pulse 7s var(--d) infinite}@keyframes art-pulse{0%,to{opacity:.15}40%,62%{opacity:1}}.art-shield,.art-code{stroke-dasharray:1;stroke-linecap:square;animation:art-draw 2.2s .4s var(--ease) both}.art-shield{stroke:var(--ink);stroke-width:2}.art-code{stroke:var(--accent);stroke-width:3;animation-duration:1.6s;animation-delay:1.2s}@keyframes art-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.page-hero .container>*{animation:rise .8s var(--ease) backwards}.page-hero .container>:nth-child(2){animation-delay:.08s}.page-hero .container>:nth-child(3){animation-delay:.16s}.page-hero .container>:nth-child(4){animation-delay:.26s}.page-hero .container>:nth-child(5){animation-delay:.36s}.js-reveal [data-reveal]:not(.is-in){opacity:0;transform:translateY(28px)}.js-reveal [data-reveal].is-in:not(.is-seen){animation:rise .9s var(--ease) backwards;animation-delay:calc(var(--i, 0) * .1s)}.section-heading h2:after,.intro-grid h2:after,.firms-copy h2:after{content:"";display:block;inline-size:64px;block-size:3px;margin-block-start:1rem;background:var(--accent);transform-origin:0 50%;transition:transform .9s .35s var(--ease)}:lang(ar) :is(.section-heading,.intro-grid,.firms-copy) h2:after{transform-origin:100% 50%}.js-reveal [data-reveal]:not(.is-in) h2:after,.js-reveal h2[data-reveal]:not(.is-in):after{transform:scaleX(0)}.contact-action{background-image:linear-gradient(var(--accent-strong),var(--accent-strong));background-repeat:no-repeat;background-size:0 100%;background-position:0 0;transition:background-size .45s var(--ease)}:lang(ar) .contact-action{background-position:100% 0}.contact-action:hover,.contact-action:focus-visible{background-size:100% 100%}.text-link svg,.contact-action svg{transition:translate .3s var(--ease)}.text-link:hover svg,.contact-action:hover svg{translate:5px 0}:lang(ar) :is(.text-link,.contact-action):hover svg{translate:-5px 0}.expertise-card{position:relative;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.expertise-card:before{content:"";position:absolute;inset-inline:0;inset-block-start:-1px;block-size:3px;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s var(--ease)}:lang(ar) .expertise-card:before{transform-origin:100% 50%}.expertise-card:hover,.expertise-card:focus-within{transform:translateY(-6px);box-shadow:0 18px 36px -22px #11111173;z-index:1}.expertise-card:hover:before,.expertise-card:focus-within:before{transform:scaleX(1)}.project-images picture{overflow:hidden}.project-images img{transition:transform 1.2s var(--ease)}.project-images picture:hover img{transform:scale(1.04)}.ticker{overflow:hidden;background:var(--ink);color:var(--bg);padding-block:1.1rem}.ticker-track{display:flex;inline-size:max-content;animation:ticker 45s linear infinite}.ticker:hover .ticker-track{animation-play-state:paused}.ticker ul{display:flex;margin:0;padding:0;list-style:none}.ticker li{display:flex;align-items:center;gap:2rem;padding-inline-end:2rem;font-family:var(--headline);font-size:1.5rem;line-height:1.3;white-space:nowrap}.ticker li:before{content:"";inline-size:.6rem;block-size:.6rem;background:var(--accent);flex-shrink:0}@keyframes ticker{to{transform:translate(calc(-50% * var(--dir)))}}.showreel{padding-block-end:2rem}.home-hero+.showreel .reel{max-inline-size:min(100%,calc((100svh - 149px - 6rem - 9rem) * 16 / 9));margin-inline:auto}.reel-head{margin-block-end:1.5rem}.reel-head .eyebrow{color:var(--accent);margin-block-end:.5rem}.reel-head h2{font-size:clamp(1.5rem,2.4vw,2.1rem)}.reel-stage{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--ink);border-block-end:3px solid var(--accent)}.reel-video{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:contain;background:var(--ink)}.reel.is-slide .reel-video{visibility:hidden}.reel-slide{position:absolute;inset:0;display:none;background:var(--paper)}.reel.is-slide .reel-slide.is-active{display:block}.shot{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity .9s}.shot.is-on{opacity:1;animation:reel-pan 8s ease-out both}.shot.is-phone{object-fit:contain;object-position:center;padding-block:1.25rem;background:var(--paper)}.shot.is-phone.is-on{animation-name:reel-rise}.reel:not(.is-playing) .shot{animation-play-state:paused}@keyframes reel-pan{0%{transform:scale(1.02)}to{transform:scale(1.14) translate(-2%,-2%)}}@keyframes reel-rise{0%{transform:translateY(5%) scale(.96)}to{transform:none}}.reel-bar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding-block:1.25rem}.reel-info{display:grid;justify-items:start;gap:.1rem;min-inline-size:0}.reel-info .eyebrow{color:var(--accent)}.reel-info .offline-label{color:var(--muted)}.reel-name{font-family:var(--headline);font-size:clamp(1.4rem,2.2vw,2rem);line-height:1.25;overflow-wrap:anywhere}.reel-actions,.carousel-buttons{display:flex;gap:.5rem;flex-shrink:0}.reel-btn{display:inline-grid;place-items:center;inline-size:48px;block-size:48px;padding:0;border:1px solid var(--ink);background:var(--bg);color:var(--ink);cursor:pointer;transition:background-color .2s,color .2s}.reel-btn:hover:not(:disabled){background:var(--ink);color:var(--bg)}.reel-btn:disabled{opacity:.35;cursor:default}.reel:not(.is-playing) .i-pause,.reel.is-playing .i-play,.reel:not(.is-muted) .i-muted,.reel.is-muted .i-sound{display:none}.reel-dots{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.75rem;margin:0;padding:0;list-style:none}.reel-dots button{display:block;inline-size:100%;min-block-size:44px;padding:0 0 .5rem;border:0;background:none;color:var(--muted);font-size:.75rem;line-height:1.4;text-align:start;cursor:pointer}.reel-dots button:hover,.reel-dots [aria-current]{color:var(--ink)}.dot-fill{display:block;block-size:3px;margin-block-end:.6rem;background:var(--rule) linear-gradient(var(--accent),var(--accent)) no-repeat 0 0 / calc(var(--p, 0) * 100%) 100%;transition:background-size .25s linear}:lang(ar) .dot-fill{background-position:100% 0}.dot-label{display:block;overflow-wrap:anywhere}.carousel-section{padding-block-start:0}.carousel-side{display:flex;align-items:end;gap:1.5rem}.carousel-side>p{max-inline-size:40ch;font-size:.95rem}.carousel-prev svg,:lang(ar) .carousel-next svg{transform:scaleX(-1)}:lang(ar) .carousel-prev svg{transform:none}.carousel-track{display:flex;gap:1.5rem;margin:0;padding:0 0 1.25rem;list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ink) var(--paper)}.carousel-card{flex:0 0 min(82%,392px);min-inline-size:0;scroll-snap-align:start;transition:transform .4s var(--ease)}.carousel-card:hover,.carousel-card:focus-within{transform:translateY(-4px)}.card-media{position:relative;aspect-ratio:16 / 9;overflow:hidden;background:var(--ink);border-block-end:3px solid var(--accent)}.card-media :is(video,img){position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover;object-position:top;transition:transform 1s var(--ease)}.carousel-card:hover .card-media :is(video,img){transform:scale(1.05)}.card-play{position:absolute;inset-inline-end:.75rem;inset-block-end:.75rem;inline-size:44px;block-size:44px;padding:11px;background:var(--bg);color:var(--ink);fill:currentColor;stroke:none;transition:opacity .3s}.carousel-card.is-playing .card-play{opacity:0}.card-body{display:grid;justify-items:start;gap:.25rem;padding-block-start:1rem}.card-body .eyebrow{color:var(--accent)}.card-body .offline-label{color:var(--muted)}.card-body h3{font-size:1.4rem;overflow-wrap:anywhere}.firms{border-block-start:1px solid var(--rule)}.firms-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:4rem;align-items:center}.firms-copy{display:grid;justify-items:start;gap:1rem}.firms-copy>.eyebrow:first-child{color:var(--accent)}.firms-benefit{font-family:var(--headline);font-size:1.35rem}.firms-method-title{margin-block-start:.75rem}.firms-method{list-style:none;margin:0;padding:0;inline-size:100%}.firms-method li{display:flex;gap:1rem;padding-block:.6rem;border-block-start:1px solid var(--rule)}.firms-method bdi{color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}.firms-media video{display:block;inline-size:100%;aspect-ratio:16 / 9;background:var(--ink);border-block-end:3px solid var(--accent)}@media(max-width:1100px){:root{--gutter: 2rem}.primary-navigation{gap:1.25rem}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-grid,.closing-grid,.detail-grid{gap:3rem}.footer-grid{grid-template-columns:1fr 1.5fr;gap:2.5rem}}@media(max-width:760px){:root{--gutter: 1rem;--space-6: 3.5rem}.header-content{min-block-size:80px;gap:1rem;flex-wrap:wrap}.wordmark{font-size:2.1rem}.wordmark img{block-size:2.5rem}.site-menu{position:static}.site-menu>summary{display:flex;align-items:center;gap:.75rem;padding-block:1rem;font-size:.85rem;list-style:none}.primary-navigation{display:flex;position:absolute;inset-inline:0;inset-block-start:100%;align-items:stretch;flex-direction:column;gap:0;padding:.5rem 1rem 1rem;background:var(--bg);border-block-end:3px solid var(--accent)}.primary-navigation>a,.expertise-menu>summary{padding-block:.8rem;border-block-end:1px solid var(--rule)}.expertise-menu>summary{justify-content:space-between}.expertise-menu ul{position:static;inline-size:100%;border:0;padding-inline:1rem 0;padding-block:0}.site-header:has(.site-menu[open]) .header-content{padding-block-end:.5rem}.site-menu[open]{flex-basis:100%}.site-menu[open]>summary{padding-block-start:0}.site-menu[open] .primary-navigation{position:static;padding:0;border:0}.utility-content{min-block-size:40px;gap:1.5rem}.home-hero{padding-block:.75rem}.home-hero+.showreel .reel{max-inline-size:min(100%,calc((100svh - 123px - 7rem - 10rem) * 16 / 9))}h1{font-size:clamp(2.5rem,7vw,3.5rem);max-inline-size:20ch}.hero-lead{font-size:1rem;margin-block-start:1.5rem}.intro-grid,.closing-grid,.detail-grid,.firms-grid{grid-template-columns:minmax(0,1fr);gap:1.75rem}.section-heading{align-items:start;flex-direction:column;gap:1.25rem;margin-block-end:2rem}.expertise-grid{grid-template-columns:minmax(0,1fr)}.expertise-card{padding:1.5rem}.expertise-card h3{font-size:1.65rem}.project-caption{display:flex;flex-direction:column;gap:.75rem;margin-block-end:1.5rem}.project-caption>.eyebrow{order:-1}.project-description{margin-block-start:.25rem}.project-images{grid-template-columns:minmax(0,78fr) minmax(0,22fr);gap:12px}.project-images figcaption{font-size:.6rem;letter-spacing:.04em;min-block-size:2rem}.mobile-capture{margin-block-start:2rem}.project-showcase{padding-block:2rem}.page-hero{padding-block:1.5rem 3.5rem}.page-hero h1{font-size:2.5rem}.breadcrumbs{margin-block-end:2rem}.method-list{margin-block-start:2rem}.method-list li{grid-template-columns:32px minmax(0,1fr);gap:.75rem 1rem;padding-block:1.5rem}.method-list p{grid-column:2}.evidence-list{grid-template-columns:minmax(0,1fr);gap:2rem}.footer-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}.footer-brand>p{max-inline-size:40ch}.site-footer{padding-block-start:3rem}.contact-form-section{padding-block:3rem 4rem}#contact-form{padding:1.5rem 1rem;margin-inline:-1rem}.form-fields{grid-template-columns:minmax(0,1fr);gap:1.5rem}.hero-art{inset-inline-end:-45%;opacity:.2}.reel-bar{align-items:flex-start;gap:1rem}.reel-dots{gap:.5rem}.reel-dots button{font-size:.65rem}.carousel-side{flex-direction:column;align-items:start;gap:1rem}.ticker li{font-size:1.2rem}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.art-traces path{stroke-dashoffset:0}.scroll-progress{display:none}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}
