:root{--sand:#E8E1CC;--paper:#F6F3EE;--teal:#0D7CA3;--teal2:#0A6284;--tealink:#0F4A61;--cyan:#00C8FF;--coral:#E07A72;--corald:#B4483F;--ink:#14191B;--black:#0B0B0A;--char:#161615;--grey:#3E3E3A;--stone:#5C5A55;--sandt:#C4B8A8;--ease:cubic-bezier(.16,1,.3,1);--disp:'Alexandria',sans-serif;--body:'IBM Plex Sans Arabic',sans-serif;--quote:'Amiri',serif;--lh:1.3}
html[lang=en],html[lang=fr]{--disp:'Bodoni Moda',serif;--body:'Inter',sans-serif;--quote:'Cormorant Garamond',serif;--lh:1.08}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--black);color:var(--sandt);font-family:var(--body);font-size:18px;line-height:1.7;overflow-x:clip}
html[lang=en] body,html[lang=fr] body{font-size:17px;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
h1,h2,h3,p,figure,blockquote,dl,dd,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
.skip{position:fixed;top:-60px;left:8px;z-index:200;background:var(--sand);color:var(--ink);padding:10px 16px;border-radius:4px}
.skip:focus{top:8px}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.narrow{max-width:860px}
.kick{align-self:flex-start;font-family:'Inter',sans-serif;font-weight:500;font-size:12px;letter-spacing:.18em;text-transform:uppercase;direction:ltr;unicode-bidi:isolate;display:inline-block;color:var(--coral)}
.light .kick,.paper .kick{color:var(--stone)}
.disp{font-family:var(--disp);line-height:var(--lh);color:var(--paper);font-weight:700}
.light .disp,.paper .disp{color:var(--ink)}
.h1{font-size:clamp(38px,6vw,88px)}
html[lang=ar] .h1{font-weight:800;font-size:clamp(34px,5.4vw,78px)}
.h2{font-size:clamp(30px,4.4vw,62px)}
html[lang=ar] .h2{font-size:clamp(27px,3.8vw,52px)}
.h3{font-size:clamp(22px,2.4vw,30px);font-weight:600}
.lead{font-size:clamp(19px,1.7vw,23px);max-width:34em}
.mono{font-family:'IBM Plex Mono',monospace;direction:ltr;unicode-bidi:isolate}
.num{font-family:'Bodoni Moda',serif;font-style:italic;line-height:1;color:var(--coral);direction:ltr;unicode-bidi:isolate}
.ar{font-family:'Alexandria',sans-serif}
.muted{color:var(--stone)}
section.pad{padding:120px 0}
.light{background:var(--sand);color:var(--ink)}
.paper{background:var(--paper);color:var(--ink)}
.dark2{background:var(--char)}
.ul{background-image:linear-gradient(var(--coral),var(--coral));background-repeat:no-repeat;background-position:0 100%;background-size:0 2px;transition:background-size .32s var(--ease);padding:8px 0;font-weight:500}
[dir=rtl] .ul{background-position:100% 100%}
.ul:hover{background-size:100% 2px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:4px;font-weight:500;font-size:17px;border:1px solid transparent;transition:transform .16s ease-out,background-color .16s ease-out;background:none}
.btn:hover{transform:translateY(-2px)}
.btn.fill{background:var(--teal);color:#fff}.btn.fill:hover{background:var(--teal2)}
.btn.line{border-color:var(--sandt);color:var(--paper)}
.btn.ink{border-color:var(--ink);color:var(--ink)}
.row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.tag{font-size:12px;border:1px solid currentColor;border-radius:99px;padding:2px 10px;opacity:.85;white-space:nowrap}

/* motion primitives */
.progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--coral);transform-origin:0 50%;transform:scaleX(0);z-index:120}
[dir=rtl] .progress{transform-origin:100% 50%}
.wipe{position:fixed;inset:0;background:var(--sand);z-index:110;transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
[dir=rtl] .wipe{transform-origin:100% 50%}
.wipe.in{transform:scaleX(1);transition:transform .32s var(--ease)}
.wipe.out{transform:scaleX(0);transform-origin:100% 50%;transition:transform .42s var(--ease)}
[dir=rtl] .wipe.out{transform-origin:0 50%}
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0)*70ms)}
.rv.in{opacity:1;transform:none}
.clip>*{clip-path:inset(0 0 100% 0);transition:clip-path 1.1s var(--ease)}
.clip.in>*{clip-path:inset(0)}
.rule{height:1px;background:var(--coral);transform:scaleX(0);transform-origin:0 50%;transition:transform 1.2s var(--ease)}
[dir=rtl] .rule{transform-origin:100% 50%}
.rule.in{transform:scaleX(1)}
.words .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.14em}
.words .w>span{display:inline-block;transform:translateY(115%);transition:transform .9s var(--ease);transition-delay:calc(var(--i)*60ms)}
.words.in .w>span{transform:none}
.zoom{overflow:hidden}
.zoom img{transition:transform 6s linear}
.zoom:hover img{transform:scale(1.1)}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.14) translate(-1.5%,-1%)}}
@keyframes flick{0%,100%{opacity:.96}8%{opacity:.9}11%{opacity:1}48%{opacity:.92}52%{opacity:1}}
@keyframes reel{to{transform:translateX(-50%)}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes assemble{from{opacity:0;transform:scale(1.25);filter:blur(14px)}to{opacity:1;transform:none;filter:drop-shadow(0 0 28px rgba(0,200,255,.35))}}
@keyframes glow{to{filter:drop-shadow(0 0 44px rgba(0,200,255,.7))}}
@keyframes beam{60%{transform:scaleX(1);opacity:.5}to{transform:scaleX(1);opacity:0}}
@keyframes curtain{to{transform:translateY(-100%);visibility:hidden}}
@keyframes pulse{50%{box-shadow:0 0 0 14px rgba(224,122,114,0)}}

/* intro */
.intro{position:fixed;inset:0;z-index:150;background:var(--black);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;animation:curtain .64s var(--ease) 2.4s forwards}
.intro[hidden]{display:none}
.intro .gz{width:min(38vw,200px)}
.intro .beam{position:absolute;top:50%;left:0;right:0;height:1px;background:var(--cyan);transform:scaleX(0);animation:beam 1.1s var(--ease) .2s forwards}
.intro .wm{animation:fade .6s ease-out 1.4s both;text-align:center}
.intro .wm b{display:block;font-family:'Alexandria',sans-serif;font-weight:600;font-size:22px;color:var(--paper)}
.intro .wm .kick{color:var(--sandt);font-size:11px}
.intro button{position:absolute;bottom:28px;inset-inline-end:28px;min-height:44px;padding:0 18px;background:none;border:1px solid var(--grey);border-radius:4px;color:var(--sandt);font-size:15px}

/* header and menu */
header.top{position:sticky;top:0;z-index:100;background:var(--black);border-bottom:1px solid #1B1B18}
header.top .bar{display:flex;align-items:center;gap:20px;padding:10px 24px;max-width:1280px;margin:0 auto;transition:padding .32s var(--ease)}
header.top.small .bar{padding-top:2px;padding-bottom:2px}
.brand{display:flex;align-items:center;gap:12px;min-height:48px}
.brand .gz{height:42px;width:auto;transition:height .32s var(--ease)}
.small .brand .gz{height:32px}

.brand b{font-family:'Alexandria',sans-serif;font-weight:600;font-size:15px;color:var(--paper);display:block;line-height:1.4}
.brand .kick{font-size:9px;color:var(--sandt)}
nav.main{display:flex;gap:24px;font-size:15px;flex:1;justify-content:center}
nav.main a[aria-current]{color:var(--paper);background-size:100% 2px}
.langs{display:flex;gap:2px;direction:ltr}
.langs a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-bottom:2px solid transparent;font:500 13px 'Inter',sans-serif}
.langs a[lang=ar]{font-family:'IBM Plex Sans Arabic',sans-serif}
.langs a.on{color:var(--paper);border-bottom-color:var(--coral)}
.burger{min-width:48px;min-height:48px;background:none;border:1px solid var(--grey);border-radius:4px;color:var(--paper);display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 14px;font-size:14px}
.burger i{display:block;width:18px;height:8px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.menu{position:fixed;inset:0;z-index:105;background:var(--black);overflow:auto;padding:96px 0 40px;animation:fade .32s ease-out}
.menu[hidden]{display:none}
.menu .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px 56px}
.menu h2{font:500 12px 'Inter',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--coral);margin-bottom:14px;direction:ltr;unicode-bidi:isolate;display:inline-block}
.menu li a{display:block;font-family:var(--disp);font-weight:700;font-size:clamp(24px,3.2vw,38px);line-height:1.5;color:var(--paper);opacity:0;transform:translateY(18px);animation:menuin .6s var(--ease) forwards;animation-delay:calc(var(--i)*40ms + 80ms);transition:color .16s,padding .32s var(--ease)}
.menu li a:hover{color:var(--cyan);padding-inline-start:14px}
@keyframes menuin{to{opacity:1;transform:none}}

