@font-face{font-family:Lanting;src:url('lanting.ttf') format('truetype');font-weight:150 700;font-display:swap}
/* TAM text system: section / item / reading / metadata.
   Color alpha belongs to text, never its animated parent. Purple has its own
   contrast-safe secondary tones. Spacing: 8 within a label, 16 between ideas,
   32 between text and action, 40 between a section introduction and its content. */
body[data-variant]{--type-section:40px;--type-item:24px;--type-body:16px;--type-caption:16px;--type-meta:13px;--text-primary:#fff;--text-body:rgb(255 255 255 / .76);--text-muted:rgb(255 255 255 / .58);--weight-title:400;--weight-reading:340;--leading-title:1.25;--leading-item:1.4;--leading-reading:1.75;--leading-meta:1.5;--space-label:8px;--space-paragraph:16px;--space-action:32px;--space-section:40px;font-family:Lanting,sans-serif;font-weight:var(--weight-title);font-variation-settings:normal;color:var(--text-primary);font-synthesis:none}
@media(max-width:699px){body[data-variant]{--type-section:30px;--type-item:18px;--type-meta:12px;--space-section:32px}}
.museum-story,.museum-drawer nav{--text-body:rgb(255 255 255 / .88);--text-muted:rgb(255 255 255 / .76)}
.section-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 35px;align-items:start}
.section-intro h2{grid-column:1;margin:0;font-size:var(--type-section);font-weight:var(--weight-title);line-height:var(--leading-title);letter-spacing:.02em;color:var(--text-primary)}
/* Keep both paragraph edges on image-column tracks, including justified full
   lines. At narrower widths use two complete tracks, never a floating measure. */
