/* Assafa — video-led architectural identity. Uses existing project content. */
.av-ready{--paper:#f2f2f0;--av-blue:#00446f;--av-dark:#002d4a;--av-gold:var(--gold,#c0925e);background:var(--paper);color:var(--av-dark);font-family:Arial,Helvetica,sans-serif;line-height:1.4}
.av-ready [hidden]{display:none!important}.av-ready h1,.av-ready h2,.av-ready h3{font-family:Arial,Helvetica,sans-serif!important;font-weight:400;letter-spacing:-1.6px}.av-ready section{padding-inline:2%!important;scroll-margin-top:85px}.av-ready h2{font-size:clamp(34px,5.4vw,78px);line-height:.98;font-weight:400;white-space:pre-line}.av-ready .eyebrow{font-size:11px;letter-spacing:.5px}
.av-ready .masthead{position:fixed;inset:0 0 auto;z-index:70;padding:20px 2%;background:transparent!important;border:0;color:var(--av-dark);transition:color .3s;pointer-events:none}.av-has-opening .masthead .logo{opacity:0}.av-ready .masthead .top-links{display:none}.av-ready .masthead .header-tools{margin-inline-start:auto;pointer-events:auto}.av-ready .menu-toggle,.av-ready .masthead #language{color:inherit}.av-ready .masthead nav{background:var(--av-blue);color:#fff;pointer-events:auto}.av-ready .menu-label{display:none}.av-ready .menu-bars{border-color:currentColor}.av-ready .menu-bars:after{border-color:currentColor}.av-ready.av-dark .masthead{color:white}.av-ready:not(.av-revealed) .masthead{visibility:hidden}
.av-opening{height:100svh;min-height:730px;max-height:1100px;position:relative;background:var(--av-blue);color:white;overflow:hidden;padding:0!important;isolation:isolate}.av-opening>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34;filter:saturate(.35)}.av-blue-wash{position:absolute;inset:0;background:linear-gradient(0deg,#00446fe8,#00446f60 70%,#00446f95);pointer-events:none}
.av-brand{position:fixed;z-index:80;top:42%;inset-inline-start:50%;width:94vw;max-width:1500px;transform:translate(-50%,-50%);transition:width 1.1s cubic-bezier(.22,.7,.2,1),top 1.1s cubic-bezier(.22,.7,.2,1),inset-inline-start 1.1s cubic-bezier(.22,.7,.2,1),transform 1.1s;display:block}.av-brand-image{width:100%;display:block;filter:brightness(0) invert(1);transition:filter .4s}.av-revealed .av-brand{width:40vw;top:25px;inset-inline-start:2%;transform:none}.av-small-brand .av-brand{width:165px;top:20px}.av-ready:not(.av-dark) .av-brand-image{filter:brightness(0) saturate(100%) invert(18%) sepia(38%) saturate(1839%) hue-rotate(165deg) brightness(92%)}
.av-title{position:absolute;inset-inline-end:5%;top:145px;width:46%;font-size:clamp(39px,6vw,86px);line-height:.98;letter-spacing:-2px!important;white-space:pre-line;margin:0;opacity:0;transform:translateY(20px);transition:opacity .9s .25s,transform .9s .25s}.av-revealed .av-title{opacity:1;transform:none}
.av-opening-rail{position:absolute;bottom:28px;inset-inline:2%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;padding-top:20px;border-top:1px solid #ffffff80;opacity:0;visibility:hidden;transition:opacity .8s .4s}.av-revealed .av-opening-rail{opacity:1;visibility:visible}.av-feature{display:flex;align-items:start;gap:20px;font-size:15px;font-weight:700}.av-feature img{width:44%;height:145px;object-fit:cover}.av-feature span{white-space:pre-line;padding-top:10px}.av-opening-summary{font-size:17px;line-height:1.3;margin:0;white-space:pre-line;max-width:350px;font-weight:600}.av-ready .av-opening-links{position:static;display:flex;flex-direction:column;gap:0;align-items:stretch;text-transform:none;font-size:16px;letter-spacing:0}.av-opening-links a{border-bottom:1px solid #ffffff70;padding:5px 0}.av-motion{position:absolute;bottom:220px;inset-inline-start:2%;background:transparent;border:1px solid #ffffff70;color:white;border-radius:24px;font-size:11px;padding:8px 12px;opacity:0;visibility:hidden}.av-revealed .av-motion{opacity:1;visibility:visible}
.av-ready .av-services{padding-top:100px;padding-bottom:90px;background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:0 10%}.av-services>.eyebrow{grid-column:1/-1;margin-bottom:30px}.av-services h2{margin:0}.av-service-intro{font-size:19px;font-weight:600;max-width:430px;margin:4px 0 0;line-height:1.35}.av-services .services{grid-column:1/-1;margin-top:80px}.av-services .service{grid-template-columns:50px 1fr 1fr;gap:25px;padding:25px 0}.av-services .service h3{font-size:27px;line-height:1.05;letter-spacing:-.5px}.av-services .service p{font-size:16px;line-height:1.45}.av-services .number{color:var(--av-blue)}
.av-film{padding-top:60px!important;padding-bottom:80px!important;background:#e6e7e5}.av-film-heading{display:grid;grid-template-columns:1fr 1fr;gap:20px 10%;padding-bottom:50px}.av-label{grid-column:1/-1;font-size:11px;letter-spacing:1px;margin:0}.av-film-heading h2{margin:0}.av-film-copy{font-size:19px;max-width:360px;font-weight:600}.av-film video{width:100%;height:auto;max-height:82svh;aspect-ratio:16/9;background:#002d4a;display:block;object-fit:contain}
.av-project-section{padding-top:90px!important;padding-bottom:90px!important;background:var(--paper)}.av-projects{display:flex!important;gap:14px!important;align-items:stretch;min-height:570px}.av-projects .project-card{flex:1 1 0;min-width:0;grid-column:auto!important;transition:flex .65s cubic-bezier(.2,.7,.2,1);overflow:hidden}.av-projects .project-card.av-active{flex:2.2 1 0}.av-projects .project-card>a{min-height:650px;height:auto;display:flex;flex-direction:column;position:relative;overflow:hidden}.av-projects .project-card img,.av-projects .project-card:first-child img{width:100%;height:340px;aspect-ratio:auto;object-fit:cover;transition:height .6s,transform .6s}.av-projects .av-active img{height:400px;transform:scale(1.025)}.av-card-panel{background:var(--paper);padding:20px 12px;position:relative;z-index:1;border-top:1px solid #c5c9ca}.av-card-index{display:block;font-size:12px;color:var(--av-blue);margin-bottom:20px}.av-card-panel h3{font-size:20px!important;line-height:1.3;font-weight:400!important;margin:0!important;letter-spacing:-.3px!important}.av-card-panel h3:after{display:none}.av-card-panel p,.av-card-more{display:block;font-size:13px;margin-top:15px;opacity:0;max-height:0;overflow:hidden;transition:opacity .35s,max-height .35s}.av-active .av-card-panel p,.av-active .av-card-more,.project-card:focus-within .av-card-panel p,.project-card:focus-within .av-card-more{opacity:1;max-height:90px}.av-card-more{color:var(--av-blue);text-decoration:underline;text-decoration-color:var(--av-gold);text-underline-offset:5px}
.av-ready .about{padding-block:90px;background:#e6e7e5;gap:10%}.av-ready .about p{font-size:20px;line-height:1.5}.av-ready .about h2{font-size:clamp(35px,4.7vw,68px)}
.av-ready .av-contact{display:block;padding:80px 2% 0!important;background:var(--paper)!important;color:var(--av-dark)!important;border:0}.av-contact-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.av-social{display:flex;gap:8px;align-items:start}.av-social-icon{width:42px;height:42px;border-radius:50%;background:var(--av-dark);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:22px;font-family:Arial,sans-serif;font-weight:700}.av-social-icon:nth-child(2){font-size:17px}.av-contact-note p{font-size:18px!important;color:var(--av-dark)!important;font-weight:600;white-space:pre-line;margin:0 0 22px!important}.av-ready .av-contact .av-email{font-size:14px;border-bottom:1px solid var(--av-dark);padding:10px 0;display:block;margin:0}.av-ready .av-footer-nav{position:static;display:flex;flex-direction:column;align-items:stretch;gap:0;font-size:16px;letter-spacing:0;text-transform:none}.av-footer-nav a{font-size:16px!important;margin:0!important;padding:4px 0;border-bottom:1px solid var(--av-dark)}
.av-contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;padding-top:200px;padding-bottom:30px;border-bottom:1px solid var(--av-dark)}.av-contact-bottom>img{width:190px;height:190px;object-fit:cover}.av-invitation h2{font-size:clamp(30px,3.4vw,48px)!important;line-height:1.04;letter-spacing:-1.3px!important;margin:0 0 22px!important}.av-invitation p{font-size:17px!important;font-weight:600;color:var(--av-dark)!important;margin-bottom:25px}.av-ready .av-contact .av-contact-button{font-size:14px;display:inline-block;border:1px solid var(--av-dark);padding:18px 25px;margin:0}.av-contact-button:hover{background:var(--av-blue);color:white}
.av-ending-track{height:160svh;background:var(--paper)}.av-ending{position:sticky;top:0;height:100svh;min-height:460px;background:var(--paper);padding:0!important;overflow:hidden;--wipe:100%}.av-end-blue,.av-end-white{position:absolute;top:50%;left:2%;width:96%;max-width:none;transform:translateY(-50%);display:block}.av-end-blue{filter:brightness(0) saturate(100%) invert(18%) sepia(38%) saturate(1839%) hue-rotate(165deg) brightness(92%)}.av-end-fill{position:absolute;inset:0;background:var(--av-blue);clip-path:inset(var(--wipe) 0 0);z-index:1}.av-end-white-layer{position:absolute;inset:0;z-index:2;clip-path:inset(var(--wipe) 0 0)}.av-end-white{filter:brightness(0) invert(1)}.av-ready footer{padding:22px 2%;background:var(--av-blue);font-size:12px;color:white}
.av-enter{animation:av-rise .8s ease both}@keyframes av-rise{from{opacity:.15;translate:0 22px}to{opacity:1;translate:0 0}}
[dir=rtl] .av-brand{transform:translate(50%,-50%)}[dir=rtl] .av-revealed .av-brand{transform:none}[dir=rtl] .av-ready h1,[dir=rtl] .av-ready h2,[dir=rtl] .av-ready h3{font-family:Tahoma,Arial,sans-serif!important;letter-spacing:0!important;line-height:1.3}
@media(max-width:760px){.av-ready section{padding-inline:5%!important;scroll-margin-top:85px}.av-opening{height:100svh;min-height:760px}.av-revealed .av-brand{width:70vw;top:70px;inset-inline-start:5%}.av-small-brand .av-brand{width:150px;top:20px}.av-title{top:230px;inset-inline:5%;width:90%;font-size:40px}.av-opening-rail{inset-inline:5%;grid-template-columns:1fr 1fr;gap:20px}.av-feature{font-size:12px;gap:12px}.av-feature img{height:85px;width:45%}.av-opening-summary{display:none}.av-ready .av-opening-links{font-size:13px}.av-motion{bottom:200px;inset-inline-start:5%}.av-ready .masthead{padding:20px 5%;flex-wrap:nowrap}.av-ready .header-tools{width:auto}.av-ready .av-services{display:block;padding-block:60px}.av-services h2{font-size:38px}.av-service-intro{font-size:17px;margin-top:25px}.av-services .services{margin-top:40px}.av-services .service{grid-template-columns:25px 1fr}.av-services .service p{grid-column:2}.av-services .service h3{font-size:24px}.av-film-heading{display:block}.av-film-heading h2{font-size:40px;margin-top:22px}.av-film-copy{font-size:16px}.av-projects{display:block!important;min-height:0}.av-projects .project-card>a{height:auto;margin-bottom:35px}.av-projects .project-card img,.av-projects .project-card.av-active img{height:280px;transform:none}.av-card-panel p,.av-card-more{opacity:1;max-height:100px}.av-ready .about{padding-block:60px}.av-contact-top{grid-template-columns:1fr 1fr;gap:25px}.av-social{grid-column:1/-1}.av-contact-note p{font-size:15px!important}.av-footer-nav a{font-size:14px!important}.av-contact-bottom{padding-top:80px;grid-template-columns:1fr}.av-contact-bottom>img{width:120px;height:120px}.av-invitation h2{font-size:35px!important}.av-ending-track{height:130svh}.av-ending{min-height:400px}}
@media(prefers-reduced-motion:reduce){.av-ready *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.av-ending-track{height:auto}.av-ending{position:relative;height:65svh}.av-opening>video{opacity:.15}}


/* 1.5: rectangle-to-mark introduction, vertical project index and compact finale. */
.av-logo-morph{position:absolute;z-index:85;left:50%;top:42%;width:230px;height:200px;background:white;transform:translate(-50%,-50%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 0,0 0,0 0,0 0);animation:av-form-mark 2.2s ease both;pointer-events:none}
@keyframes av-form-mark{0%,20%{opacity:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 0,0 0,0 0,0 0)}65%,80%{opacity:1;clip-path:polygon(60% 0,100% 14%,64% 90%,51% 22%,62% 100%,0 50%,52% 8%,48% 24%)}100%{opacity:0;clip-path:polygon(60% 0,100% 14%,64% 90%,51% 22%,62% 100%,0 50%,52% 8%,48% 24%)}}
.av-brand{width:88vw;top:43%;opacity:1;transition:width 1s ease,top 1s ease,inset-inline-start 1s ease,transform 1s ease,opacity .7s ease}
.av-intro-running .av-brand{opacity:0;pointer-events:none}
.av-revealed .av-brand,.av-small-brand .av-brand{width:180px;top:22px;inset-inline-start:2%;transform:none}
.av-ready .av-title{font-family:'Helvetica Neue','Segoe UI',Arial,sans-serif!important;font-weight:300!important;font-size:clamp(34px,4.4vw,64px)!important;line-height:1.07;letter-spacing:-1.7px!important;top:160px;width:46%;transform:translateY(25px) scale(.9);transform-origin:top right}
.av-revealed .av-title{transform:translateY(0) scale(1)}
.av-opening-summary,.av-feature{font-weight:400}
.av-showcase{height:min(72vw,740px);min-height:390px;position:relative;overflow:hidden;background:var(--av-dark)}
.av-showcase-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s;overflow:hidden}.av-showcase-slide.av-current{opacity:1;visibility:visible}
.av-showcase-slide>img,.av-showcase-slide>video{width:100%;height:100%;max-height:none;object-fit:cover;aspect-ratio:auto}
.av-showcase-slide.av-current>img{animation:av-project-pan 8s ease-out both}
@keyframes av-project-pan{from{transform:scale(1.02);object-position:45% 55%}to{transform:scale(1.12);object-position:55% 45%}}
.av-showcase-caption{position:absolute;bottom:0;inset-inline:0;padding:55px 28px 25px;background:linear-gradient(transparent,#001e32df);color:white;font-size:clamp(18px,2vw,28px);font-weight:300;pointer-events:none}.av-showcase-slide:has(video) .av-showcase-caption{bottom:50px}
.av-showcase-controls{display:flex;gap:12px;padding-top:20px}.av-showcase-controls button{background:none;border:1px solid #78909c;color:var(--av-dark);padding:10px 16px;cursor:pointer}.av-showcase-controls button[aria-pressed=true]{background:var(--av-blue);color:white}.av-cycle{margin-inline-start:auto}
.av-projects{display:block!important;min-height:0}.av-projects .project-card{border-top:1px solid #b7c0c3;overflow:visible;transition:none}.av-projects .project-card>a{display:grid;grid-template-columns:200px 1fr;gap:5%;align-items:center;min-height:0;height:auto;padding:30px 0;overflow:visible;transition:grid-template-columns .65s ease,padding .65s ease}
.av-projects .project-card img,.av-projects .project-card:first-child img{width:100%;height:135px;object-fit:cover;transform:none;transition:height .65s ease}
.av-projects .project-card.av-active>a,.av-projects .project-card:focus-within>a{grid-template-columns:54% 1fr;padding:35px 0}
.av-projects .project-card.av-active img,.av-projects .project-card:focus-within img{height:390px;transform:none}
.av-card-panel{border:0;padding:15px 0;background:transparent}.av-card-panel h3{font-size:clamp(20px,2.3vw,34px)!important;line-height:1.18}.av-card-index{margin-bottom:15px}.av-card-panel p{font-size:16px}.av-card-more{font-size:14px}
.av-ending-track{height:clamp(270px,42vw,580px)}.av-ending{position:relative;height:100%;min-height:0}.av-end-blue,.av-end-white{left:4%;width:92%;z-index:1}.av-end-fill{z-index:2}.av-end-white-layer{z-index:3}.av-stamps{position:absolute;inset:-20%;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;transform:rotate(-18deg);opacity:.055;z-index:4;pointer-events:none}.av-stamps img{width:100%;filter:grayscale(1)}
@media(max-width:760px){.av-revealed .av-brand,.av-small-brand .av-brand{width:150px;top:20px;inset-inline-start:5%}.av-ready .av-title{top:180px;width:90%;font-size:38px!important}.av-logo-morph{width:165px;height:150px}.av-showcase{height:60svh;min-height:320px}.av-showcase-caption{font-size:18px;padding-inline:18px}.av-projects .project-card>a,.av-projects .project-card.av-active>a,.av-projects .project-card:focus-within>a{grid-template-columns:1fr;gap:15px;margin:0;padding:25px 0}.av-projects .project-card img,.av-projects .project-card.av-active img,.av-projects .project-card:focus-within img{height:240px}.av-card-panel h3{font-size:24px!important}.av-ending-track{height:280px}.av-ending{min-height:0}}
@media(prefers-reduced-motion:reduce){.av-logo-morph{display:none}.av-brand{opacity:1!important}.av-showcase-slide.av-current>img{animation:none}.av-ending{height:clamp(270px,42vw,580px)}}
/* 1.6 — outlined mark, pinned introduction and blue contact. */
.av-opening-track{height:180svh;position:relative;background:var(--av-blue)}
.av-opening-track .av-opening{position:sticky;top:0;height:100svh;min-height:0;max-height:none}
.av-logo-morph{width:280px;height:280px;background:none;clip-path:none;animation:av-outline-exit 3.4s both}
.av-logo-morph svg{width:100%;height:100%;overflow:visible}
.av-outline-turn{transform-origin:130px 130px;animation:av-outline-rotate 3.4s ease both}
.av-outline-seam{stroke-dasharray:1;stroke-dashoffset:1;animation:av-seam-draw 3.4s ease both}
.av-outline-box{animation:av-outline-fill 3.4s ease both}
@keyframes av-outline-rotate{0%,22%{transform:rotate(0deg)}48%,100%{transform:rotate(32deg)}}
@keyframes av-seam-draw{0%,49%{stroke-dashoffset:1}80%,100%{stroke-dashoffset:0}}
@keyframes av-outline-fill{0%,78%{fill:transparent}92%,100%{fill:#ffffff18}}
@keyframes av-outline-exit{0%,87%{opacity:1}100%{opacity:0}}
.av-showcase-slide:has(video) .av-showcase-caption{bottom:0}
.av-ready .av-contact{background:var(--av-blue)!important;color:white!important;padding-bottom:30px!important}
.av-ready .av-contact h2,.av-ready .av-contact p,.av-ready .av-contact a{color:white!important}
.av-ready .av-contact .av-email,.av-ready .av-contact .av-footer-nav a,.av-contact-bottom,.av-ready .av-contact .av-contact-button{border-color:#ffffff80}
.av-social-icon{background:white;color:var(--av-blue)}
.av-ready .av-contact .av-contact-button:hover{background:white;color:var(--av-blue)!important}
@media(max-width:760px){.av-opening-track{height:175svh}.av-logo-morph{width:220px;height:220px}.av-opening-track .av-opening{min-height:680px}}
@media(prefers-reduced-motion:reduce){.av-opening-track{height:auto}.av-opening-track .av-opening{position:relative;min-height:730px}.av-logo-morph{display:none}}
/* 1.7 — two bounces, drawn square, supplied card mark, then international mark. */
.av-ready{--av-blue:#002d4a;--av-dark:#00283e}
.av-blue-wash{background:linear-gradient(0deg,#002d4af5,#002d4a99 70%,#002d4aca)}
.av-logo-morph{width:320px;height:260px;animation:av-sequence-fade 6.5s both}
.av-bounce-dot{transform-origin:center;animation:av-two-bounces 6.5s both}
.av-drawn-square{stroke-dasharray:1;stroke-dashoffset:1;animation:av-draw-square 6.5s both}
.av-card-mark{transform-origin:160px 130px;animation:av-card-reveal 6.5s both}
.av-final-square{transform-origin:160px 130px;animation:av-final-reveal 6.5s both}
.av-solid-square{animation:av-final-shape 6.5s both}
.av-logo-cut{stroke-dasharray:1;stroke-dashoffset:1;animation:av-cut-draw 6.5s both}
@keyframes av-two-bounces{0%{opacity:1;transform:translateY(0)}7%{transform:translateY(-38px)}14%{transform:translateY(0) scale(1.2,.8)}21%{transform:translateY(-28px) scale(1)}28%{opacity:1;transform:translateY(0)}31%,100%{opacity:0}}
@keyframes av-draw-square{0%,27%{opacity:0;stroke-dashoffset:1}28%{opacity:1;stroke-dashoffset:1}42%,46%{opacity:1;stroke-dashoffset:0}52%,100%{opacity:0;stroke-dashoffset:0}}
@keyframes av-card-reveal{0%,44%{opacity:0;transform:scale(.85)}52%,62%{opacity:1;transform:scale(1)}68%,100%{opacity:0;transform:scale(1)}}
@keyframes av-final-reveal{0%,65%{opacity:0;transform:rotate(0deg)}71%{opacity:1;transform:rotate(0deg)}82%,100%{opacity:1;transform:rotate(25deg)}}
@keyframes av-final-shape{0%,80%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}95%,100%{clip-path:polygon(18% 0,100% 0,76% 100%,0 83%)}}
@keyframes av-cut-draw{0%,81%{stroke-dashoffset:1}95%,100%{stroke-dashoffset:0}}
@keyframes av-sequence-fade{0%,96%{opacity:1}100%{opacity:0}}
.av-ending-track{height:clamp(270px,36vw,480px)}
.av-end-blue,.av-end-white{left:14%;width:72%;max-height:65%;object-fit:contain}
.av-showcase-slide>img{object-fit:contain;background:var(--av-dark)}
.av-showcase-slide.av-current>img{animation:av-project-gentle-pan 8s ease-out both}
@keyframes av-project-gentle-pan{from{transform:scale(1)}to{transform:scale(1.025)}}
@media(max-width:760px){.av-logo-morph{width:270px;height:220px}.av-end-blue,.av-end-white{left:9%;width:82%}.av-ending-track{height:260px}}
@media(prefers-reduced-motion:reduce){.av-logo-morph{display:none}.av-showcase-slide.av-current>img{animation:none}}
/* 1.8 — connected identity transitions, practice history and sector navigation. */
@keyframes av-draw-square{0%,27%{opacity:0;stroke-dashoffset:1}28%{opacity:1;stroke-dashoffset:1}42%,50%{opacity:1;stroke-dashoffset:0}59%,100%{opacity:0;stroke-dashoffset:0}}
@keyframes av-card-reveal{0%,48%{opacity:0;transform:scale(1)}57%,64%{opacity:1;transform:scale(1)}73%,100%{opacity:0;transform:scale(.85)}}
@keyframes av-final-reveal{0%,65%{opacity:0;transform:scale(.85) rotate(0deg)}75%{opacity:1;transform:scale(1) rotate(0deg)}84%,100%{opacity:1;transform:scale(1) rotate(25deg)}}
@keyframes av-final-shape{0%,84%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}96%,100%{clip-path:polygon(18% 0,100% 0,76% 100%,0 83%)}}
@keyframes av-cut-draw{0%,84%{stroke-dashoffset:1}98%,100%{stroke-dashoffset:0}}
.av-brand-history{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:55px 0 0;align-items:center;border-top:1px solid #b6c2c6;margin-top:40px}
.av-history-logo{margin:0;text-align:center;color:var(--av-blue)}.av-history-logo svg,.av-history-current{display:block;width:75%;height:140px;object-fit:contain;margin:0 auto 25px}.av-history-logo figcaption{font-size:15px}.av-sector-filters{display:flex;flex-wrap:wrap;gap:12px;margin:25px 0 40px}.av-sector-filters button{background:transparent;color:var(--av-blue);border:1px solid #9aaeb8;padding:12px 22px;border-radius:30px;font:inherit;cursor:pointer}.av-sector-filters button[aria-pressed=true]{background:var(--av-blue);color:white;border-color:var(--av-blue)}.av-sector-filters button:focus-visible{outline:3px solid var(--av-gold);outline-offset:3px}.av-sector-empty{padding:35px 0;font-size:20px;border-top:1px solid #9aaeb8}
@media(max-width:760px){.av-brand-history{gap:20px;padding-top:30px}.av-history-logo svg,.av-history-current{width:100%;height:90px}.av-history-logo figcaption{font-size:12px}.av-sector-filters button{font-size:14px;padding:10px 16px}}
.av-logo-morph{animation:av-continuous-exit 8.3s both}.av-old-details{opacity:0}
@keyframes av-continuous-exit{0%,96%{opacity:1}100%{opacity:0}}
.av-old-name{font-family:Georgia,'Times New Roman',serif;font-size:clamp(16px,2vw,26px);letter-spacing:1px;margin:0 0 18px}
.av-end-pair{display:flex;align-items:center;justify-content:center;gap:9%;left:16%;width:68%;height:65%;max-height:none;filter:none}
.av-end-pair>.av-history-logo{width:40%;color:var(--av-blue)}.av-end-pair .av-history-logo svg{height:90px;width:75%;margin:0 auto 15px}.av-end-pair .av-old-name{font-size:clamp(12px,1.6vw,22px);margin:0;white-space:nowrap}
.av-end-current{width:48%;height:auto;object-fit:contain}.av-end-white.av-end-pair{filter:brightness(0) invert(1)}
.av-type-filters{margin-bottom:12px}.av-sector-filters+ .av-sector-filters{margin-top:0}
@media(max-width:760px){.av-end-pair{left:7%;width:86%;gap:6%}.av-end-pair .av-history-logo svg{height:65px}.av-end-pair .av-old-name{font-size:11px}}

/* 2.0 — symbol-only finale and smooth project expansion. */
.av-continuous-mark{stroke-width:3.5;stroke-linejoin:round}
.av-end-pair{left:12%;width:76%;gap:14%;height:78%;color:var(--av-blue)}
.av-end-pair>.av-history-logo{width:43%;height:100%;display:flex;align-items:center;justify-content:center}
.av-end-pair .av-history-logo svg{width:100%;height:78%;margin:0;max-height:270px}
.av-end-symbol{display:block;width:35%;height:78%;max-height:270px;overflow:visible}
.av-projects .project-card>a{transition:grid-template-columns .85s cubic-bezier(.22,.68,.16,1),padding .85s ease}
.av-projects .project-card img{transition:height .85s cubic-bezier(.22,.68,.16,1),filter .6s;filter:saturate(.9)}
.av-projects .project-card.av-active>a,.av-projects .project-card:focus-within>a{grid-template-columns:57% 1fr}
.av-projects .project-card.av-active img,.av-projects .project-card:focus-within img{height:420px;filter:saturate(1)}
.av-card-panel p,.av-card-more{transition:opacity .5s .15s,max-height .5s}
@media(max-width:760px){.av-end-pair{left:8%;width:84%;gap:9%}.av-end-symbol{width:38%;max-height:170px}.av-end-pair .av-history-logo svg{max-height:170px}.av-projects .project-card.av-active>a,.av-projects .project-card:focus-within>a{grid-template-columns:1fr}.av-projects .project-card.av-active img,.av-projects .project-card:focus-within img{height:240px}}

/* 2.1 — original supplied symbols, accurately cropped and rendered. */
.av-logo-morph{color:white}
.av-logo-morph .av-square-stage{position:absolute;inset:0}
.av-logo-morph .av-intro-original{position:absolute;left:10%;top:15%;width:80%;height:70%;overflow:hidden;opacity:0}
.av-intro-old{animation:av-original-old 8.3s ease-in-out both}
.av-intro-new{animation:av-original-new 8.3s ease-in-out both}
@keyframes av-original-old{0%,34%{opacity:0;transform:scale(.7)}44%,59%{opacity:1;transform:scale(1)}69%,100%{opacity:0;transform:scale(.7)}}
@keyframes av-original-new{0%,73%{opacity:0;transform:scale(.85) rotate(-5deg)}87%,100%{opacity:1;transform:scale(1) rotate(0)}}
.av-end-pair{top:60%;left:16%;width:68%;height:65%;max-height:none;gap:14%}
.av-end-pair .av-history-logo svg,.av-end-symbol{max-height:230px;overflow:hidden}
@media(max-width:760px){.av-end-pair{top:60%;left:12%;width:76%;gap:10%}.av-end-pair .av-history-logo svg,.av-end-symbol{max-height:145px}}
.av-stamps{z-index:0}

/* 2.2 — continuous contour bridges and balanced bilingual signatures. */
.av-logo-morph .av-transition-thread{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.av-transition-thread path{opacity:0}
.av-logo-morph .av-intro-original{will-change:transform,opacity,clip-path}
@keyframes av-original-old{0%,33%{opacity:0;transform:scale(.78);clip-path:inset(0 100% 0 0)}44%{opacity:1;transform:scale(1);clip-path:inset(0 0 0 0)}58%{opacity:1;transform:scale(1);clip-path:inset(0 0 0 0)}69%,100%{opacity:0;transform:scale(.82);clip-path:inset(0 0 0 100%)}}
@keyframes av-original-new{0%,72%{opacity:0;transform:scale(.82) rotate(-8deg);clip-path:inset(0 100% 0 0)}89%,100%{opacity:1;transform:scale(1) rotate(0);clip-path:inset(0 0 0 0)}}
.av-end-pair{left:9%;width:82%;gap:7%;height:55%;top:61%}
.av-end-lockup{display:flex;align-items:center;gap:20px;width:46.5%;min-width:0;direction:ltr}
.av-lockup-symbol{width:35%;height:130px;flex-shrink:0;overflow:hidden}
.av-lockup-names{display:flex;flex-direction:column;gap:10px;white-space:nowrap;flex:1;text-align:center}
.av-lockup-ar{font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2.6vw,38px);font-weight:400;direction:rtl;line-height:1.3}
.av-lockup-en{font-family:Georgia,'Times New Roman',serif;font-size:clamp(11px,1.15vw,18px);letter-spacing:.035em;line-height:1.4}
@media(max-width:760px){.av-end-pair{left:7%;width:86%;gap:10%;height:65%;top:59%;flex-direction:column}.av-end-lockup{width:min(100%,350px);gap:18px}.av-lockup-symbol{height:65px;width:30%}.av-lockup-ar{font-size:25px}.av-lockup-en{font-size:12px}.av-lockup-names{gap:3px}}
@media(prefers-reduced-motion:reduce){.av-transition-thread{display:none}}

/* 2.3 — restrained drawing transitions and a night-style geographic overview. */
@keyframes av-original-old{0%,33%{opacity:0;transform:scale(.92);clip-path:inset(0 100% 0 0)}45%,58%{opacity:1;transform:scale(1);clip-path:inset(0 0 0 0)}68%,100%{opacity:0;transform:scale(.92);clip-path:inset(0 0 0 100%)}}
@keyframes av-original-new{0%,72%{opacity:0;transform:scale(.92);clip-path:inset(0 100% 0 0)}91%,100%{opacity:1;transform:scale(1);clip-path:inset(0 0 0 0)}}

/* 2.4 — supplied original wordmark and legacy name placed to its left. */
.av-end-pair{left:10%;width:80%;gap:8%;top:61%;height:52%}
.av-legacy-signature{width:46%;gap:18px;direction:ltr}
.av-legacy-signature .av-lockup-names{width:64%;flex:1}
.av-legacy-signature .av-lockup-symbol{width:32%;height:105px}
.av-legacy-signature .av-lockup-ar{font-size:clamp(20px,2.1vw,32px)}
.av-original-signature{display:block;width:46%;height:auto;max-height:120px;object-fit:contain}
@media(max-width:760px){.av-end-pair{left:8%;width:84%;gap:24px;height:64%;top:59%}.av-legacy-signature{width:min(100%,350px)}.av-original-signature{width:min(100%,350px);max-height:82px}.av-legacy-signature .av-lockup-symbol{height:70px}.av-legacy-signature .av-lockup-ar{font-size:24px}}

/* 2.5 — the same completed symbol joins its wordmark; scroll-linked finale. */
.av-intro-running .av-brand{opacity:1;pointer-events:none}
.av-brand-image{clip-path:inset(0 28.25% 0 0)}
.av-intro-running .av-brand-image{opacity:0;transform:translateX(24px)}
.av-identity-joining .av-brand-image{opacity:1;transform:translateX(0);transition:opacity 1.2s .35s ease,transform 1.5s .2s cubic-bezier(.22,.65,.2,1),filter .4s}
.av-brand-symbol{position:absolute;right:0;top:0;width:28.25%;height:100%;color:white;transform-origin:0 0;overflow:hidden;transition:color .4s}
.av-ready:not(.av-dark) .av-brand-symbol{color:var(--av-blue)}
.av-logo-morph{animation:none;opacity:1}
.av-logo-morph[hidden]{display:none}
.av-logo-morph .av-old-outline{animation:av-outline-identity 8.3s ease both}
@keyframes av-outline-identity{0%,32%{opacity:0;transform:scale(.94)}40%,45%{opacity:.9;transform:scale(1)}53%,100%{opacity:0;transform:scale(1)}}
@keyframes av-original-old{0%,37%{opacity:0;transform:scale(.96);filter:blur(2px)}47%,58%{opacity:1;transform:scale(1);filter:blur(0)}69%,100%{opacity:0;transform:scale(.94);filter:blur(1px)}}
@keyframes av-original-new{0%,72%{opacity:0;transform:scale(.92)}90%,100%{opacity:1;transform:scale(1)}}
.av-intro-old,.av-intro-new{clip-path:none!important}
.av-ending-track{height:135svh;background:var(--paper)}
.av-ending{position:sticky;top:15svh;height:65svh;min-height:360px}
.av-end-pair{left:6%;width:88%;gap:6%;height:58%;top:57%}
.av-legacy-signature{width:47%;gap:14px}.av-original-signature{width:47%;max-height:145px}
.av-legacy-signature .av-lockup-symbol{height:125px;width:32%}
.av-legacy-signature .av-lockup-ar{font-size:clamp(23px,2.7vw,40px)}
.av-legacy-signature .av-lockup-en{font-size:clamp(13px,1.45vw,22px)}
@media(max-width:760px){.av-ending-track{height:125svh}.av-ending{top:17svh;height:62svh;min-height:330px}.av-end-pair{left:6%;width:88%;top:55%;height:70%;gap:35px}.av-legacy-signature,.av-original-signature{width:min(100%,380px)}.av-original-signature{max-height:95px}.av-legacy-signature .av-lockup-symbol{height:80px}.av-legacy-signature .av-lockup-ar{font-size:25px}.av-legacy-signature .av-lockup-en{font-size:14px}}
@media(prefers-reduced-motion:reduce){.av-ending-track{height:auto}.av-ending{position:relative;top:0;height:65svh}.av-intro-running .av-brand-image{opacity:1;transform:none}}

/* 2.6 — compact closing panel; fill follows its travel through the viewport. */
.av-ending-track{height:clamp(300px,36vw,480px)}
.av-ending{position:relative;top:0;height:100%;min-height:0}
.av-end-pair{left:3%;width:94%;gap:4%;height:64%;top:58%}
.av-legacy-signature{width:48%;gap:12px;justify-content:center}
.av-legacy-signature .av-lockup-names{width:auto;flex:0 1 auto;text-align:right}
.av-legacy-signature .av-lockup-symbol{width:34%;height:145px}
.av-legacy-signature .av-lockup-ar{font-size:clamp(25px,2.9vw,43px)}
.av-legacy-signature .av-lockup-en{font-size:clamp(14px,1.65vw,24px)}
.av-original-signature{width:48%;max-height:160px}
@media(max-width:760px){.av-ending-track{height:340px}.av-ending{top:0;height:100%;min-height:0}.av-end-pair{left:5%;width:90%;top:55%;height:77%;gap:22px}.av-legacy-signature,.av-original-signature{width:min(100%,410px)}.av-original-signature{max-height:100px}.av-legacy-signature .av-lockup-symbol{height:85px}.av-legacy-signature .av-lockup-ar{font-size:25px}.av-legacy-signature .av-lockup-en{font-size:14px}}
@media(prefers-reduced-motion:reduce){.av-ending-track{height:clamp(340px,36vw,480px)}.av-ending{height:100%}}

/* 2.7 — aligned square silhouette, seam drawing and delayed accelerating fill. */
@keyframes av-original-new{0%,85%{opacity:0;transform:scale(1)}91%,100%{opacity:1;transform:scale(1)}}
.av-end-pair{left:2%;width:96%;gap:3%}
.av-original-signature{width:48.5%;max-height:175px}
.av-legacy-signature{width:48.5%;gap:10px}
.av-legacy-signature .av-lockup-symbol{width:35%;height:160px}
.av-legacy-signature .av-lockup-ar{font-size:clamp(26px,3vw,45px)}
.av-legacy-signature .av-lockup-en{font-size:clamp(14px,1.7vw,25px)}
@media(max-width:760px){.av-end-pair{left:4%;width:92%;gap:24px}.av-original-signature,.av-legacy-signature{width:min(100%,420px)}.av-original-signature{max-height:105px}.av-legacy-signature .av-lockup-symbol{height:90px}.av-legacy-signature .av-lockup-ar{font-size:26px}.av-legacy-signature .av-lockup-en{font-size:14px}}

/* 2.8 — fixed identity order and project-list bilingual titles. */
.av-brand-history,.av-end-pair{direction:ltr}
.av-card-panel h3 .av-project-name-ar,.av-card-panel h3 .av-project-name-en{display:block;text-align:start;line-height:1.5}
.av-card-panel h3 .av-project-name-en{margin-top:.35em}

/* 2.9.2 — original artwork and motions; timing adjustments only. */
@keyframes av-outline-identity{0%,39%{opacity:0;transform:scale(.94)}44%,47%{opacity:.9;transform:scale(1)}54%,100%{opacity:0;transform:scale(1)}}
@keyframes av-original-old{0%,42%{opacity:0;transform:scale(.96);filter:blur(2px)}49%,58%{opacity:1;transform:scale(1);filter:blur(0)}68%,100%{opacity:0;transform:scale(.94);filter:blur(1px)}}
@keyframes av-original-new{0%,86%{opacity:0;transform:scale(1)}92%,100%{opacity:1;transform:scale(1)}}

/* 2.10 — scoped usability updates. */
.av-opening-track{height:115svh}.av-opening-track .av-opening{min-height:0}
.av-ready .masthead{visibility:visible!important}.av-ready:not(.av-revealed) .masthead .menu-toggle{visibility:hidden}.av-ready:not(.av-revealed) .masthead{color:white}
.av-language{position:relative;font-size:14px;direction:ltr}.av-language summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:8px}.av-language summary::-webkit-details-marker{display:none}.av-language svg{width:24px;height:12px}.av-language>a{position:absolute;right:0;top:100%;min-width:130px;padding:15px;background:var(--paper,#f4f4f1);color:var(--av-blue);box-shadow:0 5px 20px #0002;text-align:center}.av-language a:focus-visible,.av-language summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.av-news{background:var(--paper,#f4f4f1);padding:80px 5%;color:var(--av-dark)}.av-news h2{margin:20px 0 40px}.av-news-item{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center}.av-news-item img{width:100%;max-height:430px;object-fit:cover}.av-news-item:not(:has(img)){grid-template-columns:1fr}.av-news-item h3{font-size:clamp(25px,3vw,42px);font-weight:400}.av-news-item p{white-space:pre-line;line-height:1.6}.av-news-controls{display:flex;gap:25px;align-items:center;justify-content:flex-end;margin-top:30px}.av-news-controls button{background:transparent;border:1px solid currentColor;color:inherit;font-size:25px;width:50px;height:50px;cursor:pointer}.av-news-controls button:hover{background:var(--av-blue);color:white}
@media(max-width:760px){.av-opening-track{height:110svh}.av-news-item{grid-template-columns:1fr;gap:22px}.av-news{padding:50px 5%}}

.av-news-item[hidden],.av-news-controls[hidden]{display:none!important}

/* Clear sequential legacy hand-off; no new geometry. */
@keyframes av-outline-identity{0%,38.4%{opacity:0;transform:scale(.96)}42%,45%{opacity:.9;transform:scale(1)}49%,100%{opacity:0;transform:scale(1)}}
@keyframes av-original-old{0%,40%{opacity:0;transform:scale(.96);filter:blur(1px)}46%,55%{opacity:1;transform:scale(1);filter:blur(0)}60%,100%{opacity:0;transform:scale(.96);filter:blur(0)}}
.av-language-restored .av-logo-morph{display:none!important}.av-language-restored .av-brand,.av-language-restored .av-brand-image{animation:none!important;transition:none!important}
html[dir=rtl] .av-ready .av-opening-summary,html[dir=rtl] .av-ready .av-film-copy,html[dir=rtl] .av-ready .av-service-intro,html[dir=rtl] .av-ready .about p,html[dir=rtl] .av-ready .service p,html[dir=rtl] .av-ready .project-body,html[dir=rtl] .av-ready .av-card-panel p,html[dir=rtl] .av-ready .av-contact-note p{font-size:20px!important;line-height:1.9!important}
html[dir=rtl] .av-ready .eyebrow,html[dir=rtl] .av-ready .av-type-filter button,html[dir=rtl] .av-ready .av-card-more,html[dir=rtl] .av-ready .av-opening-links,html[dir=rtl] .av-ready .av-footer-nav a{font-size:17px!important;letter-spacing:0!important}
html[dir=rtl] .av-ready .av-project-name-ar{font-size:clamp(24px,3vw,34px)!important;line-height:1.65}

/* Arabic readability: labels and controls must not inherit the 11px Latin captions. */
html[dir=rtl] .av-ready .av-label{font-size:22px!important;line-height:1.7!important;letter-spacing:0!important;font-weight:500}
html[dir=rtl] .av-ready .eyebrow,html[dir=rtl] .av-ready .av-type-filters button,html[dir=rtl] .av-ready .av-card-more,html[dir=rtl] .av-ready .av-history-logo figcaption,html[dir=rtl] .av-ready .av-email,html[dir=rtl] .av-ready .av-contact-button{font-size:18px!important;line-height:1.6!important;letter-spacing:0!important}
html[dir=rtl] .av-ready .av-news p,html[dir=rtl] .av-ready .av-invitation p{font-size:20px!important;line-height:1.8!important}
html[dir=rtl] .av-ready .av-language,html[dir=rtl] .av-ready .av-motion,html[dir=rtl] .av-ready .av-cycle,html[dir=rtl] .av-ready footer{font-size:16px!important;letter-spacing:0!important}
@media(max-width:760px){html[dir=rtl] .av-ready .av-label{font-size:20px!important}html[dir=rtl] .av-ready .av-type-filters button{font-size:17px!important}}
/* 2.12 fixes: let slideshow controls wrap on phones (they made every page wider than the screen),
   show the full-colour logo on light pages, and keep the header below the admin bar. */
.av-showcase-controls{flex-wrap:wrap;max-width:100%}
@media(max-width:760px){.av-showcase-controls{gap:8px}.av-showcase-controls button{padding:8px 12px}.av-cycle{flex-basis:100%;margin-inline-start:0}}
.av-ready:not(.av-has-opening):not(.av-dark) .masthead .logo{filter:none}
.admin-bar.av-ready .masthead{top:32px}
@media(max-width:782px){.admin-bar.av-ready .masthead{top:46px}}