/* hero */
.hero{position:relative;min-height:calc(100svh - 70px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;isolation:isolate}
.hero.short{min-height:min(72svh,640px)}
.hero .bg{position:absolute;inset:-6% 0;z-index:-2}
.hero .bg img{width:100%;height:100%;object-fit:cover;animation:kb 26s ease-in-out infinite alternate}
.hero .bg::after{content:"";position:absolute;inset:0;background:radial-gradient(circle 44vmax at var(--mx,68%) var(--my,34%),rgba(11,11,10,.22),rgba(11,11,10,.84) 72%);animation:flick 5s linear infinite}
.hero.short .bg::after{animation:none;opacity:.94}
.hero .hin{display:flex;flex-wrap:wrap;gap:36px 64px;align-items:flex-end;padding-top:110px;padding-bottom:64px;width:100%}
.hero .col{flex:999 1 540px;min-width:0;display:flex;flex-direction:column;gap:24px}
.hero .two{color:var(--coral)}
.hero p{color:var(--sand)}
.ticket{flex:1 1 300px;max-width:400px;background:var(--sand);color:var(--ink);border-radius:4px;padding:0 24px 22px;font-size:16px}
.sprk{height:22px;background-image:radial-gradient(circle,var(--black) 4px,transparent 4.5px);background-size:22px 22px;background-position:center;margin:0 -24px 14px;border-bottom:1px dashed rgba(20,25,27,.4)}
.ticket .kick{color:var(--stone)}
.ticket h3{font-family:var(--disp);font-weight:600;font-size:22px;line-height:1.4;margin:6px 0 8px}
.ticket .foot{border-top:1px dashed rgba(20,25,27,.4);padding-top:12px;margin-top:14px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:15px}
.ticket .foot b{color:var(--teal2)}
.marq{border-top:1px solid var(--grey);border-bottom:1px solid var(--grey);overflow:hidden;direction:ltr;background:var(--black)}
.marq .tr{display:flex;width:max-content;animation:reel 70s linear infinite}
.marq:hover .tr{animation-play-state:paused}
.marq span{padding:15px 28px;font-family:var(--disp);font-size:20px;color:var(--paper);white-space:nowrap;display:flex;gap:28px;align-items:center}
.marq span::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--coral)}

