@font-face{font-family:Forum;src:url("assets/fonts/Forum-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
500&family=Forum:wght@400;500;600&display=swap');
:root{--paper:#f1f0e9;--ink:#202823;--blue:#03568d;--line:rgba(35,45,38,.24);font-family:Forum,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #cbad69;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2{font-family:'Forum',Georgia,serif;font-weight:400;letter-spacing:-.055em;line-height:.98;white-space:pre-line}img{max-width:100%;display:block}header{height:76px;position:fixed;z-index:20;top:0;left:0;right:0;border-bottom:1px solid #ffffff35;color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 28px 0 98px;transition:background .4s,color .4s}.logo{font-family:'Forum',Georgia,serif;font-size:30px;letter-spacing:.04em}.header-actions{display:flex;gap:24px;align-items:center}.languages{display:flex;gap:3px}.languages button{font-size:12px;padding:8px 5px;opacity:.5}.languages .active{opacity:1;border-bottom:1px solid}.pill{font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid #ffffff50;background:#101413;color:#f1f0e9;padding:15px 20px;display:inline-flex;align-items:center;gap:30px;transition:background .3s,transform .3s}.pill:hover{background:#284734;transform:translateY(-2px)}.menu-button{display:flex;gap:15px;font-size:12px;align-items:center}.menu-button i{font-size:25px;font-style:normal}.sound-button{display:flex;align-items:center;gap:3px;width:30px;height:35px}.sound-button i{width:2px;height:5px;background:currentColor}.sound-button i:nth-child(2){height:14px}.sound-button i:nth-child(3){height:9px}.sound-button.playing i{animation:sound .8s infinite alternate}.sound-button.playing i:nth-child(2){animation-delay:.25s}.sound-button.playing i:nth-child(3){animation-delay:.5s}@keyframes sound{to{height:20px}}.chapter-rail{position:fixed;left:0;top:0;bottom:0;width:70px;border-right:1px solid #ffffff35;z-index:21;color:var(--paper);display:flex;align-items:center;gap:38px;flex-direction:column;padding-top:23px;transition:color .3s}.rail-mark{font-family:Georgia,serif;font-size:30px}.rail-ticks{height:110px;width:9px;background:repeating-linear-gradient(to bottom,#ffffff50 0 1px,transparent 1px 22px);align-self:flex-end}.chapter-rail>a:not(.rail-mark){writing-mode:vertical-rl;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.rail-count{margin-top:auto;margin-bottom:30px;writing-mode:vertical-rl;font-size:11px;letter-spacing:.1em}.past-story header{background:var(--paper);color:var(--ink);border-color:var(--line)}.past-story .chapter-rail{color:var(--ink);border-color:var(--line);background:var(--paper)}#page-progress{position:fixed;z-index:40;left:0;top:0;width:3px;height:100vh;background:#b7a475;transform-origin:top;transform:scaleY(0)}.scroll-story{height:640vh;position:relative;background:var(--blue)}.stage{height:100svh;min-height:540px;position:sticky;top:0;overflow:hidden;color:var(--paper)}#theatre{width:100%;height:100%;position:absolute;inset:0;display:block;opacity:0;transition:opacity .7s}.scene-loaded #theatre{opacity:1}.stage-backup{position:absolute;right:0;top:0;width:60%;height:100%;opacity:.9}.stage-backup img{width:100%;height:100%;object-fit:cover}.scene-loaded .stage-backup{display:none}.stage-grain{position:absolute;inset:0;opacity:.14;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.35' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.stage-grid{position:absolute;top:72%;left:70px;right:0;border-top:1px solid #ffffff40}.stage-grid i{position:absolute;left:-8px;top:-14px;font-style:normal;font-size:23px}.stage-grid i:last-child{left:80%}.story-copy{position:absolute;left:8%;top:27%;max-width:58%;will-change:transform,opacity}.story-copy .eyebrow{margin-bottom:28px;color:#f1f0e9b5}.story-copy h1,.story-copy h2{font-size:clamp(55px,6.4vw,104px)}.story-copy p{margin-top:24px;font-size:20px;max-width:360px;line-height:1.35;white-space:pre-line;font-family:'Forum',Georgia,serif}.story-copy .pill{margin-top:38px}.second-copy,.third-copy{opacity:0;pointer-events:none}.second-copy{top:24%;max-width:48%}.second-copy p{font:16px/1.6 Forum,Arial,sans-serif;max-width:340px}.third-copy{top:30%}.stage-bottom{position:absolute;left:8%;right:3%;top:77%;display:grid;grid-template-columns:150px 330px 1fr;gap:28px;align-items:start;font-size:11px;letter-spacing:.09em}.stage-bottom>span{border:1px solid #ffffff40;padding:8px;width:max-content}.stage-bottom p{font-size:14px;line-height:1.6;letter-spacing:0;max-width:340px}.stage-bottom a{position:absolute;left:0;top:105px;letter-spacing:.14em;font-size:10px}.stage-bottom button{justify-self:end;width:36px;height:36px;border:1px solid #ffffff70;font-size:14px}.eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;display:block}.intro{margin-left:70px;padding:110px 5% 65px;display:grid;grid-template-columns:1fr 1fr;gap:26px;border-bottom:1px solid var(--line);scroll-margin-top:70px}.intro .eyebrow{grid-column:1/-1}.intro h2{font-size:clamp(60px,7vw,100px)}.intro p{align-self:end;max-width:370px;font-size:16px;line-height:1.8;margin-left:auto}.collection-bar{margin-left:70px;padding:28px 5%;display:flex;justify-content:space-between;align-items:center}.collection-bar>span{font-size:10px;letter-spacing:.12em}.filters{display:flex;gap:24px}.filters button{font-size:13px;opacity:.5;padding:5px 0}.filters .selected{opacity:1;border-bottom:1px solid}.filters sup{font-size:9px;margin-left:4px}.gallery{margin-left:70px;padding:0 5% 100px;display:grid;grid-template-columns:1fr 1fr;gap:70px 35px}.object-card{opacity:0;transform:translateY(35px);transition:opacity 1s,transform 1s}.object-card.visible{opacity:1;transform:translateY(0)}.object-card:nth-child(even){padding-top:110px}.image-button{padding:0;position:relative;width:100%;overflow:hidden;display:block;cursor:pointer;background:#dedbd2}.image-button img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.image-button:hover img{transform:scale(1.045)}.image-label{position:absolute;bottom:20px;left:20px;background:var(--paper);font-size:10px;letter-spacing:.08em;padding:12px 16px;opacity:0;transform:translateY(10px);transition:.4s}.image-button:hover .image-label{opacity:1;transform:none}.card-meta{display:flex;justify-content:space-between;gap:15px;margin-top:17px;align-items:center}.card-meta>div{display:flex;gap:13px;align-items:baseline}.card-no{font-size:11px;opacity:.5}.card-meta h3{font:400 30px/1.2 'Forum',Georgia,serif}.card-meta>span{font-size:11px;opacity:.65}.manifesto{margin-left:70px;padding:80px 5% 110px;background:#d8d7cb}.manifesto-heading{display:flex;justify-content:space-between;gap:35px;margin-bottom:65px}.manifesto-heading h2{font-size:clamp(55px,6vw,90px)}.manifesto-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:8%}.material-photo{position:relative}.material-photo img{width:100%;height:100%;object-fit:cover}.material-photo>span{position:absolute;bottom:18px;left:20px;font-size:10px;letter-spacing:.07em;background:var(--paper);padding:10px}.material-copy .large{font:400 38px/1.05 'Forum',Georgia,serif;white-space:pre-line;letter-spacing:-.03em}.material-copy>p:nth-child(2){font-size:14px;line-height:1.8;margin:28px 0 40px}.detail-line{border-top:1px solid var(--line);display:flex;gap:24px;padding:20px 0}.detail-line>span{font-size:10px;opacity:.5}.detail-line h3{font-size:14px;font-weight:500;margin-bottom:7px}.detail-line p{font-size:12px;line-height:1.6;opacity:.7}.endnote{margin-left:70px;padding:95px 5% 100px;background:#034f82;color:var(--paper);position:relative;overflow:hidden}.endnote h2{font-size:clamp(70px,10vw,150px);margin:45px 0;max-width:1000px}.endnote h2 em{font-weight:400}.endnote .pill span{border-left:1px solid #ffffff50;padding-left:22px}footer{margin-left:70px;padding:40px 5%;display:flex;align-items:center;gap:40px;border-top:1px solid var(--line)}footer p{font-size:12px;margin-right:auto}footer>a:not(.logo){font-size:11px}footer .logo span{font-size:12px}dialog{padding:0;border:0;background:var(--paper);color:var(--ink);max-width:calc(100vw - 70px);max-height:92svh}dialog::backdrop{background:#07101dd9;backdrop-filter:blur(10px)}#object-dialog{width:1120px}.dialog-layout{display:grid;grid-template-columns:1.15fr 1fr}.dialog-picture{background:#dbd9d0}.dialog-picture img{width:100%;height:100%;object-fit:contain;max-height:88svh}.dialog-info{position:relative;padding:70px 45px 35px}.close-button{position:absolute;right:20px;top:12px;font-size:32px;z-index:5;width:44px;height:44px}.dialog-info h2{font-size:64px;margin:30px 0 15px}.dialog-info>span:not(.eyebrow){font-size:13px}.dialog-info>p{font-size:14px;line-height:1.8;margin:25px 0}dl{margin:30px 0}dl>div{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0;font-size:12px}dd{margin:0}.dialog-navigation{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;margin-top:35px}.dialog-navigation button{padding:12px 0}.dialog-navigation span{font-size:10px;opacity:.5}.modal-open{overflow:hidden}#menu-dialog{width:100vw;height:100svh;max-width:none;max-height:none;background:#064f82;color:var(--paper);margin:0;padding:40px 8%}#menu-dialog nav{display:flex;flex-direction:column;gap:30px;margin:12vh 0 7vh}#menu-dialog nav a{font:400 clamp(40px,7vw,95px)/1 'Forum',Georgia,serif;width:max-content}#menu-dialog nav a:hover{font-style:italic}#menu-dialog p{font-size:13px}#film-dialog{width:100vw;height:100svh;max-width:none;max-height:none;background:#0c1010;color:white}#film-image{height:90%;width:100%;object-fit:contain}.film-footer{display:flex;justify-content:space-between;padding:20px 5%;align-items:center}.film-footer button{font-size:22px;margin:0 12px}#cursor{display:none}#preloader{position:fixed;inset:0;background:#064f82;color:var(--paper);z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:30px;transition:opacity .7s,visibility .7s}.loader-brand{font-family:'Forum',serif;font-size:50px;letter-spacing:.1em}.loader-mark{font-family:Georgia,serif;font-size:100px;animation:breathe 1.5s infinite alternate}.loader-caption{font-size:10px;letter-spacing:.2em}#load-percent{font-size:12px}#preloader.finished{opacity:0;visibility:hidden}@keyframes breathe{to{opacity:.2;transform:scale(.95)}}.scene-fallback .scroll-story{height:100svh}.scene-fallback #theatre{display:none}
@media(max-width:900px){header{padding-left:78px;padding-right:18px}.header-actions{gap:13px}.chapter-rail{width:52px}.stage-grid{left:52px}.story-copy{left:9%;max-width:58%;top:25%}.stage-bottom{left:9%;grid-template-columns:120px 270px 1fr;gap:14px}.stage-bottom p{font-size:12px}.intro,.collection-bar,.gallery,.manifesto,.endnote,footer{margin-left:52px}.card-meta{align-items:flex-start;flex-direction:column;gap:5px}.card-meta h3{font-size:26px}.manifesto-layout{gap:5%}.dialog-info{padding:60px 25px 25px}.dialog-info h2{font-size:48px}}
@media(max-width:600px){header{height:65px;padding:0 14px 0 55px}.logo{font-size:24px}.header-actions{gap:10px}.header-collection,.sound-button,.menu-button span{display:none}.languages button{font-size:10px;padding:7px 4px}.chapter-rail{width:38px;padding-top:18px;gap:26px}.rail-mark{font-size:23px}.rail-ticks{height:70px}.chapter-rail>a:not(.rail-mark){font-size:9px}.rail-count{font-size:9px}.stage{min-height:600px}.scroll-story{height:500vh}.stage-grid{left:38px;top:78%}.story-copy{left:58px;top:17%;max-width:82%}.story-copy h1,.story-copy h2{font-size:54px}.story-copy .eyebrow{font-size:9px;margin-bottom:18px}.story-copy p{font-size:18px;margin-top:18px;max-width:245px}.story-copy .pill{margin-top:22px;font-size:10px;padding:13px}.stage-bottom{top:81%;left:58px;right:15px;grid-template-columns:1fr 30px;gap:8px}.stage-bottom>span{font-size:9px;padding:6px}.stage-bottom p{grid-column:1;grid-row:2;font-size:11px;max-width:255px;line-height:1.5}.stage-bottom button{grid-column:2;grid-row:1;width:30px;height:30px}.stage-bottom a{top:105px;font-size:8px}.second-copy{top:18%}.second-copy p{font-size:14px;max-width:240px}.third-copy{top:29%}.intro,.collection-bar,.gallery,.manifesto,.endnote,footer{margin-left:38px}.intro{padding:65px 20px 35px;display:block}.intro h2{font-size:61px;margin:30px 0}.intro p{font-size:14px;margin:0;max-width:290px}.collection-bar{padding:25px 20px}.collection-bar>span{display:none}.filters{gap:14px}.filters button{font-size:11px}.gallery{padding:0 20px 60px;display:block}.object-card{margin-bottom:35px}.object-card:nth-child(even){padding-top:0}.card-meta{flex-direction:row;align-items:baseline;gap:10px}.card-meta h3{font-size:28px}.card-meta>span{font-size:9px;max-width:95px;text-align:right}.image-label{display:none}.manifesto{padding:55px 20px}.manifesto-heading{display:block;margin-bottom:30px}.manifesto-heading h2{font-size:55px;margin-top:25px}.manifesto-layout{display:block}.material-photo img{aspect-ratio:1}.material-copy{margin-top:30px}.material-copy .large{font-size:33px}.endnote{padding:65px 20px}.endnote h2{font-size:61px}footer{padding:30px 20px;gap:20px;flex-wrap:wrap}footer p{font-size:11px;max-width:170px}dialog{max-width:calc(100vw - 24px)}.dialog-layout{display:block}.dialog-picture img{height:37svh;object-fit:cover}.dialog-info{padding:30px 25px}.dialog-info h2{font-size:45px;margin:20px 0 12px}.dialog-info>p{font-size:13px;margin:20px 0}.dialog-info>.close-button{position:fixed;top:10px;right:10px;background:var(--paper);border-radius:50%}.dialog-navigation{margin-top:10px}.dialog-info dl{margin:20px 0}.eyebrow{font-size:10px}.credits-link{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.object-card{opacity:1;transform:none}.scroll-story{height:100svh}.second-copy,.third-copy{display:none}}
.paper-scene:not(.past-story) header,.paper-scene:not(.past-story) .chapter-rail{color:var(--ink);border-color:var(--line)}.paper-scene .second-copy{color:var(--ink);left:auto;right:5%;max-width:35%;top:26%;background:#e9e4d7dd;padding:25px}.paper-scene .second-copy .eyebrow{color:#38453a}.second-copy h2{font-size:clamp(44px,5vw,76px)}.film-open{margin-left:15px}.third-copy{padding:25px;background:#063e63d9;backdrop-filter:blur(6px)}@media(max-width:600px){.paper-scene .second-copy{left:50px;right:12px;max-width:none;top:auto;bottom:9%;padding:20px}.second-copy h2{font-size:42px}.second-copy p{font-size:12px;max-width:270px}.film-open{margin:15px 0 0}.third-copy{left:50px;right:12px;max-width:none;padding:20px}.third-copy h2{font-size:46px}}

@media(min-width:601px){.opening-copy{top:23%}.opening-copy .eyebrow{margin-bottom:20px}.opening-copy .pill{margin-top:24px}.opening-copy p{margin-top:20px}}

@media(max-width:600px){.stage-bottom{background:#034e80e8;padding:10px;left:49px;top:80%;border-top:1px solid #ffffff35}.stage-bottom a{left:10px;top:120px}.stage-bottom p{max-width:245px}}
/* Film stage: the moving painting occupies the entire screen. */
:root{--blue:#063257} .scroll-story{height:900svh;background:#063257}.stage{background:#063257}#theatre{object-fit:cover;object-position:center;width:100%;height:100%;z-index:1}.stage-backup{width:100%;opacity:1}.stage-backup img{object-fit:cover}.stage-grain{z-index:2;opacity:.05}.stage-grid{z-index:3;pointer-events:none;top:74%}.stage-grid:after{content:'';position:absolute;right:13%;height:100svh;bottom:-26svh;border-right:1px solid #ffffff25}.story-copy,.stage-bottom{z-index:4}.opening-copy{left:8%;top:31%;max-width:43%;text-shadow:0 2px 24px #03111b77}.opening-copy h1{font-size:clamp(52px,5.8vw,94px);letter-spacing:-.055em}.opening-copy p{font-size:clamp(17px,1.4vw,23px)}.opening-copy .pill{margin-top:28px}.stage-bottom{top:79%;grid-template-columns:120px minmax(220px,330px) 1fr}.stage-bottom a{top:90px}.stage-bottom p{font-size:13px}.stage-bottom:before{content:'';position:absolute;inset:-25px -20px -55px;z-index:-1;background:linear-gradient(90deg,#06294455,transparent);pointer-events:none}.third-copy{left:8%;top:32%;max-width:40%;padding:0;background:transparent;backdrop-filter:none;text-shadow:0 3px 30px #041321}.third-copy h2{font-size:clamp(58px,6vw,94px)}.film-chapter{position:absolute;z-index:5;bottom:24px;left:8%;right:3%;display:flex;align-items:center;gap:16px;color:#f1f0e9;font-size:10px;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 5px #000}.chapter-line{height:1px;flex:1;background:#ffffff35;margin:0 10px}.chapter-line i{display:block;height:1px;background:#e8e0cc;transform:scaleX(0);transform-origin:left}#scene-number{opacity:.6}#scene-time{font-variant-numeric:tabular-nums}.film-in-progress .stage-bottom{pointer-events:none}.film-in-progress header{background:linear-gradient(#00102066,transparent)}.film-in-progress .header-collection{background:#07192399}.scene-fallback #theatre{display:block;opacity:1}.scene-fallback .scroll-story{height:100svh}.scene-fallback .film-chapter{display:none}#cinema-dialog{width:100vw;height:100svh;max-width:none;max-height:none;margin:0;background:#031322;color:var(--paper);padding:0}#cinema-video{display:block;width:100%;height:calc(100% - 70px);object-fit:contain}#cinema-close{background:#041523ad;border:1px solid #ffffff35;border-radius:50%;right:24px;top:20px}.cinema-title{text-align:center;height:70px;padding:22px;font:13px Forum,Arial,sans-serif;letter-spacing:.12em}header{background:linear-gradient(#02142655,transparent)}.past-story header{background:var(--paper)}
@media(max-width:900px){.opening-copy{left:10%;max-width:48%;top:28%}.opening-copy h1{font-size:61px}.stage-bottom{left:10%;grid-template-columns:110px 260px 1fr}.film-chapter{left:10%}}
@media(max-width:600px){.scroll-story{height:720svh}.stage{min-height:600px}.stage:after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(#032139 0%,transparent 33%,transparent 65%,#032139 100%)}#theatre,.stage-backup img{object-fit:contain;object-position:center 53%;background:#05243c}.opening-copy{left:58px;right:20px;max-width:none;top:15%}.opening-copy h1{font-size:clamp(39px,10vw,54px)}.opening-copy .eyebrow{margin-bottom:16px;font-size:8px}.opening-copy p{font-size:18px;max-width:250px;margin-top:14px}.opening-copy .pill{font-size:9px;margin-top:19px;padding:11px 14px}.stage-grid{top:75%}.stage-bottom{left:58px;right:16px;top:78%;padding:0;background:none;border:0;grid-template-columns:1fr 30px}.stage-bottom:before{display:none}.stage-bottom p{font-size:11px;max-width:260px}.stage-bottom a{top:104px;font-size:8px}.film-chapter{left:58px;right:16px;bottom:17px;gap:8px;font-size:8px}.chapter-line{margin:0 2px}#scene-time{font-size:7px}.third-copy{left:58px;right:20px;max-width:none;top:17%;padding:0;background:none}.third-copy h2{font-size:46px}.third-copy .pill{margin-top:18px;font-size:9px}.film-in-progress .stage:after{opacity:.4}.film-in-progress header{background:#04243ce6}.film-in-progress #theatre{object-fit:contain}.cinema-title{font-size:10px}.sound-button{display:none}}
@media(prefers-reduced-motion:reduce){.scroll-story{height:100svh}.film-chapter{display:none}.stage-bottom #motion-toggle{display:none}}
@media(min-width:901px){.opening-copy{top:22%;max-width:48%}.opening-copy h1{font-size:clamp(52px,5vw,80px)}.opening-copy p{font-size:20px}.opening-copy .pill{margin-top:24px}}
@media(min-width:601px) and (max-width:900px){.opening-copy{top:20%}.opening-copy h1{font-size:52px}.opening-copy .pill{margin-top:18px}.opening-copy p{font-size:18px}}

.mobile-scene-copy{display:none}@media(max-width:600px){.mobile-scene-copy{display:block;position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0}.mobile-scene-copy h2{position:absolute;z-index:4;left:58px;right:20px;top:19%;font-size:52px;pointer-events:none}.mobile-scene-copy p{position:absolute;z-index:4;left:58px;right:28px;top:69%;font:17px/1.5 'Forum',Georgia,serif;max-width:280px;pointer-events:none}}

/* Picture gallery: photographs retain their native proportions. */
.gold-frame{background:conic-gradient(from 45deg,#99702c 0deg 90deg,#67451b 90deg 180deg,#d6b768 180deg 270deg,#f0d38a 270deg 360deg);box-shadow:inset 0 0 0 1px #533811,inset 0 0 0 3px #e4c16f,inset 0 0 0 5px #896128,0 12px 24px #36251224}
.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:70px 60px;align-items:start}
.object-card{width:100%;max-width:520px;justify-self:center;min-width:0}
.image-button{padding:20px;overflow:visible;isolation:isolate;transition:box-shadow .4s,transform .4s}
.image-button::after{content:'';position:absolute;inset:8px;border:2px ridge #ebca7e;box-shadow:0 0 0 2px #614419,inset 0 0 0 1px #795820;pointer-events:none}
.image-button img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border:3px solid #b8954b;outline:1px solid #543c20;transform:none!important}
.image-button:hover{box-shadow:inset 0 0 0 1px #533811,inset 0 0 0 3px #e4c16f,inset 0 0 0 5px #896128,0 18px 30px #36251235;transform:translateY(-3px)}
.image-label{bottom:30px;left:30px}.card-meta{margin-top:24px}
.dialog-picture{display:flex;align-items:center;justify-content:center;padding:24px;background:#e5e0d4}
.dialog-picture img{width:100%;height:auto;max-height:80svh;object-fit:contain;border:16px ridge #bb954a;box-shadow:0 10px 24px #30241435}
/* The last film frame settles down into the same gallery framing. */
.film-canvas{--frame-width:0px;--frame-reveal:0;position:absolute;inset:0 auto auto 0;width:100%;height:100%;z-index:1;padding:var(--frame-width);transform-origin:center;box-shadow:0 18px 35px rgb(43 31 15 / calc(var(--frame-reveal)*.25));will-change:width,height,transform,top,left}
.film-canvas::after{content:'';position:absolute;inset:calc(var(--frame-width)*.3);border:2px ridge #e7c77e;box-shadow:0 0 0 2px #795425;opacity:var(--frame-reveal);pointer-events:none;z-index:2}
.film-canvas #theatre{position:relative;inset:auto;width:100%;height:100%;object-fit:cover;object-position:center;background:#15201a}
.framed-ending header,.framed-ending .chapter-rail{color:var(--ink);border-color:var(--line);background:var(--paper)}
.framed-ending .film-chapter{color:var(--ink);text-shadow:none}.framed-ending .chapter-line{background:#b2a686}.framed-ending .chapter-line i{background:#8b692e}
.stage .third-copy{top:13%;left:90px;right:30px;max-width:none;text-align:center;text-shadow:none;color:var(--ink)}
.stage .third-copy .eyebrow{display:none}.stage .third-copy h2{font-size:clamp(32px,3.5vw,52px);white-space:normal}.stage .third-copy .pill{margin-top:14px;padding:10px 16px}
.framed-ending .stage:after{opacity:0}.framed-ending .film-canvas #theatre{object-fit:contain;background:transparent}
@media(max-width:600px){.gallery{display:block}.object-card{max-width:440px;margin:0 auto 46px}.image-button{padding:15px}.image-button::after{inset:6px}.dialog-picture{padding:18px}.dialog-picture img{height:auto;max-height:52svh;border-width:12px;object-fit:contain}.film-canvas #theatre{object-fit:contain}.stage .third-copy{top:16%;left:58px;right:20px}.stage .third-copy h2{font-size:36px}.stage .third-copy .pill{font-size:9px}.card-meta{flex-wrap:wrap}}

/* A full-size picture drops into a stationary frame; it never scales. */
.film-canvas{padding:0;background:none;box-shadow:none;will-change:transform,clip-path}
.film-canvas::after{display:none}
.framed-ending .stage{overflow:visible}
.framed-ending .film-canvas #theatre{object-fit:cover;background:#15201a}
.ending-frame{position:absolute;z-index:3;height:100%;opacity:0;pointer-events:none;background:none;border:22px ridge #b99244;box-shadow:inset 0 0 0 2px #e7c67b,0 0 0 2px #6c4c20,0 20px 32px #30231230}
.ending-frame::after{content:'';position:absolute;inset:-15px;border:2px ridge #f1d68d;box-shadow:0 0 0 1px #6b471c}
.framed-ending .stage-grain,.framed-ending .film-chapter{opacity:0}
#story-end{background:var(--paper)}
@media(max-width:600px){.ending-frame{border-width:14px}.ending-frame::after{inset:-9px}.framed-ending .film-canvas #theatre{object-fit:contain}}

/* Antique carved gilt frames, matching the film's picture-frame vocabulary. */
:root{--carved-frame:url('assets/studio/ornate-gold-frame.png');font-family:Forum,Georgia,serif}
.gold-frame{background:none;box-shadow:none}
.image-button.gold-frame{padding:12.5%;background:transparent;box-shadow:none;filter:drop-shadow(0 14px 12px #3e2a1429)}
.image-button::after{inset:0;border:0;box-shadow:none;background:var(--carved-frame) center/100% 100% no-repeat;z-index:2}
.image-button img{border:0;outline:0;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#e9e3d9}
.image-button:hover{box-shadow:none;filter:drop-shadow(0 18px 15px #3e2a1435)}
.image-label{left:15%;bottom:15%;z-index:3;background:#f1eee5e8}
.dialog-picture{padding:24px;background:#e9e5da}
.dialog-picture img{border:44px solid transparent;border-image:var(--carved-frame) 13% / 1 / 0 stretch;box-shadow:none;filter:drop-shadow(0 8px 10px #3e2a1429)}
.ending-frame{border:clamp(34px,5vw,66px) solid transparent;border-image:var(--carved-frame) 13% / 1 / 0 stretch;background:none;box-shadow:none;filter:drop-shadow(0 14px 14px #3e2a1429)}
.ending-frame::after{display:none}
/* Monumental capitals with full Cyrillic and Latin coverage. */
body{font-family:Forum,Georgia,serif;font-size:18px}
h1,h2,h3,.logo,.loader-brand,.rail-mark{font-family:Forum,Georgia,serif;font-weight:400}
h1,h2{letter-spacing:.025em;line-height:1.04;text-transform:uppercase}
.logo,.loader-brand{letter-spacing:.14em}.logo{font-size:29px}
.card-meta h3{font-family:Forum,Georgia,serif;font-size:30px;letter-spacing:.055em;text-transform:uppercase}
.card-meta>span{font-size:14px}.card-no{font-size:12px}
.pill,.eyebrow,.filters button,.languages button,.menu-button,.film-chapter,.chapter-rail>a:not(.rail-mark){font-family:Forum,Georgia,serif;font-weight:400;letter-spacing:.1em}
.pill,.filters button{font-size:14px}.languages button{font-size:13px}
.intro p,.material-copy>p:nth-child(2),.dialog-info>p{font-size:19px;line-height:1.55}
.opening-copy{max-width:62%;top:21%}.opening-copy h1{font-size:clamp(42px,4.8vw,70px);letter-spacing:.025em}.opening-copy p{font-size:23px}
.intro h2{font-size:clamp(44px,5.5vw,78px)}.manifesto-heading h2{font-size:clamp(40px,4.7vw,68px)}
.endnote h2{font-size:clamp(46px,7.5vw,112px)}.dialog-info h2{font-size:clamp(32px,4vw,56px)}
.material-copy .large{letter-spacing:.01em}.detail-line h3{font-size:18px;letter-spacing:.06em;text-transform:uppercase}.detail-line p{font-size:16px}
@media(max-width:900px){.card-meta h3{font-size:26px}.opening-copy{top:20%;max-width:68%}.opening-copy h1{font-size:48px}}
@media(max-width:600px){.image-button.gold-frame{padding:12.5%}.image-button::after{inset:0}.card-meta h3{font-size:24px;letter-spacing:.03em}.card-meta>span{font-size:12px}.dialog-picture img{border-width:30px}.ending-frame{border-width:30px}.opening-copy{left:58px;right:18px;max-width:none;top:16%}.opening-copy h1{font-size:clamp(28px,7.8vw,40px)}.opening-copy p{font-size:20px}.opening-copy .pill{font-size:11px}.intro h2{font-size:43px}.intro p{font-size:18px}.manifesto-heading h2{font-size:40px}.endnote h2{font-size:44px}.mobile-scene-copy h2{font-size:36px;letter-spacing:.02em}.mobile-scene-copy p{font-size:18px}.filters{gap:12px}.filters button{font-size:12px}.languages button{font-size:11px}.logo{font-size:24px}.dialog-info h2{font-size:34px}.dialog-info>p{font-size:17px}}

/* The white initial completes its clockwise turn before the full-screen reveal. */
body.loader-active{overflow:hidden}
#preloader{overflow:hidden;color:#fff;transition:none}
.loader-mark{font-family:Forum,Georgia,serif;color:#fff;font-size:140px;line-height:1;width:150px;height:150px;text-align:center;animation:none;transform-origin:50% 50%;will-change:transform,opacity}
#preloader.opening .loader-brand,#preloader.opening .loader-caption,#preloader.opening #load-percent{opacity:0;transition:opacity .2s}
@media(prefers-reduced-motion:reduce){.loader-mark{will-change:auto}}

/* Final film still descends as an unframed picture; product frames remain. */
.ending-frame{display:none}
/* Keep typography legible over every frame of the opening film. */
body:not(.past-story) header,body:not(.past-story) .chapter-rail{color:#fff!important;border-color:#ffffff50!important;text-shadow:0 2px 12px #0009}
body:not(.past-story) header{background:linear-gradient(#03132299,#03132222)!important}
body:not(.past-story) .chapter-rail{background:linear-gradient(90deg,#03132277,transparent)!important}
.stage .story-copy,.stage .story-copy h1,.stage .story-copy h2,.stage .story-copy p,.stage .story-copy .eyebrow,.stage-bottom,.film-chapter,.mobile-scene-copy{color:#fff!important;text-shadow:0 2px 16px #000b}
body:not(.past-story) .languages button{opacity:.85}
body:not(.past-story) .languages .active{opacity:1}

.picture-curtain{position:absolute;inset:12.3%;z-index:1;overflow:hidden;pointer-events:none}
.picture-curtain i{position:absolute;top:-3%;bottom:-5%;width:52%;display:block;background:repeating-linear-gradient(90deg,#220a10 0%,#591927 7%,#8f3845 12%,#621d2a 18%,#2c0b13 26%);box-shadow:inset 0 14px 20px #10030799,5px 2px 16px #0008;transform-origin:top center;will-change:transform;clip-path:polygon(0 0,100% 0,100% 97%,87% 99%,74% 96%,61% 100%,48% 97%,35% 100%,22% 96%,10% 99%,0 97%)}
.picture-curtain .curtain-drop{left:-2%;width:104%;transform:translateY(calc(var(--curtain-open,0)*118%)) rotate(calc(var(--curtain-open,0)*3deg));transform-origin:top center}
.image-button:focus-visible .picture-curtain{display:none}
@media(prefers-reduced-motion:reduce){.picture-curtain{display:none}}

.endnote,.endnote h2,.endnote .eyebrow,.endnote p,.endnote a,.endnote button,.endnote span{color:#fff!important}
.endnote .pill{border-color:#ffffff80;background:#ffffff12}
.curtain-flight-layer{position:fixed;inset:0;z-index:25;overflow:hidden;pointer-events:none}
.flying-velvet{position:absolute;display:none;transform-origin:50% 10%;background:repeating-linear-gradient(90deg,#220a10 0%,#591927 7%,#8f3845 12%,#621d2a 18%,#2c0b13 26%);box-shadow:inset 0 14px 20px #10030799,8px 18px 20px #25051235;clip-path:polygon(0 0,16% 2%,33% 0,50% 3%,68% 0,84% 2%,100% 0,100% 96%,87% 100%,74% 97%,61% 100%,48% 97%,35% 100%,22% 96%,10% 99%,0 97%);will-change:transform}
.picture-curtain .curtain-drop{opacity:calc(1 - var(--curtain-open,0));transform:none}
.curtain-floor{margin-left:70px;min-height:180px;padding:10px 8% 0;background:#fff;display:flex;justify-content:center;align-items:flex-end;overflow:hidden}
.curtain-pile{width:min(760px,85%);height:auto;transform-origin:center bottom;transform:scale(var(--pile-growth,1));transition:transform .5s,opacity .4s}
@media(max-width:600px){.curtain-floor{margin-left:38px;min-height:100px;padding:0 5%}.curtain-pile{width:100%}}
@media(prefers-reduced-motion:reduce){.curtain-flight-layer{display:none}.curtain-pile{transition:none}}

.curtain-pile{transform:none;opacity:1;transition:none}

body.over-endnote header{color:#fff!important;background:#034f82!important;border-color:#ffffff40!important}body.over-endnote .languages button{opacity:.85}body.over-endnote .languages .active{opacity:1}
/* Fabric lies over the entire carved frame, then detaches into the viewport. */
.image-button.gold-frame{overflow:visible}
.picture-curtain{inset:-9% -8% -8%;z-index:4;overflow:visible;background:url('assets/studio/hanging-velvet.png') center/100% 100% no-repeat;filter:drop-shadow(4px 12px 9px #21050f55)}
.picture-curtain .curtain-drop{display:none}
.flying-fabric{position:absolute;max-width:none;object-fit:fill;transform-origin:50% 12%;filter:drop-shadow(7px 20px 12px #21050f55);will-change:transform}
@media(max-width:600px){
 .stage{height:100svh;min-height:0}
 .film-canvas{width:100%;height:100%}
 .film-canvas #theatre,.film-in-progress #theatre,.framed-ending .film-canvas #theatre{width:100%;height:100%;object-fit:cover!important;object-position:center!important}
 .stage-backup{inset:0;width:100%;height:100%}
 .stage-backup img{width:100%;height:100%;object-fit:cover!important}
}
.picture-curtain{inset:-15%}
/* Full-screen film without chapter captions, bottom tint or start button. */
.mobile-scene-copy,.film-chapter,.stage-bottom,.stage-grid,.opening-copy .story-start{display:none!important}
.stage::after,.stage::before{display:none!important}
html{overflow-x:hidden}
body{overflow-x:clip;max-width:100%;overscroll-behavior-x:none}
@supports(overflow:clip){html{overflow-x:clip}}
@media(max-width:600px){.stage{height:100dvh;min-height:0}.film-canvas{width:100%;height:100%}.film-canvas #theatre{object-fit:cover!important;background:transparent}}
.cloth-canvas{position:absolute;inset:auto;max-width:none;pointer-events:none;z-index:5;display:block;transition:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.cloth-canvas{display:none}}

/* The SVG is redrawn through its viewBox while approaching the camera. */
.loader-mark{position:absolute;inset:0;width:100%;height:100%;will-change:auto;pointer-events:none;display:block}
.loader-mark svg{display:block;width:100%;height:100%;overflow:visible}
.loader-brand{margin-bottom:180px}.loader-caption,#load-percent,.loader-brand{position:relative}
.curtain-floor{position:relative;padding:0;min-height:0;height:clamp(250px,30vw,460px);display:block}
.curtain-floor .curtain-pile{position:absolute;bottom:-8%;left:-12%;width:124%;max-width:none;height:auto;transform:none;display:block}
.curtain-floor .curtain-pile-back{width:110%;left:5%;bottom:18%;transform:scaleX(-1)}
@media(max-width:600px){.curtain-floor{height:255px;padding:0}.curtain-floor .curtain-pile{width:185%;left:-43%;bottom:-2%}.curtain-floor .curtain-pile-back{width:150%;left:-12%;bottom:19%}}

/* Never show an uncovered frame while the shared velvet texture decodes. */

.cloth-unavailable .picture-curtain{display:none}

/* Keep falling fabric ahead of all frames below, within the gallery layer. */
.gallery{position:relative;isolation:isolate}
.object-card{position:relative;z-index:0}
.object-card.cloth-falling{z-index:var(--cloth-order,10);opacity:1}

html:lang(zh){font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif}
html:lang(zh) h1,html:lang(zh) h2,html:lang(zh) h3,html:lang(zh) .card-meta h3{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;letter-spacing:.025em;line-height:1.3}
html:lang(zh) .opening-copy h1{font-size:clamp(32px,5vw,76px)}
@media(max-width:600px){.languages{gap:1px}.languages button{padding-inline:3px}html:lang(zh) .opening-copy h1{font-size:30px}html:lang(zh) .endnote h2{font-size:40px}}

/* Material specifications and studio story. */
.manifesto{background:#292d2b;color:#f4efe5}
.manifesto-heading .eyebrow{color:#d5b990}
.material-copy .detail-line{border-color:#f4efe52e}
.material-copy .detail-line>span{color:#d5b990;opacity:1}
.material-copy .detail-line h3{font-size:24px;line-height:1.25;margin-bottom:9px}
.material-copy .detail-line p{font-size:17px;line-height:1.55;opacity:.8}
.material-copy>p:nth-child(2){font-size:18px;line-height:1.6}
.material-photo>span{background:#292d2b;color:#f4efe5}
.about-section{margin-left:70px;padding:95px 5% 110px;background:#ebe3d6;color:#fff}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin-top:40px}
.about-layout h2{font-size:clamp(45px,5vw,78px);letter-spacing:-.025em}
.about-copy p{font-size:20px;line-height:1.7}
.about-copy .about-lead{font-size:25px;line-height:1.5;margin-bottom:25px}
#glass-spec[hidden]{display:none}
.dialog-info dl>div{gap:18px}.dialog-info dd{text-align:right;max-width:60%}
@media(max-width:600px){.about-section{margin-left:38px;padding:65px 6%}.about-layout{grid-template-columns:1fr;gap:30px}.about-layout h2{font-size:42px}.about-copy .about-lead{font-size:23px}.about-copy p{font-size:18px}.material-copy .detail-line h3{font-size:24px}.material-copy .large{font-size:31px}footer{flex-wrap:wrap}}

.company-signature{border-top:1px solid #25282430;margin-top:36px;padding-top:24px;display:grid;gap:12px}
.company-signature>span{font-size:14px;letter-spacing:.025em}
.company-signature strong{font-family:Forum,Georgia,serif;font-size:28px;font-weight:400;line-height:1.25;letter-spacing:.055em}
.object-care{border-top:1px solid var(--line);padding-top:20px}.object-care h3{font-size:20px;font-weight:400;margin-bottom:10px}.object-care p{font-size:16px;line-height:1.6}
.object-care .spec-note{margin-top:16px;font-size:14px;opacity:.65}
.material-spec-note{font-size:15px;line-height:1.6;opacity:.65;margin-top:20px}
.material-photo{align-self:start}.material-photo img{height:auto;aspect-ratio:1;object-fit:contain}

body.over-materials header{background:#292d2bf2!important;color:#f4efe5!important;border-color:#f4efe533!important}body.over-materials header a,body.over-materials header button{color:#f4efe5!important}
#object-dialog .dialog-info{background:#f1f0e9;color:#202823}

/* Keep every section flush with the navigation rail at all breakpoints. */
:root{--rail-width:70px}
@media(max-width:900px){:root{--rail-width:52px}}
@media(max-width:600px){:root{--rail-width:38px}}
.chapter-rail{width:var(--rail-width)}
.intro,.collection-bar,.gallery,.manifesto,.about-section,.endnote,.curtain-floor,footer{margin-left:var(--rail-width)}

/* Rounded historic serif typography based on the new visual reference. */
@font-face{font-family:'Cormorant Unicase';src:url('assets/fonts/CormorantUnicase-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Cormorant Unicase';src:url('assets/fonts/CormorantUnicase-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
:root,body,button,input,p,.eyebrow,.pill,.languages button{font-family:'Cormorant Unicase',Forum,serif}
body,p{font-weight:500}
h1,h2,h3,.logo,.rail-mark,.card-meta h3,.company-signature strong{font-family:'Cormorant Unicase',Forum,serif;font-weight:400;letter-spacing:.005em;line-height:1.08}
p{line-height:1.6;letter-spacing:.005em}
.about-layout h2{font-size:clamp(40px,4.7vw,72px)}
.about-copy p{font-size:21px;line-height:1.65}.about-copy .about-lead{font-size:25px;line-height:1.55}
.company-signature strong{font-size:27px}
html:lang(zh) body,html:lang(zh) button,html:lang(zh) p{font-family:'Cormorant Unicase','Songti SC','Noto Serif CJK SC','SimSun',serif}
@media(max-width:600px){.about-layout h2{font-size:38px}.about-copy .about-lead{font-size:23px}.about-copy p{font-size:20px}.company-signature strong{font-size:24px}.opening-copy h1{font-size:clamp(30px,8vw,46px)}.endnote h2{font-size:clamp(35px,9vw,50px)}}
.loader-brand,.loader-caption,#load-percent{font-family:'Cormorant Unicase',Forum,serif;font-weight:400}

/* The framed collection is fully visible, with no scroll reveal or fabric. */
.object-card,.object-card.visible{opacity:1;transform:none;transition:none}

/* White WhatsApp contact in the site header. */
body header a.whatsapp-contact{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;gap:8px;min-height:42px;padding:9px 15px;border:1px solid #deded9;border-radius:999px;background:#fff;color:#173747!important;text-shadow:none;font:500 16px/1 'Cormorant Unicase',Georgia,serif;text-decoration:none;transition:box-shadow .2s}
.whatsapp-contact:hover{box-shadow:0 3px 12px #0003}.whatsapp-contact:focus-visible{outline:2px solid currentColor;outline-offset:4px}.whatsapp-contact svg{flex:none;width:22px;height:22px}
@media(max-width:900px){body header a.whatsapp-contact{width:40px;height:40px;min-height:40px;padding:8px}.whatsapp-contact span{display:none}}
@media(max-width:420px){header{gap:6px;padding-right:10px}header .logo{font-size:18px;letter-spacing:.06em}.header-actions{gap:5px}.languages{gap:0}.languages button{font-size:9px;padding-inline:2px}body header a.whatsapp-contact{width:36px;height:36px;min-height:36px;padding:6px}}
