/* The second chapter uses generated scenery; gallery photographs retain their source pixels. */
html{scroll-padding-bottom:110px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#magic-dust{z-index:6;pointer-events:none}
.site-header{background:linear-gradient(#10151fb8,transparent);gap:30px;padding-block:25px}
.site-header .brand{color:var(--gold)}
.site-header nav{gap:44px;margin-inline-start:auto;font-size:23px}
.site-header .nav-contact{margin:0}
.language-trigger{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #cbaa6b9c;background:#10151f55;color:var(--gold);border-radius:30px;height:45px;padding:0 17px;font-size:12px;letter-spacing:.1em;flex:none}
.language-trigger .icon{width:14px;height:14px}
.hero{min-height:700px;background:#10151f}
.hero-art{object-position:center;width:100%;inset:0;mask-image:none;filter:none;animation:silk-drift 24s ease-in-out infinite alternate}
.hero-portrait{position:absolute;z-index:-1;right:0;top:0;width:78%;height:100%;object-fit:cover;object-position:60% center;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 62%,transparent 100%),linear-gradient(to right,transparent,#000 35%,#000 90%,transparent);mask-composite:intersect}
.light-veil{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 82% 85%,#c98a2c25,transparent 40%),linear-gradient(115deg,transparent 25%,#d8b67609 40%,transparent 65%);background-size:130% 130%;mix-blend-mode:screen;animation:light-breath 14s ease-in-out infinite alternate}
@keyframes light-breath{from{opacity:.4;background-position:0 0}to{opacity:1;background-position:100% 50%}}
.hero-content{width:70%;padding-top:clamp(180px,22svh,255px);padding-bottom:170px}
.hero h1{font-size:clamp(82px,min(8.4vw,12.5svh),132px);line-height:1;letter-spacing:-.045em}
.hero h1 em{line-height:1.04;font-size:1.08em}
.hero-description{font-size:clamp(13px,1.15vw,18px);letter-spacing:.055em;line-height:1.8}
.hero .pill-link{margin-top:28px;border-color:var(--gold);font-size:24px}
.hero .pill-link .icon{color:var(--gold)}
.hero-signature{bottom:90px}
.hero-signature>span:last-child{font-size:11px;letter-spacing:.14em}
.touch-hint{position:absolute;left:var(--gutter);bottom:55px;font-size:11px;letter-spacing:.06em;color:#e3d7c3;display:flex;align-items:center;gap:14px}
.touch-hint:before{content:'';width:36px;height:1px;background:var(--gold)}
.scroll-cue{display:none}
.artist{position:relative;isolation:isolate;overflow:hidden;background:#08131d;color:var(--paper);min-height:750px;padding-top:140px;padding-bottom:140px;grid-template-columns:20% 1fr}
.artist:before{content:'';position:absolute;inset:0;z-index:-1;background:url('assets/night-courtyard.webp') center/cover no-repeat;opacity:.75}
.artist .section-number{color:var(--gold)}
.artist h2{font-size:clamp(58px,6vw,92px)}
.artist-copy{max-width:820px;text-shadow:0 2px 28px #051018}
.artist .text-link{color:var(--gold)}
.artist .profile-note{color:#c3bdaF}
.artist .profile-note a{color:var(--paper)}
.paper{background:var(--ink);color:var(--paper)}
.moments{position:relative;isolation:isolate;padding-top:105px;background:#101923;border-block:1px solid #b69a5a38;overflow:hidden}
.moments:before{content:'';position:absolute;inset:0;z-index:-1;background:url('assets/night-courtyard.webp') 70% center/cover;opacity:.1;animation:light-breath 24s ease-in-out infinite alternate}
.moments .section-number,.moments .text-link,figcaption>span:first-child{color:var(--gold)}
.gallery-end{border-color:#b69a5a4a;color:#cdc9bf}
.moment-image{background:#111e28}
.moment-image:hover{box-shadow:0 0 38px #b4873a24}
.section-heading{grid-template-columns:20% 1fr auto}
.section-heading h2{white-space:normal;font-size:clamp(56px,5.6vw,86px)}
.moment-image{outline:1px solid #ad8f552d;outline-offset:6px}
.moment:nth-child(3n+2){transform-origin:center}
.connect:before,.connect:after{background-image:url('assets/night-courtyard.webp');opacity:.65}
.connect:before{height:270px;background-position:right 30%}
.connect:after{height:200px;background-position:right bottom}
.connect-content{position:relative}
.sensory-controls{position:fixed;right:22px;bottom:20px;display:flex;gap:10px;padding:6px;background:#10151fc9;backdrop-filter:blur(15px);border:1px solid #bb9d6a55;border-radius:40px;z-index:10;box-shadow:0 8px 25px #0003}
.sensory-controls .icon-button{position:relative;color:var(--gold);border:0;width:42px;height:42px}
.sensory-controls [data-enabled=false]{color:#aaa898}
.control-status{position:absolute;width:24px;height:1px;background:currentColor;transform:rotate(-45deg);inset:20px 9px auto auto}
[data-enabled=true] .control-status{display:none}
.journey-nav{display:none}
.language-dialog{margin:auto;width:min(480px,calc(100% - 36px));padding:56px 30px 30px;background:#101923;color:var(--paper);border:1px solid #c6a36873;border-radius:2px;max-height:calc(100svh - 40px);overflow:auto}
.language-dialog::backdrop{background:#050c15d9;backdrop-filter:blur(15px)}
.language-dialog h2{font-size:42px;line-height:1.2;letter-spacing:-.02em;margin-bottom:30px}
.language-close{position:absolute;right:16px;top:14px}
.language-options{display:grid;gap:0}
.language-options button{display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;border-bottom:1px solid #bba27737;padding:16px 8px;font:400 21px var(--serif);text-align:start;background:none;min-height:58px}
.language-options button>span{font:11px var(--sans);letter-spacing:.1em;opacity:.6}
.language-options [lang=ar]{font-family:'Amiri',serif;font-size:26px}
.language-options button:hover,.language-options [aria-pressed=true]{color:var(--gold);background:#d8b6760a}
.effects-off .hero-art,.effects-off .light-veil,.effects-off .moments:before{animation:none}
.effects-off .will-reveal{opacity:1;transform:none;transition:none}
[dir=rtl]{--serif:'Amiri','Cormorant Garamond',serif;--sans:'Noto Sans Arabic','Manrope',sans-serif}
[dir=rtl] .brand,[dir=rtl] .footer-brand>span{font-family:'Cormorant Garamond',serif;direction:ltr}
[dir=rtl] .hero-content{margin-right:auto;margin-left:0;text-align:right}
[dir=rtl] .hero h1{letter-spacing:0;line-height:1.4;font-size:clamp(68px,7vw,105px)}
[dir=rtl] .hero h1 em{font-style:normal;font-size:1em}
[dir=rtl] .hero-description,[dir=rtl] .hero-signature span,[dir=rtl] .section-number,[dir=rtl] .text-link,[dir=rtl] figcaption,[dir=rtl] .connect-content>p{letter-spacing:0}
[dir=rtl] h2{line-height:1.4;letter-spacing:0}
[dir=rtl] .hero-description{margin-top:15px}
[dir=rtl] .hero .pill-link{margin-top:20px}
[dir=rtl] .hero-signature{direction:ltr;text-align:right}
[dir=rtl] .language-close{right:auto;left:16px}
@media(max-width:1100px){
  .site-header nav{gap:26px;font-size:21px}.hero-content{width:75%}.hero h1{font-size:clamp(72px,8.4vw,103px)}.artist{grid-template-columns:1fr;gap:32px;min-height:760px}.artist-copy{max-width:700px}.artist:before{background-position:60% center;opacity:.5}.artist>.section-number{padding-top:0}.section-heading{grid-template-columns:20% 1fr}.connect h2{font-size:clamp(56px,7vw,100px)}
}
@media(max-width:700px){
  body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.site-header{padding-block:23px;gap:15px}.site-header .menu-toggle,.site-header nav{display:none!important}.language-trigger{height:42px;padding-inline:14px}.site-header .brand{width:120px}.brand>span{font-size:39px}
  .hero{height:100svh;min-height:820px;max-height:1100px}.hero-art{width:100%;height:100%;object-position:73% center;mask-image:none;filter:brightness(.65)}
  .hero-portrait{top:6%;right:0;width:100%;height:58%;object-fit:cover;object-position:65% center;mask-image:linear-gradient(to bottom,transparent,#000 16%,#000 48%,transparent 100%),linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);mask-composite:intersect}
  .hero-content{width:100%;padding-top:clamp(350px,44svh,420px);padding-bottom:155px}.hero h1{font-size:clamp(53px,13.6vw,86px);line-height:1.04;letter-spacing:-.04em}.hero h1 em{font-size:1.2em;line-height:1.05}.hero-description{font-size:12px;letter-spacing:.01em;margin-top:22px;max-width:90%}.hero .pill-link{font-size:23px;padding:15px 23px;gap:18px;margin-top:22px}
  .hero-signature{display:none}.touch-hint{left:var(--gutter);bottom:109px;font-size:9px;letter-spacing:0;max-width:220px;line-height:1.7;gap:10px}.touch-hint:before{width:24px;flex:none}
  .artist{padding-block:75px 90px;min-height:680px;display:block}.artist>.section-number{margin-bottom:38px}.artist-copy{max-width:100%}.artist h2{font-size:clamp(48px,11vw,70px);line-height:1.05}.artist:before{opacity:.38;background-position:67% center}.artist-copy>p:not(.profile-note){font-size:14px;max-width:95%}.artist .profile-note{margin-top:30px}.moments{padding-top:65px}
  .section-heading{grid-template-columns:1fr}.section-heading h2{font-size:clamp(48px,11vw,64px)}.gallery{row-gap:42px}.moment-image{outline-offset:4px}.image-action span{display:none}
  .sensory-controls{right:16px;bottom:calc(91px + env(safe-area-inset-bottom));padding:3px;gap:2px;background:#10151faa}.sensory-controls .icon-button{width:41px;height:41px}.sensory-controls .icon{width:19px;height:19px}.control-status{inset:20px 9px auto auto}
  .journey-nav{position:fixed;z-index:10;display:grid;grid-template-columns:repeat(5,1fr);inset:auto 0 0;min-height:74px;padding:10px 8px calc(9px + env(safe-area-inset-bottom));background:#0b111aee;backdrop-filter:blur(20px);border-top:1px solid #a08c6266;border-radius:19px 19px 0 0;overflow:hidden;box-shadow:0 -8px 30px #0002}
  .journey-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#c0bfb8;font-size:10px;line-height:1.5;min-height:48px;text-align:center}.journey-nav a[aria-current]{color:var(--gold)}.journey-nav .icon{width:21px;height:21px;stroke-width:1.3}.journey-progress{position:absolute;top:0;left:0;height:2px;background:var(--gold);box-shadow:0 0 10px #d8b67666;width:0}
  [dir=rtl] .journey-progress{left:auto;right:0}
  .connect h2{font-size:clamp(43px,9.6vw,65px);line-height:1.15}.connect .pill-link{font-size:22px}.site-footer{padding-bottom:130px}.footer-handle{direction:ltr;text-align:start}
  [dir=rtl] .hero h1{font-size:clamp(49px,13vw,78px);line-height:1.35}[dir=rtl] .hero h1 em{line-height:1.35}[dir=rtl] .hero-content{padding-top:350px}[dir=rtl] .hero-description{font-size:12px;margin-top:10px;line-height:1.8}[dir=rtl] .hero .pill-link{font-size:22px;margin-top:18px}
  [dir=rtl] .artist h2{font-size:48px;line-height:1.6}[dir=rtl] .connect h2{font-size:43px;line-height:1.6}[dir=rtl] .section-heading h2{line-height:1.6}[dir=rtl] .text-link{line-height:2}
}
@media(max-width:360px){.hero h1{font-size:47px}.hero-description{font-size:11px}.hero .pill-link{font-size:21px}.touch-hint{max-width:175px;font-size:8px}.artist h2{font-size:43px}.section-heading h2{font-size:45px}.connect h2{font-size:38px}.profile-note{display:flex;flex-wrap:wrap;gap:10px}}
@media(prefers-reduced-motion:reduce){.hero-art{animation:none}.touch-hint{visibility:hidden}}
.site-header .game-link{display:flex;align-items:center;gap:8px;color:var(--gold)}
.site-header .game-link .icon{width:17px;height:17px}
.journey-nav .game-link{color:var(--gold)}
@media(min-width:701px) and (max-width:950px){.site-header{gap:12px}.site-header .brand{width:110px}.site-header .brand>span{font-size:40px}.site-header .brand>small{font-size:6px}.site-header nav{font-size:17px;gap:14px}.language-trigger{padding-inline:11px;gap:5px}.site-header .game-link{gap:4px}.site-header .game-link .icon{width:14px;height:14px}}
.hero-content{text-shadow:0 2px 25px #070e18cc}
.reel-video{width:100%;height:auto;object-fit:contain;background:#08131d}
.moment-source{display:inline-block;margin-top:9px;font-size:10px;line-height:1.8;color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.photo-toggle{width:100%;border:0;padding:0;text-align:start;scroll-margin-block:24px 110px}
.photo-toggle .photo-close-icon{display:none}
.gallery .moment.is-expanded{grid-column:1/-1;padding-top:0}
.gallery .moment.is-expanded .photo-toggle{height:min(75svh,760px);aspect-ratio:auto}
.gallery .moment.is-expanded img{object-fit:contain;transform:none}
.is-expanded .image-action{top:16px;bottom:auto;inset-inline-end:16px;inset-inline-start:auto;opacity:1;transform:none}
.is-expanded .photo-open-icon{display:none}
.is-expanded .photo-close-icon{display:block}