/* steps */
.step{display:flex;flex-wrap:wrap;gap:32px 72px;align-items:center;padding:56px 0;border-top:1px solid var(--grey)}
.step:nth-of-type(even){flex-direction:row-reverse}
.step .ph{flex:1 1 420px;min-width:0;aspect-ratio:16/9;overflow:hidden;border-radius:4px}
.step .ph img{width:100%;height:120%;object-fit:cover}
.step .tx{flex:1 1 360px;min-width:0}
.step .num{font-size:64px}
.step h3{margin:10px 0 12px;font-size:clamp(28px,3.4vw,46px)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border-top:1px solid var(--grey)}
.stats div{padding:28px 20px 8px;border-inline-end:1px solid var(--grey)}
.stats div:last-child{border:0}
.stats b{display:block;font-family:'Bodoni Moda',serif;font-weight:500;font-size:clamp(52px,7vw,96px);line-height:1;color:var(--paper);direction:ltr;unicode-bidi:isolate}

/* reel */
.pinwrap{position:relative}
.pin{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:70px 0 24px}
.reel{display:flex;width:max-content;padding:0 24px;will-change:transform}
.native .pin{position:static;height:auto;overflow:visible;padding:96px 0}
.native .reelbox{overflow-x:auto;scroll-snap-type:x proximity;scrollbar-color:var(--grey) transparent;padding-bottom:16px}
.fr{flex:0 0 min(76vw,300px);width:min(76vw,300px);scroll-snap-align:start;background:var(--char);border-inline-end:1px solid var(--black);padding:26px 18px;position:relative;display:flex;flex-direction:column;gap:12px;transition:background-color .32s}
.dark2 .fr{background:var(--black);border-color:var(--char)}
.fr:hover{background:#1f1f1c}
.fr::before,.fr::after{content:"";position:absolute;left:0;right:0;height:18px;background-image:radial-gradient(circle,var(--black) 3.5px,transparent 4px);background-size:20px 18px}
.dark2 .fr::before,.dark2 .fr::after{background-image:radial-gradient(circle,var(--char) 3.5px,transparent 4px)}
.fr::before{top:2px}.fr::after{bottom:2px}
.fr .hd{display:flex;justify-content:space-between;align-items:center;margin-top:14px}
.fr .hd .mono{font-size:15px;color:var(--coral)}
.fr .pic{aspect-ratio:3/4;overflow:hidden;border-radius:2px;background:var(--black);display:flex;align-items:center;justify-content:center}
.fr .pic img{width:100%;height:100%;object-fit:cover;transition:transform 6s linear}
.fr:hover .pic img{transform:scale(1.12)}
.fr .big{font-family:'Bodoni Moda',serif;font-style:italic;font-size:76px;color:var(--grey);direction:ltr}
.fr h3{font-family:var(--disp);font-weight:600;font-size:21px;line-height:1.35;color:var(--paper)}
.fr .s{font-size:15px;min-height:24px}.fr .b{font-size:14px;margin-bottom:14px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips button{min-height:44px;padding:0 18px;border-radius:99px;border:1px solid var(--grey);background:none;color:var(--sandt);font-weight:500;font-size:15px;transition:background-color .16s,color .16s}
.chips button.on{background:var(--sand);color:var(--ink);border-color:var(--sand)}

/* visit, lists */
.bigword{font-weight:800;font-size:clamp(44px,9vw,132px);margin:8px 0 12px}
.cols{display:flex;flex-wrap:wrap;gap:48px 72px}
.cols>*{flex:1 1 380px;min-width:0}
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.pair figure:nth-child(2){margin-top:56px}
figure img{width:100%;border-radius:4px}
figcaption{font-size:14px;color:var(--stone);padding-top:8px}
.dark figcaption,body>main figcaption.d{color:var(--sandt)}
.rows{border-top:1px solid currentColor}
.rows>div{display:flex;justify-content:space-between;gap:24px;padding:16px 0;border-bottom:1px solid rgba(128,128,128,.35)}
.rows dt{opacity:.7;font-size:15px;flex:none}.rows dd{font-weight:500;text-align:end;min-width:0;overflow-wrap:anywhere}
.cover{perspective:1200px;flex:0 1 400px;min-width:240px;display:block}
.cover img{width:100%;border-radius:2px;transform:rotateY(-14deg) rotateX(3deg);box-shadow:24px 30px 0 rgba(20,25,27,.12);transition:transform .64s var(--ease),box-shadow .64s var(--ease)}
[dir=ltr] .cover img{transform:rotateY(14deg) rotateX(3deg);box-shadow:-24px 30px 0 rgba(20,25,27,.12)}
.cover:hover img{transform:none;box-shadow:0 0 0 rgba(20,25,27,0)}
.quote{font-family:var(--quote);font-style:italic;font-size:clamp(24px,3.2vw,44px);line-height:1.6;color:var(--paper)}
.light .quote,.paper .quote{color:var(--ink)}
.pil{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 32px;align-items:baseline;padding:30px 0;border-top:1px solid var(--grey);transition:padding .32s var(--ease)}
.pil .num{font-size:28px}
.pil h3{font-family:var(--disp);font-weight:700;font-size:clamp(26px,4.6vw,60px);line-height:1.25;color:var(--paper);transition:color .32s,text-shadow .32s}
.pil p{grid-column:2;max-width:38em}
.pil:hover h3{color:var(--cyan);text-shadow:0 0 28px rgba(0,200,255,.25)}
@media (hover:hover){.pil p{max-height:0;opacity:0;overflow:hidden;transition:max-height .64s var(--ease),opacity .32s}.pil:hover p,.pil:focus-visible p{max-height:120px;opacity:1}.pil:hover{padding-inline-start:20px}}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.card{border:1px solid var(--grey);border-radius:4px;padding:26px;display:flex;flex-direction:column;gap:10px;transition:transform .32s var(--ease),border-color .32s}
.light .card,.paper .card{border-color:rgba(20,25,27,.22);background:var(--paper)}
a.card:hover{transform:translateY(-4px);border-color:var(--coral)}
.card h3{font-family:var(--disp);font-weight:600;font-size:22px;line-height:1.35;color:var(--paper)}
.light .card h3,.paper .card h3{color:var(--ink)}
.prose p{margin-bottom:1.1em;max-width:40em}
.prose p:first-child{font-size:1.18em}
.empty{border:1px dashed rgba(128,128,128,.6);border-radius:4px;padding:28px}
.cal{border-top:1px solid var(--grey)}
.cal a{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:8px 24px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--grey);transition:padding .32s var(--ease),color .16s}
.cal a:hover{padding-inline-start:16px;color:var(--paper)}
.cal .mono{color:var(--coral)}
.cal b{font-family:var(--disp);font-weight:600;font-size:22px;color:var(--paper);display:block;line-height:1.4}
.month{font-family:'Bodoni Moda',serif;font-style:italic;font-size:44px;color:var(--grey);margin:56px 0 12px;direction:ltr;unicode-bidi:isolate;display:block}
.toc li a{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:6px 20px;align-items:baseline;padding:20px 0;border-bottom:1px solid rgba(20,25,27,.22);transition:padding .32s var(--ease)}
.toc li a:hover{padding-inline-start:16px}
.toc b{font-family:var(--disp);font-weight:600;font-size:clamp(20px,2.2vw,28px);line-height:1.35;display:block}
.toc .mono{color:var(--corald);font-size:14px}
.band{background:var(--tealink);color:var(--paper)}
.box{display:flex;gap:20px;align-items:flex-start;border-top:1px solid rgba(128,128,128,.4);padding-top:24px}
.box img{width:96px;height:96px;object-fit:cover;border-radius:4px;flex:none}
.poster{width:min(100%,280px);border-radius:2px;border:6px solid var(--paper);box-shadow:0 0 0 1px rgba(20,25,27,.2)}
.partners{width:min(100%,620px)}

/* reader */
.reader{background:var(--black);min-height:calc(100svh - 60px);display:flex;flex-direction:column}
.rbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;padding:10px 24px;border-bottom:1px solid var(--grey);position:sticky;top:52px;background:var(--black);z-index:20}
.rbar .num{font-size:22px}
.rprog{height:2px;background:var(--grey)}.rprog i{display:block;height:100%;background:var(--coral);transition:width .32s var(--ease)}
.stage{flex:1;display:flex;align-items:center;justify-content:center;gap:0;padding:20px 12px;position:relative;direction:rtl;min-height:60svh}
.stage img{max-height:calc(100svh - 250px);width:auto;max-width:50%;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:pagein .5s var(--ease)}
.stage.single img{max-width:100%}
@keyframes pagein{from{opacity:0;transform:perspective(1400px) rotateY(-10deg) translateX(-24px)}to{opacity:1;transform:none}}
.navb{min-width:48px;min-height:48px;border-radius:50%;border:1px solid var(--grey);background:var(--black);color:var(--paper);font-size:20px;position:absolute;top:50%;transform:translateY(-50%);z-index:5}
.navb.prev{right:12px}.navb.next{left:12px}
.navb:disabled{opacity:.3}
.thumbs{display:flex;gap:8px;overflow-x:auto;padding:12px 24px 20px;direction:rtl;scrollbar-color:var(--grey) transparent}
.thumbs button{flex:none;padding:0;border:2px solid transparent;background:none;border-radius:2px;opacity:.55;transition:opacity .16s}
.thumbs button.on{border-color:var(--coral);opacity:1}
.thumbs img{height:84px;width:auto}

