/* Porto-inspired direction. Site chrome is dark; project artwork retains its own colors. */
.direction-evidence{margin-block:clamp(32px,5vw,72px);padding-block:28px;border-block:1px solid var(--edge)}
.direction-evidence h2{font-size:clamp(22px,2.5vw,32px);line-height:1.2;margin:0 0 28px;text-align:start}
.direction-evidence dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 48px;margin:0}
.direction-evidence dt{color:#88a2ff;font-size:13px;line-height:1.5;margin-bottom:8px}
.direction-evidence dd{color:var(--ink);font-size:16px;line-height:1.65;max-width:60ch;margin:0;text-align:start}
@media(max-width:700px){.direction-evidence dl{grid-template-columns:1fr;gap:22px}.direction-evidence dd{font-size:15px}.direction-evidence h2{margin-bottom:24px}}
@font-face{font-family:'Clash Portfolio';src:url('/assets/fonts/clash-display-semibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{color-scheme:dark;--paper:#08090b;--ink:#f5f6f8;--muted:#a4a7af;--line:#282b31;--edge:#282b31;--panel:#101216;--panel-blue:#101b3e;--accent:#2854ff;--accent-hover:#4168ff;--secondary:#2854ff;--radius:10px;--pad:clamp(20px,2.2vw,40px);--folio-gutter:max(var(--pad),calc((100vw - 1720px)/2));--folio-space:clamp(64px,8vw,128px);--display-font:'Clash Portfolio','DM Sans',Arial,sans-serif}
body{background-color:var(--paper);background-image:linear-gradient(90deg,transparent calc(100% - 1px),#ffffff05 0),radial-gradient(#ffffff07 .65px,transparent .65px);background-size:20% 100%,4px 4px;color:var(--ink)}
::selection{background:var(--accent);color:#fff}
a,button,select,input{ -webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid #82a0ff;outline-offset:5px}
.header{height:auto;min-height:92px;background:#08090bf5;border-bottom:1px solid var(--edge);padding-block:20px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.header.is-scrolled{background:#08090b;border-color:var(--edge);box-shadow:none}
.header .wordmark{font-family:var(--display-font);font-weight:600;font-size:23px;letter-spacing:-.04em;color:var(--ink)}
.header .logo-star{color:var(--accent)}
.header-location{font-size:12px;line-height:1.5;margin-inline-start:36px;color:var(--ink)}
.header-location>span{color:var(--muted)}
.header nav{gap:28px}
.header nav>a{font-size:13px;color:var(--ink)}
.header nav .nav-contact{border:1px solid #6a6d75;background:transparent;color:var(--ink);padding:13px 22px;border-radius:999px;text-transform:uppercase;font-family:var(--display-font);font-weight:600;font-size:14px}
.header nav .nav-contact:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.site-language-bar{padding-inline:var(--folio-gutter);padding-block:8px;background:transparent;color:var(--muted);font-size:12px}
.site-language-bar select{background:var(--paper);color:var(--ink);border:1px solid var(--edge);min-height:40px;font-size:13px}
.site-language-bar option{color:var(--ink);background:var(--paper)}
.hero,.work,.about,.clients,.archive,footer{width:100%;max-width:none;margin-inline:0;padding-inline:var(--folio-gutter)}
body[data-page="home"] .porto-hero{display:block;padding-top:18px;padding-bottom:var(--folio-space)}
body[data-page="home"] .porto-hero h1,html:not([lang="en"]) body[data-page="home"] .porto-hero h1{font-family:var(--display-font);font-weight:600;font-size:clamp(44px,12.6vw,220px);line-height:1.05;letter-spacing:-.045em;margin:8px 0 38px;padding:0;text-align:center;white-space:nowrap;word-break:normal;overflow-wrap:normal;color:var(--ink);direction:ltr}
.porto-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--edge);margin-bottom:48px}
.porto-facts>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:26px 16px;min-width:0}
.porto-facts>div+div{border-inline-start:1px solid var(--edge)}
.porto-facts svg{color:#6084ff;width:25px;height:25px}
.porto-facts p{font-size:12px;line-height:1.45;text-transform:uppercase;letter-spacing:.02em;margin:0}
.porto-facts p span{display:block;color:var(--muted);margin-top:3px}
.porto-portrait{position:relative;margin:0;isolation:isolate;overflow:hidden;background:#08090b;border-radius:10px;aspect-ratio:2048/871}
.porto-portrait>img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:none;mix-blend-mode:normal}
.porto-portrait figcaption{position:absolute;inset:auto 28px 24px;display:flex;justify-content:space-between;align-items:end;color:#fff;font-size:12px;letter-spacing:.06em}
.porto-portrait figcaption>span{background:#05070b;padding:10px 14px}
.porto-portrait figcaption>a{display:grid;place-items:center;min-height:52px;width:52px;background:#fff;color:#08090b;border-radius:50%;transition:transform .3s}
.porto-hero .hero-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;margin-top:44px}
.porto-hero .hero-bottom #intro{max-width:37ch;font-size:clamp(23px,2.6vw,40px);font-family:var(--display-font);font-weight:600;line-height:1.15;letter-spacing:-.03em;margin:0}
.porto-hero .hero-bottom .text-link{font-size:14px;width:250px;max-width:100%;color:var(--ink);border-bottom:1px solid var(--ink);padding-block:14px}
.eyebrow,.section-bar,.case-kicker,.lx-kicker,.oc-kicker{font-size:12px;letter-spacing:.04em;line-height:1.5}
.work .section-bar{display:grid;grid-template-columns:auto 1fr auto;gap:24px;border-top:1px solid var(--edge);padding-block:22px;color:var(--muted)}
.work .section-bar::before{content:'01';color:var(--ink)}
.work .section-bar>span:first-of-type{text-align:center;color:var(--ink)}
.work .section-bar .muted{display:none}
.porto-work-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-block:40px 56px}
.porto-work-heading h2{font-family:var(--display-font);font-weight:600;font-size:clamp(54px,8.6vw,140px);line-height:.9;letter-spacing:-.045em;margin:0}
.porto-work-heading h2>span{color:var(--ink)}
.porto-work-heading>p{font-size:16px;line-height:1.5;max-width:26ch;margin:0 0 6px;color:var(--muted)}
.project-grid,.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px 36px;align-items:start}
.work .project.wide{grid-column:auto}
.work .project .project-visual,.archive-grid .project .project-visual{aspect-ratio:16/10;border-radius:10px;border:1px solid #ffffff0d;background:#111318}
.project-button{color:var(--ink);border-radius:10px;text-align:start}
.project-visual img{object-position:var(--cover-position,50% 50%);transition:transform .75s var(--ease-editorial)}
.project-label,.archive-grid .project-label{display:none}
.project-caption{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:16px;padding:18px 0 0;align-items:baseline}
.project-caption::before{color:#7998ff;font-size:12px;letter-spacing:.02em}
.project-caption h3,.archive-grid .project-caption h3{font-family:var(--display-font);font-weight:600;font-size:clamp(23px,2.4vw,36px);line-height:1.12;letter-spacing:-.025em;margin:0;color:var(--ink);text-wrap:balance}
.project-caption p{font-size:12px;text-transform:uppercase;letter-spacing:.045em;color:var(--muted);margin-top:8px}
.project-year{font-size:12px;color:var(--muted)}
.project-open,.archive-grid .project-open{background:var(--accent);color:#fff;border:1px solid #ffffff26;box-shadow:none;width:52px;height:52px;border-radius:50%;inset-inline-end:20px;bottom:20px;transition:transform .3s,background .3s}
.work .project:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 18px)}
.work-bottom{border-top:1px solid var(--edge);padding-top:28px;margin-top:56px;color:var(--muted)}
.archive-link{font-family:var(--display-font);font-size:22px;font-weight:600;color:var(--ink)}
.archive-link:hover,.text-link:hover{color:#7998ff}
.ticker{background:var(--accent);color:#fff;border:0;padding-block:24px}
.ticker i{color:#fff}
.ticker-track>span{font-family:var(--display-font);font-weight:600;font-size:clamp(30px,4vw,64px);letter-spacing:-.02em}
.about{position:relative;padding-block:var(--folio-space);grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(32px,6vw,96px)}
.about h2,.clients-heading h2{font-family:var(--display-font);font-weight:600;text-transform:uppercase;font-size:clamp(38px,5.1vw,80px);line-height:.98;letter-spacing:-.035em;color:var(--ink)}
.about .section-kicker{color:var(--muted);font-size:12px}
.about .mini-star{color:#7998ff}
.portrait img{border-radius:10px;filter:grayscale(1)}
.portrait figcaption{font-size:12px;color:var(--muted);padding-top:16px}
.about-details{border-top:1px solid var(--edge);padding-top:28px;margin-top:32px}
.about-signature{font-family:var(--display-font);font-weight:600;font-size:24px;color:var(--ink)}
.about-signature i{color:var(--muted)}
.about-details p{font-size:17px;line-height:1.75;color:var(--muted)}
.about-small{color:var(--ink)!important}
.disciplines{gap:0;border-top:1px solid var(--edge);margin-top:32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.disciplines span{background:transparent;border:0;border-bottom:1px solid var(--edge);border-radius:0;padding:16px 0;font-size:14px;color:var(--ink)}
.clients{padding-block:64px var(--folio-space);border-color:var(--edge)}
.clients-heading>p{font-size:16px;color:var(--muted)}
.client-slider{gap:16px}
.client-mark{border:1px solid var(--edge)!important;background:#0d0f12!important;border-radius:10px;min-height:140px}
.clients .client-mark{padding:20px;box-sizing:border-box}
.clients .client-mark img{width:100%;height:auto;max-width:100%;max-height:68px;object-fit:contain;filter:none;opacity:1;mix-blend-mode:normal}
.clients .client-mark--square img{width:auto;max-width:88px;max-height:88px}
.clients .client-mark--invert img{filter:invert(1)}
.client-buttons button{background:var(--panel);border:1px solid var(--edge);color:var(--ink)}
.client-buttons button:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}
.contact{background:transparent;border:0;border-top:1px solid var(--edge);border-radius:0;margin:0 var(--folio-gutter);padding:var(--folio-space) 0 48px}
.contact h2,.contact h2>span{font-family:var(--display-font);font-weight:600;font-size:clamp(50px,8.3vw,140px);line-height:.98;letter-spacing:-.04em;color:var(--ink)}
.contact h2>span{color:#6084ff}
.contact-flower{color:var(--accent)}
.contact-cta{color:#fff;background:var(--accent);border:1px solid #6d89ff;border-radius:999px;font-family:var(--display-font);font-weight:600;font-size:18px;padding:19px 28px}
.contact-cta:hover{background:var(--accent-hover);color:#fff}
.contact-bottom{border-color:var(--edge);color:var(--muted)}
.contact-bottom a{color:var(--ink)}
.social-links a:hover{color:#7998ff}
footer{background:transparent;color:var(--ink);border-color:var(--edge);padding-block:32px 24px}
.footer-name{font-family:var(--display-font);font-weight:600;letter-spacing:-.045em;font-size:clamp(34px,10.3vw,174px);line-height:1.15;color:var(--ink)}
.footer-bottom{color:var(--muted);border-color:var(--edge)}
.footer-name>span{color:var(--accent)}
/* Gallery, articles and full case studies share the same hierarchy. */
.archive-heading{padding-block:40px 56px}
.archive-title-row h1,.journal-heading h1,.service-heading h1{font-family:var(--display-font);font-weight:600;text-transform:uppercase;line-height:.96;letter-spacing:-.04em;font-size:clamp(54px,9vw,144px)}
.archive-title-row>p,.journal-heading>p{color:var(--muted);font-size:18px}
.gallery-controls{border-color:var(--edge);background:transparent}
.category-button{background:transparent;color:var(--ink);border:1px solid var(--edge);font-size:14px;min-height:44px}
.category-button[aria-pressed="true"],.category-button[aria-pressed="true"]>span{background:var(--accent);color:#fff;border-color:var(--accent)}
.category-button:hover{border-color:#6084ff}
.project-search{background:var(--panel);color:var(--ink);border:1px solid var(--edge)}
.project-search input{color:var(--ink)}
.project-search input::placeholder{color:var(--muted)}
.gallery-empty{color:var(--muted)}
#load-more{background:var(--accent);color:#fff;border-color:var(--accent);min-height:48px}
.archive-contact{background:var(--panel);color:var(--ink);border-color:var(--edge)}
.archive-contact>a{background:var(--accent);color:#fff}
.case-heading h1,.film-heading h1,.lx-heading h1,.oc-heading h1,.verno-heading h1,.article-body h1{font-family:var(--display-font);font-weight:600;line-height:1.03;letter-spacing:-.035em;font-size:clamp(48px,8vw,128px);color:var(--ink);overflow-wrap:normal;hyphens:auto}
.case-intro>p,.lx-deck>p,.oc-deck>p,.verno-deck>p,.article-deck{color:var(--ink)}
.case-intro dl,.lx-scope,.oc-facts,.verno-facts{background:var(--panel);border:1px solid var(--edge);color:var(--ink);border-radius:10px}
.case-text p,.article-prose p{color:var(--muted);font-size:17px;line-height:1.8}
.case-text h2,.film-chapter-heading h2,.lx-section-heading h2,.oc-section-heading h2,.verno-chapter-head h2,.cb-chapter-head h2,.service-item h2{font-family:var(--display-font);font-weight:600;color:var(--ink);letter-spacing:-.025em;line-height:1.08}
.oc-colour-intro h3,.oc-type h3,.oc-digital-heading h3{color:var(--ink)}
.oc-index a:hover{color:#7998ff}
.verno-case{--v-line:var(--edge)}
.cb-illustrations figcaption{color:#555}
.case-next,.case-source{border-color:var(--edge)}
.case-next{color:var(--ink)}
.service-item,.service-process{background:var(--panel);border-color:var(--edge)}
.service-item p,.service-process p{color:var(--muted)}
.article-row{color:var(--ink);border-color:var(--edge)}
.article-row h2{font-family:var(--display-font);font-weight:600;color:var(--ink)}
.article-prose a{color:#8ba5ff}
.article-prose blockquote{background:var(--panel);border-color:var(--accent);color:var(--ink)}
/* Solid dark project previews, with original artwork ratios. */
#project-dialog{background:#101216;color:var(--ink);border:1px solid #383c46;border-radius:16px;box-shadow:0 32px 100px #0008;padding:0;overflow:hidden}
#project-dialog::backdrop{background:#000b;backdrop-filter:none;-webkit-backdrop-filter:none}
#project-dialog[open]{max-height:calc(100dvh - 32px);animation:porto-dialog .28s cubic-bezier(.2,.7,.2,1) both}
.dialog-toolbar{background:#101216;border-color:var(--edge);color:var(--muted);padding:16px 24px}
#close-dialog{background:#20242c;color:var(--ink);border:1px solid #383c46;box-shadow:none;min-height:44px;border-radius:999px}
#close-dialog:focus{outline:none}
#close-dialog:focus-visible{outline:2px solid #8ba5ff;outline-offset:3px}
.preview-media{background:#08090b;border-radius:8px}
.preview-content h2{font-family:var(--display-font);font-weight:600;color:var(--ink);line-height:1.08}
.preview-content #detail-summary{color:#c5c7ce;font-size:16px;line-height:1.7}
.preview-facts{border-color:var(--edge)}
.preview-facts dt{color:var(--muted)}
.preview-facts dd{color:var(--ink)}
.preview-details{background:var(--accent);color:#fff}
.preview-navigation{border-color:var(--edge)}
#next-project{color:var(--ink)}
/* Motion follows the reference's scale and reveals, without scroll hijacking. */
.porto-hero .title-enter{animation:porto-title .85s cubic-bezier(.16,1,.3,1) both}
.porto-portrait{animation:porto-image .9s cubic-bezier(.16,1,.3,1) both}
.motion-ready .reveal{transform:translateY(32px);transition:opacity .65s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.motion-ready .reveal.visible{transform:none;opacity:1}
@keyframes porto-title{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes porto-image{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes porto-dialog{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){.project-button:hover .project-visual img{transform:scale(1.045)}.project-button:hover .project-open{transform:rotate(45deg);background:#fff;color:#08090b}.porto-portrait a:hover{transform:translateY(4px)}}
html[lang="ar"]{--display-font:'Cairo Portfolio','IBM Plex Sans Arabic Portfolio',sans-serif}
html[lang="ar"] .porto-hero h1{font-family:'Clash Portfolio','DM Sans',sans-serif!important}
html[lang="ar"] .porto-work-heading h2,html[lang="ar"] .about h2,html[lang="ar"] .contact h2{letter-spacing:0;line-height:1.3}
html[lang="ar"] .project-caption h3{letter-spacing:0;line-height:1.35}
@media(min-width:701px) and (max-width:1000px){
 .header-location{display:none}.header nav{gap:18px}.header nav>a{font-size:12px}
 .porto-work-heading{gap:24px}.porto-work-heading>p{max-width:23ch}
 .project-grid,.archive-grid{gap:44px 24px}.work .project:last-child:nth-child(odd){max-width:calc(50% - 12px)}
 .project-caption{grid-template-columns:24px minmax(0,1fr) auto;gap:10px}
 .about{gap:36px}.about h2{font-size:40px}
}
@media(max-width:700px){
 :root{--pad:20px;--folio-space:64px;--header-offset:76px}
 body{background-size:50% 100%,4px 4px}
 .header{min-height:76px;padding-block:16px;position:sticky;top:0}
 .header .wordmark{font-size:24px}.header-location{display:none}
 .menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid #545862;background:transparent;color:var(--ink);border-radius:999px;padding:10px 16px;min-height:44px;font-size:14px}
 .header nav{background:#101216;border:1px solid #383c46;border-radius:12px;box-shadow:0 16px 36px #0008;padding:16px;color:var(--ink);max-height:calc(100svh - 100px)}
 .header nav>a{font-size:18px;min-height:48px}
 .header nav .nav-contact{background:var(--accent);border-color:var(--accent);color:#fff}
 .header nav .site-language-bar{background:transparent;padding:12px 0 0}
 body[data-page="home"] .porto-hero{padding-top:28px;padding-bottom:48px}
 body[data-page="home"] .porto-hero h1,html:not([lang="en"]) body[data-page="home"] .porto-hero h1{font-size:11.7vw;margin:0 0 24px;line-height:1.2;letter-spacing:-.04em}
 .porto-facts{margin-bottom:24px;gap:0}.porto-facts>div{padding:18px 8px;gap:10px}.porto-facts svg{width:20px;height:20px}.porto-facts p{font-size:12px;line-height:1.4;text-transform:none;letter-spacing:0}
 .porto-facts>div:nth-child(3){display:none}.porto-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .porto-portrait{aspect-ratio:4/5;border-radius:8px}.porto-portrait>img{object-position:46% 50%}
 .porto-portrait figcaption{inset:auto 14px 14px;font-size:12px;gap:10px}.porto-portrait figcaption>span{max-width:75%;padding:9px 10px}
 .porto-portrait figcaption>a{width:44px;min-height:44px}
 .porto-hero .hero-bottom{display:block;margin-top:24px}.porto-hero .hero-bottom #intro{display:none}.porto-hero .hero-bottom .mobile-intro{display:block;font-size:16px!important;line-height:1.65!important;max-width:33ch!important;color:var(--muted)}
 .porto-hero .hero-bottom .text-link{display:none}
 .work .section-bar{gap:14px;font-size:12px;padding-block:18px;grid-template-columns:auto 1fr}.work .section-bar>span:first-of-type{text-align:end}.work .section-bar>span:last-child{display:none}
 .porto-work-heading{display:block;padding-block:24px 30px}.porto-work-heading h2{font-size:clamp(48px,13vw,80px)}.porto-work-heading>p{display:none}
 .project-grid,.archive-grid{grid-template-columns:minmax(0,1fr);gap:36px}.work .project:last-child:nth-child(odd){grid-column:auto;max-width:none}
 .project-caption{grid-template-columns:24px minmax(0,1fr) auto;gap:10px;padding-top:15px}.project-caption h3,.archive-grid .project-caption h3{font-size:25px}.project-caption p,.project-year{font-size:12px}
 .project-open,.archive-grid .project-open{width:44px;height:44px;bottom:12px;inset-inline-end:12px}
 .work-bottom{margin-top:32px;padding-top:24px}.archive-link{font-size:20px}
 .about{display:block;padding-block:64px}.about h2,html:not([lang="en"]) .about h2{font-size:clamp(32px,9.4vw,52px);line-height:1.08;letter-spacing:-.03em}.portrait{width:100%;max-width:100%;margin-bottom:36px}.portrait img{max-height:450px;object-fit:cover;object-position:50% 25%}
 .about-details{padding-top:20px;margin-top:24px}.mobile-bio p{color:var(--muted)}.disciplines span{font-size:14px;padding:14px 0}
 .clients{padding-block:40px 64px}.clients-heading h2{font-size:44px}.client-mark{min-height:115px}
 .contact{padding-block:48px 32px}.contact h2,.contact h2>span,html:not([lang="en"]) .contact h2{font-size:8.8vw;line-height:1.08;letter-spacing:-.035em}.contact-cta{width:100%;justify-content:space-between;padding:18px 22px;font-size:17px}.contact-bottom{margin-top:36px}
 .footer-name{font-size:9.2vw;letter-spacing:-.04em}
 .archive-title-row h1,.journal-heading h1,.service-heading h1{font-size:clamp(46px,12vw,76px)}
 .case-heading h1,.film-heading h1,.lx-heading h1,.oc-heading h1,.verno-heading h1,.article-body h1{font-size:clamp(36px,9vw,58px);line-height:1.1;letter-spacing:-.03em}
 .case-intro>p,.lx-deck>p,.oc-deck>p,.verno-deck>p{font-size:20px;line-height:1.5}
 #project-dialog[open]{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:12px}.dialog-toolbar{padding:10px 16px}.preview-layout{padding:16px;gap:24px}.preview-content h2{font-size:32px}.preview-facts{gap:18px}
 .motion-ready .reveal{transform:translateY(16px)}.motion-ready .reveal.visible{transform:none}
 html[lang="ar"] .about h2,html[lang="ar"] .contact h2{line-height:1.35;letter-spacing:0}
}
@media(prefers-reduced-motion:reduce){.porto-hero .title-enter,.porto-portrait,#project-dialog[open]{animation:none!important;transform:none!important;opacity:1!important}.motion-ready .reveal{opacity:1!important;transform:none!important;transition:none!important}.project-visual img,.project-open,.porto-portrait a{transition:none!important;transform:none!important}}

.clients .client-mark img[src*="qatar-supreme"]{filter:grayscale(1) invert(1);mix-blend-mode:screen}
@media(min-width:701px) and (max-width:1000px){.porto-work-heading{display:block}.porto-work-heading>p{margin-top:24px;max-width:35ch}}
@media(max-width:700px){html[lang="de"] .porto-work-heading h2{font-size:clamp(32px,9vw,62px)}}
/* Silent video cover. */
.porto-portrait--video{aspect-ratio:auto}
.porto-portrait--video>video{display:block;width:100%;height:auto;aspect-ratio:1920/800;object-fit:contain;background:#08090b}

/* Keep the supporting context at a readable width. */
.porto-hero .porto-portrait--video,
.porto-hero .porto-facts,
.porto-hero .hero-bottom{width:100%;max-width:1240px;margin-inline:auto}
.porto-hero .porto-facts{margin-top:24px;margin-bottom:0}
.porto-hero .porto-facts p{font-size:14px;line-height:1.5;text-transform:none;letter-spacing:0}
.porto-hero .hero-bottom{margin-top:40px;gap:40px;grid-template-columns:minmax(0,1fr) auto;align-items:end}
.porto-hero .hero-bottom #intro{display:block;max-width:62ch;font-family:inherit;font-size:18px;font-weight:400;line-height:1.65;letter-spacing:0;margin:0;text-align:start}
.porto-hero #intro .intro-lead{display:block;max-width:30ch;font-size:clamp(25px,2.3vw,34px);font-weight:500;line-height:1.25;letter-spacing:-.015em;text-wrap:balance;color:var(--ink)}
.porto-hero #intro .intro-support{display:block;max-width:58ch;margin-top:16px;color:var(--muted);text-wrap:pretty}
.porto-hero .hero-bottom .mobile-intro{display:none}
html[lang="ar"] .porto-hero #intro .intro-lead{letter-spacing:0;line-height:1.5}
@media(max-width:700px){
 .porto-hero .porto-facts{grid-template-columns:1fr;margin-top:20px}
 .porto-hero .porto-facts>div{display:flex;flex-direction:row;justify-content:flex-start;gap:16px;padding:14px 4px;text-align:start}
 .porto-hero .porto-facts>div+div{border-inline-start:0;border-top:1px solid var(--edge)}
 .porto-hero .porto-facts svg{flex:0 0 20px}
 .porto-hero .hero-bottom{display:block;margin-top:28px}
 .porto-hero .hero-bottom #intro{font-size:16px;line-height:1.6}
 .porto-hero #intro .intro-lead{font-size:25px;max-width:28ch}
 .porto-hero #intro .intro-support{margin-top:12px}
 .porto-hero .hero-bottom .mobile-intro{display:none!important}
}

/* Full-width cover, retaining the previous responsive height. */
.porto-hero .porto-portrait--video{
 width:calc(100% + var(--folio-gutter) + var(--folio-gutter));
 max-width:none;
 height:min(516.6667px,calc((100vw - var(--folio-gutter) - var(--folio-gutter))/2.4));
 margin-inline:calc(0px - var(--folio-gutter));
 border-radius:0;
}
.porto-hero .porto-portrait--video>video{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}

@media(max-width:700px){.clients .client-mark{padding:16px}.clients .client-mark img{max-height:54px}.clients .client-mark--square img{max-width:70px;max-height:70px}}

/* A quiet rhythm across the portfolio: reveal once, then keep the artwork still. */
:root{--motion-ease:cubic-bezier(.16,1,.3,1)}
.header{transition:background-color .32s ease,border-color .32s ease,box-shadow .32s ease}
main h1.title-enter{animation:portfolio-title-in .85s var(--motion-ease) both}
.motion-ready .reveal{transform:translateY(22px);transition:opacity .65s ease,transform .85s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal.visible{opacity:1;transform:none}
.motion-ready .motion-still{overflow:hidden;transform:translateY(16px)}
.motion-ready .motion-still.visible{transform:none}
.motion-ready .motion-still img{transform:scale(1.018);transition:transform 1.15s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .motion-still.visible img{transform:none}
.clients .client-mark{transition:border-color .35s ease,background-color .35s ease}
.clients .client-mark img{transition:transform .45s var(--motion-ease)}
.archive-link,.back-link,.contact-cta,.category-filters button,.language-switcher select{transition:color .25s ease,background-color .25s ease,border-color .25s ease,translate .35s var(--motion-ease)}
.project-button .project-visual{transition:border-color .35s ease}
.project-button:active .project-open{scale:.94}
.project-open{transition:transform .35s var(--motion-ease),background-color .3s ease,scale .2s ease}
@keyframes portfolio-title-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
 .clients .client-mark:hover{border-color:#626a7c!important;background:#13161c!important}
 .clients .client-mark:hover img{transform:scale(1.035)}
 .archive-link:hover,.back-link:hover{color:#90a8ff}
 .archive-link:hover .ui-icon,.back-link:hover .ui-icon{transform:translateX(3px)}
 .archive-link .ui-icon,.back-link .ui-icon{transition:transform .35s var(--motion-ease)}
}
@media(max-width:700px){
 main h1.title-enter{animation-duration:.6s}
 .motion-ready .reveal,.motion-ready .motion-still{transform:translateY(12px);transition-duration:.45s,.6s}
 .motion-ready .reveal.visible,.motion-ready .motion-still.visible{transform:none}
 .motion-ready .motion-still img{transform:none}
}
@media(prefers-reduced-motion:reduce){
 main h1.title-enter{animation:none!important;transform:none!important;opacity:1!important}
 .motion-ready .reveal,.motion-ready .motion-still,.motion-ready .motion-still img{opacity:1!important;transform:none!important;transition:none!important}
 .clients .client-mark img,.project-open,.archive-link .ui-icon,.back-link .ui-icon{transform:none!important;scale:1!important;translate:none!important}
}

/* Preserve the complete composition of the replacement cinematic cover. */
.porto-hero .porto-portrait--video{height:auto;aspect-ratio:16/7}
.porto-hero .porto-portrait--video>video{height:auto;aspect-ratio:16/7;object-fit:contain}