.section-intro p{grid-column:3;justify-self:stretch;min-width:0;margin:0;font-size:var(--type-body);font-weight:var(--weight-reading);line-height:var(--leading-reading);color:var(--text-body);text-align:justify;text-align-last:left;text-justify:inter-character;text-wrap:wrap}
@media(min-width:700px) and (max-width:1199px){.section-intro p{grid-column:2/4}}
@media(max-width:699px){.section-intro{grid-template-columns:1fr}.section-intro p{grid-column:1}}
/* 6.6 screens opening + 1.2 hold + 1.2 exit + the sticky viewport. */
body[data-variant] .scroll-shell{height:1000svh}
body[data-variant] .brand-mark{position:fixed;z-index:10}
.door-caption{position:fixed;z-index:5;visibility:hidden;pointer-events:none}
.door-controls{position:fixed;z-index:6;visibility:hidden;pointer-events:auto}
.door-controls button{position:absolute;top:0;height:100%;padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer}
.door-controls button:focus-visible{outline:2px solid white;outline-offset:4px}
.museum-header-backdrop{position:fixed;inset:0 0 auto;height:96.25px;background:#000;border-bottom:1px solid rgba(255,255,255,.12);z-index:9;pointer-events:none;opacity:0}
@media(max-width:699px){.museum-header-backdrop{height:calc(45.5px + min(28.875px,8.3125vw))}}
.door-caption h3{font-size:var(--type-item);line-height:var(--leading-title);letter-spacing:.02em;font-weight:var(--weight-title);margin:0 0 4px;color:var(--text-primary)}
.door-caption p{font-size:var(--type-caption);font-weight:var(--weight-reading);line-height:var(--leading-meta);margin:0;color:var(--text-muted)}
@media(max-width:700px){.door-caption h3{font-size:16px}.door-caption p{font-size:12px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){body[data-variant] .scroll-shell{height:100svh}}
.museum-menu-toggle{position:fixed;z-index:22;right:60px;top:30.625px;width:35px;height:35px;border:0;border-radius:8.75px;padding:0;background:white;color:#111;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5.25px}
.museum-menu-toggle span{display:block;width:19.25px;height:1.75px;border-radius:2px;background:currentColor;transform-origin:center;transition:transform .3s ease}
.museum-menu-toggle::before{content:'';position:absolute;inset:-5px}
.museum-menu-toggle[aria-pressed=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.museum-menu-toggle[aria-pressed=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.museum-menu-toggle:focus-visible{outline:2px solid white;outline-offset:4px}
@media(max-width:699px){.museum-menu-toggle{right:24px;top:calc(17.5px + min(28.875px,8.3125vw)/2 - 14px);width:28px;height:28px;border-radius:7px}.museum-menu-toggle span{width:15.75px}.museum-menu-toggle::before{inset:-8px}}
@media(prefers-reduced-motion:reduce){.museum-menu-toggle span{transition:none}}
.museum-news{position:relative;margin-top:-100svh;background:#000;color:var(--text-primary);display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-section);padding:100px 60px 0;box-sizing:border-box}
.news-item{border-top:1px solid #292929}
.news-item:last-child{border-bottom:1px solid #292929}
.news-item h3{margin:0;font-weight:var(--weight-title)}
.news-item button{width:100%;display:grid;grid-template-columns:110px minmax(0,1fr);gap:24px;align-items:baseline;padding:24px 0;border:0;background:none;color:var(--text-body);text-align:left;font:inherit;font-size:var(--type-item);line-height:var(--leading-item);cursor:pointer}
.news-item.is-active button{color:var(--text-primary)}
.news-date{font-size:var(--type-meta);font-weight:var(--weight-reading);line-height:var(--leading-meta);color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.news-list{--news-picture-height:clamp(420px,32vw,560px)}
.news-image-slot{height:0;margin-left:134px;overflow:hidden;transition:height .45s cubic-bezier(.25,.1,.25,1);visibility:hidden}
.news-item.is-active .news-image-slot{height:calc(var(--news-picture-height) + 24px);visibility:visible}
.news-image-inner{position:relative;height:var(--news-picture-height);overflow:hidden;border-radius:36px 0 36px 0}
.news-image-inner img{display:block;width:100%;height:100%;object-fit:cover}
.news-item:nth-child(1) img{object-position:65% 42%}
.news-item:nth-child(2) img{object-position:50% 55%}
.news-item:nth-child(3) img{object-position:50% 50%}
.news-placeholder{position:absolute;bottom:12px;left:18px;font-size:12px;color:white;text-shadow:0 1px 5px black;font-weight:340;font-variation-settings:'wght' 340}
.news-item button:focus-visible{outline:1px solid white;outline-offset:4px}
@media(max-width:699px){.museum-news{grid-template-columns:1fr;gap:32px;padding:70px 20px 0}.news-item button{grid-template-columns:1fr;gap:8px;padding:20px 0}.news-list{--news-picture-height:clamp(240px,70vw,380px)}.news-image-slot{margin-left:0}.news-image-inner{border-radius:24px 0 24px 0}}
@media(prefers-reduced-motion:reduce){.news-image-slot{transition:none}}
.drawer-open{overflow:hidden}
.museum-drawer{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden;--menu-width:clamp(460px,44vw,680px)}
.drawer-shade{position:absolute;inset:0;background:rgba(0,0,0,.35);opacity:0;transition:opacity .35s}
.drawer-layer,.museum-drawer nav{position:absolute;right:0;top:0;width:var(--menu-width);height:100%;transform:translateX(101%);transition:transform .32s cubic-bezier(.55,0,1,.45);box-sizing:border-box}
.layer-one{background:#b47eb6}.layer-two{background:#602563}
.museum-drawer nav{background:#833386;padding:30.625px 60px 36px;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;align-items:stretch}
.drawer-header{min-height:35px;display:flex;align-items:center;padding-right:52px;flex-shrink:0}
.drawer-identity{font-size:var(--type-body);line-height:var(--leading-meta);letter-spacing:.02em;color:var(--text-body)}
.drawer-links{margin:clamp(56px,12dvh,132px) 0 48px;flex-shrink:0}
.drawer-link{width:100%;display:block;border:0;background:none;color:white;font:inherit;padding:24px 0;text-align:left;cursor:pointer}
.drawer-label{display:block;font-size:var(--type-section);line-height:var(--leading-title);letter-spacing:.02em;transform:translateY(16px);opacity:0;transition:transform .22s,opacity .18s}
@media(hover:hover){.drawer-link:hover{color:var(--text-body)}}
.drawer-link:focus-visible{outline:2px solid white;outline-offset:6px}
.drawer-footer{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-shrink:0;color:var(--text-muted);font-weight:var(--weight-reading)}
.drawer-footer p{margin:0;font-size:var(--type-meta);line-height:var(--leading-meta);letter-spacing:.015em}
.drawer-footer address{margin:0;font-size:var(--type-meta);line-height:var(--leading-meta);font-style:normal;white-space:nowrap}
.drawer-header,.drawer-footer{opacity:0;transition:opacity .18s}
.museum-drawer.is-open{pointer-events:auto}
.museum-drawer.is-open .drawer-shade{opacity:1}
.museum-drawer.is-open .drawer-layer,.museum-drawer.is-open nav{transform:translateX(0);transition:transform .6s cubic-bezier(.16,1,.3,1)}
.museum-drawer.is-open .layer-two{transition-delay:.08s}
.museum-drawer.is-open nav{transition-delay:.16s}
.museum-drawer.is-open .drawer-label{transform:translateY(0);opacity:1;transition:transform .48s cubic-bezier(.16,1,.3,1),opacity .36s;transition-delay:.28s}
.museum-drawer.is-open .drawer-link:nth-child(2) .drawer-label{transition-delay:.34s}
.museum-drawer.is-open .drawer-link:nth-child(3) .drawer-label{transition-delay:.4s}
.museum-drawer.is-open .drawer-header,.museum-drawer.is-open .drawer-footer{opacity:1;transition:opacity .4s .3s}
@media(max-width:699px){.museum-drawer{--menu-width:100%}.museum-drawer nav{padding:calc(17.5px + min(28.875px,8.3125vw)/2 - 18px) 24px max(28px,env(safe-area-inset-bottom))}.drawer-header{min-height:36px}.drawer-links{margin-top:clamp(56px,10dvh,100px);margin-bottom:40px}.drawer-link{padding:22px 0}.drawer-footer{gap:16px}}
@media(max-height:520px){.drawer-links{margin-top:32px;margin-bottom:32px}.drawer-link{padding:16px 0}}
@media(prefers-reduced-motion:reduce){.museum-drawer *{transition:none!important}}
.museum-collection{position:relative;background:#000;padding:80px 60px 160px;color:var(--text-primary)}
.museum-collection .section-intro{margin-bottom:var(--space-section)}
.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.collection-card{margin:0;min-width:0}
.collection-picture{aspect-ratio:4/5;overflow:hidden;border-radius:40px 0 40px 0;clip-path:inset(100% 0 0 0)}
.collection-picture img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .65s ease}
@media(hover:hover){.collection-picture:hover img{transform:scale(1.035)}}
.collection-card figcaption{margin-top:15px;opacity:0}
.collection-card h3{margin:0 0 4px;font-size:var(--type-item);line-height:var(--leading-title);font-weight:var(--weight-title);letter-spacing:.02em;color:var(--text-primary)}
.collection-card p{margin:0;font-size:var(--type-caption);line-height:var(--leading-meta);color:var(--text-muted);font-weight:var(--weight-reading)}
@media(max-width:699px){.museum-collection{padding:60px 20px 100px}.collection-grid{grid-template-columns:1fr;gap:40px}.collection-picture{aspect-ratio:4/3;border-radius:28px 0 28px 0}}
@media(prefers-reduced-motion:reduce){.collection-picture img{transition:none}}
.collection-float{overflow:hidden}
.collection-float span{display:inline-block;transform-origin:50% 0%;opacity:0}
.museum-story{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto 1fr;column-gap:35px;row-gap:var(--space-action);align-items:start;margin:0;background:#833386;padding:60px;color:var(--text-primary)}
.story-image{position:relative;grid-column:2/4;grid-row:1/3;align-self:stretch;width:100%;min-width:0;aspect-ratio:3/2;min-height:0;border-radius:40px 0 40px 0;overflow:hidden}
.story-image img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.story-panel{position:relative;grid-column:1/2;grid-row:2;align-self:stretch;display:flex;flex-direction:column;min-width:0;padding:0 24px 0 0}
.museum-story>h2{grid-column:1/2;grid-row:1;margin:0;font-size:var(--type-section);line-height:var(--leading-title);font-weight:var(--weight-title);letter-spacing:.02em}
.museum-story>h2 span{display:block;word-break:keep-all;text-wrap:balance}
.story-panel p{max-width:28em;max-width:28ic;margin:0;color:var(--text-muted);font-size:var(--type-body);line-height:var(--leading-reading);font-weight:var(--weight-reading);text-wrap:pretty}
.story-panel .story-lead{color:var(--text-body);text-wrap:balance}
.story-panel p+p{margin-top:var(--space-paragraph)}
/* The action follows the copy on mobile and rests on the image baseline in columns. */
.story-actions{margin-top:auto;padding-top:var(--space-action);display:flex}
.story-read{box-sizing:border-box;min-height:48px;padding:10px 24px;border:1px solid var(--text-body);border-radius:999px;background:transparent;color:var(--text-primary);font:inherit;font-size:var(--type-body);line-height:var(--leading-meta);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background-color .18s,color .18s,border-color .18s}
@media(hover:hover){.story-read:hover{background:#fff;border-color:#fff;color:#833386}}
.story-read:active{background:rgb(255 255 255 / .88);border-color:transparent;color:#833386}
.story-read:focus-visible{outline:2px solid white;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.story-read{transition:none}}
.story-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(660px,calc(100% - 40px));max-height:85svh;overflow:auto;background:#171217;color:#fff;border:1px solid #564257;border-radius:28px 0 28px 0;padding:56px 40px;font-family:Lanting,sans-serif}
.story-dialog::backdrop{background:rgba(0,0,0,.75)}
body:has(.story-dialog[open]){overflow:hidden}
.story-dialog h2{font-size:var(--type-section);font-weight:var(--weight-title);line-height:var(--leading-title);letter-spacing:.02em;margin:0 0 var(--space-action);text-wrap:pretty}
.story-dialog p{margin:0;font-size:var(--type-body);font-weight:var(--weight-reading);line-height:var(--leading-reading);color:var(--text-body);text-wrap:pretty}
.story-dialog p+p{margin-top:var(--space-paragraph)}
.story-close{position:absolute;right:16px;top:12px;width:32px;height:32px;border:0;background:none;color:white;font-size:28px;cursor:pointer}
.museum-footer{position:relative;background:#000;color:#fff;padding:64px 60px 28px}
.footer-main{display:flex;justify-content:space-between;gap:64px;padding-bottom:56px}
.footer-identity{min-width:0}
.footer-wordmark{display:block;width:320px;max-width:100%;height:auto}
.footer-identity address{font-size:var(--type-meta);line-height:var(--leading-meta);font-style:normal;color:var(--text-muted);margin-top:var(--space-paragraph);font-weight:var(--weight-reading)}
.footer-main nav{display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:24px 64px;align-content:start}
.museum-footer button{font:inherit;font-size:var(--type-body);line-height:var(--leading-meta);color:var(--text-body);border:0;background:none;padding:0;text-align:left;cursor:pointer}
.museum-footer button:hover{color:white;text-decoration:underline;text-underline-offset:5px}
.museum-footer button:focus-visible{outline:2px solid #b47eb6;outline-offset:6px}
.footer-bottom{border-top:1px solid #292929;padding-top:24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-bottom small{font-size:var(--type-meta);line-height:var(--leading-meta);color:var(--text-muted);font-weight:var(--weight-reading)}
.footer-bottom .footer-top{font-size:var(--type-meta);display:flex;gap:24px;align-items:center}
@media(max-width:699px){.museum-footer{padding:48px 20px 24px}.footer-main{flex-direction:column;gap:40px;padding-bottom:40px}.footer-main nav{gap:20px 32px}.footer-bottom{align-items:flex-start}.footer-bottom small{max-width:60%}.footer-bottom .footer-top{white-space:nowrap;gap:12px}}
@media(max-width:699px){.museum-story{padding:56px 20px;grid-template-columns:1fr;gap:32px}.museum-story>h2{grid-column:1;grid-row:1}.story-image{grid-column:1;grid-row:2;aspect-ratio:4/3}.story-panel{grid-column:1;grid-row:3;padding:0}.story-dialog{padding:48px 24px}}