/* archive, map, forms */
.search{display:flex;gap:10px;max-width:640px}
.search input,.form input,.form textarea,.form select{flex:1;min-height:52px;border-radius:4px;border:1px solid var(--grey);background:var(--char);color:var(--paper);padding:10px 16px;font:inherit;width:100%}
.light .form input,.light .form textarea{background:#fff;color:var(--ink);border-color:rgba(20,25,27,.45)}
.form{display:flex;flex-direction:column;gap:16px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:500}
.tile{aspect-ratio:4/3;border:1px solid var(--grey);border-radius:4px;padding:20px;display:flex;flex-direction:column;justify-content:space-between;background:var(--char);transition:border-color .32s,transform .32s var(--ease)}
.tile:hover{border-color:var(--cyan);transform:translateY(-4px)}
.tile b{font-family:var(--disp);font-weight:600;font-size:21px;color:var(--paper);line-height:1.35}
.mapbox{position:relative;height:clamp(360px,48vw,620px);border:1px solid rgba(20,25,27,.3);border-radius:4px;background-color:var(--paper);background-image:radial-gradient(rgba(20,25,27,.28) 1px,transparent 1.2px);background-size:22px 22px;overflow:hidden}
.pinb{position:absolute;top:38%;left:calc(50% - 11px);width:22px;height:22px;border-radius:50%;background:var(--coral);border:3px solid var(--ink);padding:0;animation:pulse 2.4s infinite;box-shadow:0 0 0 0 rgba(224,122,114,.7)}
.pincard{position:absolute;top:calc(38% + 34px);left:50%;transform:translateX(-50%);width:max-content;max-width:min(300px,84%);text-align:center;background:var(--ink);color:var(--paper);padding:14px 18px;border-radius:4px;font-size:15px}
.sea{position:absolute;top:0;left:0;right:0;height:22%;background:var(--sand);border-bottom:1px solid rgba(20,25,27,.3);display:flex;align-items:center;padding:0 20px}

/* footer */
footer.ft{background:var(--teal2);color:#fff}
.ft .pa{background:var(--paper);color:var(--ink);padding:40px 0}
.ft .pa .wrap{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px 64px}
.ft .main{padding:72px 0 32px;display:flex;flex-direction:column;gap:44px}
.ft .gr{display:flex;flex-wrap:wrap;gap:40px 64px}
.ft .gr>div{flex:1 1 180px;display:flex;flex-direction:column;gap:8px;font-size:16px}
.ft .gr>div:first-child{flex:2 1 320px}
.ft .name{font-family:var(--disp);font-weight:600;font-size:24px}
.ft .end{border-top:1px solid rgba(255,255,255,.4);padding-top:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:14px}
.ft .kick{color:#fff;letter-spacing:.3em}

@media (max-width:900px){nav.main{display:none}.brand .t{display:none}.bar{justify-content:space-between}section.pad{padding:72px 0}.step{padding:36px 0}.pil{grid-template-columns:1fr}.pil p{grid-column:1}.hero .hin{padding-top:72px;padding-bottom:40px}.cal a{grid-template-columns:76px minmax(0,1fr)}.cal a .tag{grid-column:2;justify-self:start}.stats div{border-inline-end:0;border-bottom:1px solid var(--grey)}.pair figure:nth-child(2){margin-top:28px}.rbar{top:48px}.burger span{display:none}.stage img{max-height:calc(100svh - 270px)}.navb{top:auto;bottom:4px;transform:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.rv,.clip>*,.rule,.words .w>span{opacity:1;transform:none;clip-path:none}.intro{animation:curtain .01s linear .6s forwards!important}.hero .bg::after{opacity:.55}}
.gridfr{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.gridfr .fr{width:auto}
html[lang=en] .disp,html[lang=fr] .disp{letter-spacing:-.012em}
.hero .bg::before{content:"";position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(transparent,rgba(11,11,10,.85));z-index:1}
.hero .ticket p{color:var(--ink)}

/* vector gazelle */
.gz{display:block;overflow:visible}
.gz path{fill:currentColor}
.gz.neon{color:#19B5FF;filter:drop-shadow(0 0 10px rgba(0,200,255,.55))}
.gz.live{animation:gzglow 3.6s ease-in-out infinite}
.gz.live path:nth-child(6),.gz.live path:nth-child(7){animation:gzstrip 2.4s ease-in-out infinite}
.gz.draw path,.brand:hover .gz path,.rv.in .gz.onin path{fill-opacity:0;stroke:currentColor;stroke-width:1.1;stroke-dasharray:1;stroke-dashoffset:1;animation:gzdraw 1.1s var(--ease) forwards,gzfill .6s ease-out forwards;animation-delay:calc(var(--i)*110ms),calc(var(--i)*110ms + .65s)}
.brand:hover .gz path{animation-duration:.7s,.4s;animation-delay:calc(var(--i)*50ms),calc(var(--i)*50ms + .4s)}
@keyframes gzdraw{to{stroke-dashoffset:0}}
@keyframes gzfill{to{fill-opacity:1;stroke-width:0}}
@keyframes gzglow{50%{filter:drop-shadow(0 0 20px rgba(0,200,255,.95))}}
@keyframes gzstrip{50%{color:#9BE4FF}}
.gz.live path:nth-child(6),.gz.live path:nth-child(7){fill:currentColor}
.ftlogo{width:56px;color:#fff}
.inklogo{width:190px;color:var(--tealink)}
/* show layer */
body::after{content:"";position:fixed;inset:-50%;z-index:90;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-2%,3%)}80%{transform:translate(4%,1%)}100%{transform:translate(0,0)}}
.cue{position:absolute;bottom:74px;left:50%;width:1px;height:54px;background:rgba(246,243,238,.35);overflow:hidden}
.cue::after{content:"";position:absolute;inset:0;background:var(--coral);animation:cue 2.2s var(--ease) infinite}
@keyframes cue{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
.scenes{position:fixed;top:50%;inset-inline-end:14px;transform:translateY(-50%);z-index:60;display:flex;flex-direction:column;gap:2px;mix-blend-mode:difference;color:#fff}
.scenes a{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:34px;font-size:13px;opacity:.5;transition:opacity .32s}
.scenes a span{opacity:0;transform:translateX(8px);transition:opacity .32s,transform .32s var(--ease);white-space:nowrap}
[dir=rtl] .scenes a span{transform:translateX(-8px)}
.scenes a i{font:italic 500 13px 'Bodoni Moda',serif;display:flex;align-items:center;gap:8px;direction:ltr}
.scenes a i::after{content:"";width:14px;height:1px;background:currentColor;transition:width .32s var(--ease)}
[dir=rtl] .scenes a i{flex-direction:row-reverse}
.scenes a:hover,.scenes a.on{opacity:1}
.scenes a:hover span,.scenes a.on span{opacity:1;transform:none}
.scenes a.on i::after{width:34px}
.next{display:block;background:var(--black);border-top:1px solid var(--grey);padding:88px 0 96px;transition:background-color .64s var(--ease)}
.next .wrap{display:block}
.next .kick{display:block;margin-bottom:6px}
.next .bigword{display:block;transition:color .32s,transform .64s var(--ease)}
.next .rule{display:block;margin-top:18px}
.next:hover{background:var(--char)}
.next:hover .bigword{color:var(--cyan);transform:translateX(18px)}
[dir=rtl] .next:hover .bigword{transform:translateX(-18px)}
@media (max-width:1180px){.scenes{display:none}}
@media (max-width:900px){.cue{display:none}.next{padding:56px 0 64px}}
@media (prefers-reduced-motion:reduce){.gz path{fill-opacity:1!important;stroke-width:0!important}body::after{display:none}}

/* partner logos */
.plogos{display:flex;flex-wrap:wrap;align-items:center;gap:26px 54px;margin-top:14px}
.plogos img{width:auto;opacity:.82;transition:opacity .32s,transform .32s var(--ease)}
.plogos li:hover img{opacity:1;transform:translateY(-3px)}
.host{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.host img{width:auto}
/* show extras */
.wipe{display:flex;align-items:center;justify-content:center}
.wlogo{width:84px;color:var(--tealink);opacity:.9}
.reelprog{height:2px;background:var(--grey);margin-top:18px}
.reelprog i{display:block;height:100%;background:var(--coral);width:calc(var(--p,0)*100%)}
.native .reelprog{display:none}
.fr{transition:background-color .32s,transform .32s var(--ease);transform-style:preserve-3d}
.cur{position:fixed;top:0;left:0;z-index:140;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--coral);pointer-events:none;mix-blend-mode:difference;transition:width .32s var(--ease),height .32s var(--ease),margin .32s var(--ease),background-color .32s}
.cur.big{width:54px;height:54px;margin:-27px 0 0 -27px;background:#fff}
figure.zoom img,img.poster,.step .ph img{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:130;background:rgba(11,11,10,.94);display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .32s ease-out;cursor:zoom-out}
.lb[hidden]{display:none}
.lb img{max-width:100%;max-height:100%;border-radius:2px;animation:lbin .5s var(--ease)}
.lb button{position:absolute;top:16px;inset-inline-end:16px;width:48px;height:48px;border-radius:50%;border:1px solid var(--grey);background:var(--black);color:var(--paper);font-size:24px;line-height:1}
@keyframes lbin{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.totop{position:fixed;bottom:20px;inset-inline-start:20px;z-index:70;width:52px;height:52px;border-radius:50%;border:1px solid var(--grey);background:var(--black);color:#19B5FF;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .32s,transform .32s var(--ease),box-shadow .32s}
.totop .gz{width:24px}
.totop.on{opacity:1;transform:none;pointer-events:auto}
.totop:hover{box-shadow:0 0 24px rgba(0,200,255,.45)}
@media (max-width:900px){.totop{bottom:14px;inset-inline-start:14px;width:46px;height:46px}}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ft .pa .kick{color:var(--stone);letter-spacing:.18em}

/* collage hero: a pinned act, the layers assemble, then drift apart as you scroll */
.hero.colh{background:var(--sand);color:var(--ink);min-height:0;height:210svh;display:block;overflow:visible;isolation:isolate}
.hero.colh .act{position:sticky;top:0;height:100svh;min-height:640px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--sand)}
.hero.colh .bg{display:none}
.hero.colh .kick{color:var(--corald)}
.hero.colh .disp{color:var(--ink)}.hero.colh .two{color:var(--corald)}
.hero.colh p{color:var(--ink)}
.hero.colh .ticket{border:1px solid var(--ink);box-shadow:10px 12px 0 rgba(20,25,27,.08);background:var(--paper)}
.hero.colh .sprk{background-image:radial-gradient(circle,var(--sand) 4px,transparent 4.5px)}
.colg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.colbox{position:absolute;top:0;inset-inline-end:-6%;width:max(118%,calc(100% * 1.18));aspect-ratio:2576/1223;max-width:none}
[dir=rtl] .colbox{transform:scaleX(-1)}
@media (min-width:1100px){.colbox{width:max(74%,calc(92svh * 2.1));inset-inline-end:-4%;top:-4%}}
.cl{position:absolute;display:block;opacity:0;transform:translate3d(var(--ox),var(--oy),0) rotate(var(--or)) scale(var(--os));filter:drop-shadow(0 18px 30px rgba(20,25,27,0))}
.cl img{display:block;width:100%;height:auto;will-change:transform;transform-origin:50% 50%}
.colg.in .cl{animation:colin 1.5s var(--ease) both;animation-delay:calc(.12s + var(--i) * .11s)}
@keyframes colin{to{opacity:1;transform:none}}
.colg .cl[data-depth="0.16"],.colg .cl[data-depth="0.12"],.colg .cl[data-depth="0.09"]{filter:drop-shadow(0 22px 34px rgba(20,25,27,.28))}
.colg .grain{position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.16;mix-blend-mode:multiply;animation:grainj .6s steps(3) infinite}
@keyframes grainj{50%{transform:translate(-6px,4px)}}
.hero.colh .hin{position:relative;z-index:1;padding-top:88px;transform:translate3d(0,calc(var(--p,0) * -4vh),0)}
.hero.colh .col{background:linear-gradient(90deg,rgba(232,225,204,.94),rgba(232,225,204,.9) 72%,rgba(232,225,204,0));padding:28px 32px 28px 0;margin-inline-start:-32px;border-radius:4px;max-width:720px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);-webkit-mask-image:linear-gradient(90deg,#000 70%,transparent);mask-image:linear-gradient(90deg,#000 70%,transparent)}
[dir=rtl] .hero.colh .col{background:linear-gradient(270deg,rgba(232,225,204,.94),rgba(232,225,204,.9) 72%,rgba(232,225,204,0));padding:28px 0 28px 32px;-webkit-mask-image:linear-gradient(270deg,#000 70%,transparent);mask-image:linear-gradient(270deg,#000 70%,transparent)}
.hero.colh .ticket{transform:translate3d(0,calc(var(--p,0) * 14vh),0)}
.hero.colh .marq,.hero.colh .cue{position:relative;z-index:1}
.hero.colh .cue{position:absolute;background:rgba(20,25,27,.3);opacity:calc(1 - var(--p,0) * 3)}
.hero.colh .marq{margin-top:auto}
@media (max-width:900px){.hero.colh{height:auto;padding-top:0}.hero.colh .act{position:relative;height:auto;min-height:0;padding-top:0;display:block}.colg{position:sticky;top:0;inset:auto;height:min(62svh,440px);width:100%}.colbox{width:160%;inset-inline-end:-30%;top:0}.hero.colh .hin{position:relative;z-index:1;margin-top:-90px;padding-top:0;transform:none;display:block}.hero.colh .col{background:linear-gradient(rgba(232,225,204,0),rgba(232,225,204,.97) 90px);margin:0;padding:96px 0 0;max-width:none}.hero.colh .col,[dir=rtl] .hero.colh .col{-webkit-mask-image:none;mask-image:none;backdrop-filter:none;-webkit-backdrop-filter:none}.hero.colh .ticket{transform:none;margin-top:28px;max-width:none}.hero.colh .act>.marq{position:relative;z-index:1}.hero.colh .act>.marq{background:var(--black)}}
@media (prefers-reduced-motion:reduce){.colg .cl{animation:none;opacity:1;transform:none}.colg .grain{animation:none}}

/* collage hero: fit the whole opening on one screen in every language */
.hero.colh .h1{font-size:clamp(32px,4.9vw,68px);line-height:1.12}
html[lang=ar] .hero.colh .h1{font-size:clamp(32px,4.6vw,66px);line-height:1.3}
.hero.colh .lead{font-size:clamp(17px,1.4vw,20px);max-width:30em}
.hero.colh .col{gap:16px}
.hero.colh .hin{padding-top:84px;padding-bottom:56px;gap:24px 48px}
.hero.colh .ticket{font-size:15px;max-width:360px}
.hero.colh .ticket h3{font-size:20px}
@media (min-width:901px) and (max-height:820px){.hero.colh .h1{font-size:clamp(30px,4.2vw,56px)}html[lang=ar] .hero.colh .h1{font-size:clamp(30px,4vw,54px)}.hero.colh .hin{padding-top:78px;padding-bottom:44px}.hero.colh .col{gap:12px}.hero.colh .lead{font-size:17px}}
/* short screens: no pin, the act becomes a normal section and the layers follow the page scroll */
@media (min-width:901px) and (max-height:700px){.hero.colh{height:auto}.hero.colh .act{position:relative;height:auto;min-height:calc(100svh - 70px)}}
.hero.colh.nopin{height:auto}.hero.colh.nopin .act{position:relative;height:auto;min-height:calc(100svh - 70px)}
html[lang=fr] .hero.colh .h1{font-size:clamp(30px,4.4vw,60px)}
@media (min-width:901px) and (max-height:820px){html[lang=fr] .hero.colh .h1{font-size:clamp(28px,3.8vw,50px)}}
/* cut-out art drifting through the rest of the site */
.art{position:absolute;z-index:0;pointer-events:none;will-change:transform;filter:drop-shadow(0 20px 30px rgba(11,11,10,.35))}
section:has(>.art){position:relative;overflow:hidden}
section:has(>.art)>.wrap{position:relative;z-index:1}
.a-statue{inset-inline-end:-7%;bottom:-14%;width:clamp(220px,26vw,420px);opacity:.9}
.a-reel{inset-inline-start:-5%;top:-4%;width:clamp(200px,24vw,380px);opacity:.42;mix-blend-mode:multiply}
.a-strip{inset-inline-end:8%;top:-20%;width:clamp(10px,1.2vw,18px);height:140%;object-fit:cover;opacity:.7}
.a-card{inset-inline-end:-3%;top:4%;width:clamp(200px,24vw,400px);opacity:.75;transform:rotate(-8deg)}
.a-hreel{inset-inline-end:-5%;top:-14%;width:clamp(180px,20vw,340px);opacity:.55;z-index:-1;filter:brightness(1.9) contrast(.9) drop-shadow(0 20px 30px rgba(11,11,10,.5))}
.hero.short{isolation:isolate}
@media (max-width:900px){.a-statue{width:40vw;opacity:.5}.a-reel{width:46vw;top:-6%}.a-card{width:46vw;opacity:.4}.a-hreel{width:40vw}}
/* pattern */
#visit{position:relative}
#visit::before{content:"";position:absolute;inset:0;background:url(/assets/pattern.png) center/440px 625px repeat;opacity:.12;pointer-events:none}
#visit>.wrap{position:relative}
.ft .pa{background:var(--paper) url(/assets/pattern.png) center/330px 469px repeat}
.ft .pa .wrap{background:rgba(246,243,238,.9);padding:20px 24px;border-radius:4px}
/* section grid and mega menu */
.secgrid .card.cur{border-color:var(--coral)}
.menu .grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px 36px}
.menu .mg summary{list-style:none;cursor:pointer}
.menu .mg summary::-webkit-details-marker{display:none}
.menu .mg h2{margin-bottom:8px}
.menu .mg h2 a{color:inherit}
.menu li a{font-size:16px;font-family:var(--body);font-weight:400;color:var(--sandt);line-height:1.9;animation-delay:calc(var(--i)*8ms + 60ms)}
.menu li a:hover{color:var(--cyan);padding-inline-start:8px}
.mfoot{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:40px;padding-top:20px;border-top:1px solid var(--grey);color:var(--paper)}
@media (max-width:900px){.menu .grid{display:block}.menu .mg{border-bottom:1px solid var(--grey);padding:10px 0}.menu .mg:not([open]) ul{display:none}.menu .mg h2{margin:0;font-size:13px;display:block}.menu .mg summary{display:flex;justify-content:space-between;align-items:center;min-height:44px}.menu .mg summary::after{content:"+";color:var(--sandt);font-size:20px}.menu .mg[open] summary::after{content:"−"}}
/* short laptop screens: the season reel fits inside the pinned screen */
@media (min-width:900px) and (max-height:820px){.fr{flex-basis:232px;width:232px;padding:16px 14px;gap:8px}.fr h3{font-size:18px;line-height:1.3}.fr .pic{aspect-ratio:3/3.4}.fr p,.fr .sub,.fr .meta{font-size:13px;line-height:1.4}.pin{padding-top:62px;padding-bottom:12px;justify-content:flex-start}.pin .h2{font-size:clamp(22px,2.6vw,32px)}.pin>.wrap:first-child{margin-bottom:14px!important}.chips a,.chips button{padding:6px 12px;font-size:13px}}
@media (min-width:900px) and (max-height:720px){.fr{flex-basis:208px;width:208px}.fr .pic{aspect-ratio:3/3}.fr p{display:none}}
