html:has(.museum-page){scroll-behavior:auto}
.museum-page{
  --sans:Manrope,Arial,Helvetica,sans-serif;
  --museum-wall:#ebe6da;--museum-red:#991928;--museum-header:108px;
  --museum-height:calc(100svh - var(--museum-header));
  --wall-texture:url('/assets/museum/ivory-museum-plaster.png');
  background:var(--museum-wall);font-family:var(--sans);color:#262923;
}
.museum-page .header{position:sticky;top:0;z-index:20;margin:0;max-width:none;padding-left:4.4%;padding-right:4.4%;background:#eee9dfed;backdrop-filter:blur(14px);border-color:#9e97883d}
.museum-page .logo{mix-blend-mode:multiply}
.museum-page main{max-width:none;margin:0}
.museum-stage{position:relative;isolation:isolate}
.museum-stage::before,.museum-stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:-2}
.museum-stage::before{background:var(--wall-texture) repeat;background-size:700px;background-position:var(--wall-x,0px) 0;opacity:.19}
.museum-stage::after{z-index:-1;background:radial-gradient(ellipse at 48% -15%,#fffae99c 0%,#fffae929 47%,transparent 70%),linear-gradient(90deg,#57432a12,transparent 24%,transparent 78%,#57432a0d)}
.museum-topline{display:flex;align-items:baseline;gap:24px;padding:22px 4.4%;border-bottom:1px solid #9e97882f}
.museum-topline h1{font:500 1.5rem/1.25 var(--sans);letter-spacing:-.04em;margin:0}
.museum-topline>span{font:500 .8125rem/1.4 var(--sans);color:#69685e}
.museum-topline>a{font-size:.875rem;margin-left:auto;white-space:nowrap}
.museum-track{display:flex;flex-direction:column;gap:100px;padding:60px 6vw 90px}
.museum-exhibit{display:flex;align-items:center;justify-content:center;gap:56px;margin:0;flex:none;--piece-height:clamp(200px,43svh,480px);--frame-width:50px}
.museum-artset{display:flex;align-items:center;gap:30px;flex:none}
.museum-frame,.museum-plaque{
  --shadow-x:12px;--shadow-y:18px;--shadow-blur:24px;--shadow-contact-x:2px;--turn:0deg;--lean:0deg;
  transform:perspective(1600px) rotateY(var(--turn)) rotateZ(var(--lean));transform-origin:center;
}
/* Generated moldings are nine-sliced; original artwork photographs remain intact. */
.museum-frame{display:block;position:relative;flex:none;padding:0;border:var(--frame-width) solid transparent;background:none;
  border-image-source:url('/assets/museum/dark-walnut-gold-frame.png');border-image-slice:225;border-image-repeat:stretch;
  box-shadow:var(--shadow-x) var(--shadow-y) var(--shadow-blur) -5px #30261747,var(--shadow-contact-x) 4px 7px #30261733;
}
.museum-frame img{height:var(--piece-height);width:calc(var(--piece-height) * var(--image-ratio));max-width:none;object-fit:contain}
.frame-gilt{border-image-source:url('/assets/museum/champagne-gold-frame.png');border-image-slice:214}
.museum-frame.frame-original{background:none;padding:0;border:0}
.museum-artset.is-series{display:grid;grid-template-columns:repeat(3,auto);gap:22px;--piece-height:clamp(100px,15svh,170px);--frame-width:23px}
.museum-artset.is-diptych{--piece-height:clamp(180px,36svh,390px)}
.museum-plaque{
  --shadow-x:5px;--shadow-y:8px;--shadow-blur:11px;
  width:278px;flex:none;padding:25px 25px 18px;align-self:center;border:1px solid #cbc6ba;
  background:#dfdacf;
  box-shadow:inset 0 1px 0 #f7f2e6,inset 0 -1px 0 #b8b1a340,var(--shadow-x) var(--shadow-y) var(--shadow-blur) -3px #30291f30,var(--shadow-contact-x) 2px 3px #34352b18;
}
.museum-inventory{display:block;font:500 .75rem/1.4 var(--sans);letter-spacing:.09em;color:#777266;margin-bottom:16px}
.museum-plaque h2{font:650 1rem/1.45 var(--sans);margin:0 0 9px;letter-spacing:-.015em}
.museum-work-title{font:500 1.1875rem/1.4 var(--sans);margin:0 0 16px;letter-spacing:-.025em}
.museum-work-meta,.museum-series{font:450 1rem/1.45 var(--sans);color:#4e4b43;margin:0 0 12px}
.museum-work-meta>span{display:block}
.museum-price{font:550 .9375rem/1.4 var(--sans);margin:19px 0 12px;color:#7a1522}
.museum-detail{display:flex;align-items:center;justify-content:space-between;min-height:40px;width:100%;font:500 .875rem/1.4 var(--sans);border-top:1px solid #8e83702e;padding-top:9px}
.museum-controls{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 4.4% 20px}
.museum-controls>p{font:500 .875rem/1.4 var(--sans);margin:0}
.museum-scroll-hint-mobile,.museum-contact-label-mobile{display:none}
.museum-stepper{display:flex;align-items:center;gap:10px}
.museum-stepper>span{font:500 .875rem/1.2 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.04em;margin-right:12px}
.museum-stepper button{width:44px;height:44px;background:#fffdf529;border:1px solid #958c7a80;color:#30352b;border-radius:50%;cursor:pointer;font-size:1.25rem}
.museum-stepper button:hover{background:var(--museum-red);border-color:var(--museum-red);color:#fff}
.museum-stepper button:disabled{opacity:.3;cursor:default;background:none;color:#30352b;border-color:#958c7a80}
.museum-progress{position:absolute;bottom:0;left:4.4%;right:4.4%;height:2px;background:#968b742b}
.museum-progress>span{display:block;height:100%;width:100%;background:var(--museum-red);transform:scaleX(0);transform-origin:left}
.museum-page.is-walk-ready .museum-walk{height:calc(var(--museum-distance) + var(--museum-height))}
.museum-page.is-walk-ready .museum-stage{height:var(--museum-height);min-height:360px;position:sticky;top:var(--museum-header);display:flex;flex-direction:column;overflow:hidden}
.museum-page.is-walk-ready .museum-viewport{flex:1;min-height:0;overflow:hidden;display:flex;align-items:center}
.museum-page.is-walk-ready .museum-track{flex-direction:row;align-items:center;width:max-content;padding:0 6vw;gap:clamp(150px,20vw,340px);will-change:transform;transform:translate3d(var(--museum-x,0px),0,0)}
.museum-page.is-walk-ready .museum-exhibit{flex-direction:row;--piece-height:clamp(140px,calc(var(--museum-height) - 310px),520px)}
.museum-page.is-walk-ready .museum-artset:not(.is-series):not(.is-diptych) .frame-original{--piece-height:clamp(180px,calc(var(--museum-height) - 220px),620px)}
.museum-page.is-walk-ready .museum-artset.is-series{--piece-height:clamp(70px,calc((var(--museum-height) - 295px) / 2),180px);--frame-width:23px}
.museum-page.is-walk-ready .museum-artset.is-diptych{--piece-height:clamp(150px,calc(var(--museum-height) - 250px),390px)}
.museum-page:not(.is-walk-ready) .museum-artset{max-width:calc(100vw - 410px);flex-shrink:1;min-width:0}
.museum-page:not(.is-walk-ready) .museum-frame{flex:0 1 auto;min-width:0}
.museum-page:not(.is-walk-ready) .museum-frame img{width:auto;height:auto;max-width:100%;max-height:55svh}
.museum-finale{--finale-reveal:0;position:relative;height:calc(var(--museum-height) * 1.65);background:var(--museum-wall) var(--wall-texture) repeat;background-size:840px}
.museum-finale-pin{position:sticky;top:var(--museum-header);height:var(--museum-height);min-height:540px;display:flex;align-items:stretch;overflow:hidden}
.museum-finale-surface{width:100%;padding:22px 6vw 18px;background:var(--museum-red);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:18px;transform:scale(calc(.84 + .16 * var(--finale-reveal)));transform-origin:center}
.museum-finale-logo{display:block;width:clamp(300px,52vw,720px);max-width:100%;transform:scale(calc(.7 + .3 * var(--finale-reveal)));transform-origin:left bottom}
.museum-finale-logo img{width:100%;height:auto}
.museum-finale-grid{display:grid;grid-template-columns:1fr;align-items:stretch}
.museum-finale-visit h2{font:650 1.0625rem/1.4 var(--sans);margin:0 0 12px}
.museum-finale-visit address{font:450 1.25rem/1.5 var(--sans)}
.museum-finale-contacts{display:flex;flex-wrap:wrap;column-gap:24px;row-gap:8px;margin-top:18px;font:450 1rem/1.5 var(--sans)}
.museum-finale-maps{display:flex;flex-wrap:wrap;gap:0 22px;margin-top:6px;font:500 .9375rem/1.5 var(--sans)}
.museum-finale-maps a{display:inline-flex;align-items:center;gap:5px;min-height:44px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#ffffff80}
.museum-finale a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.museum-finale a:focus-visible{outline-color:#fff}
.museum-socials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding-top:16px;border-top:1px solid #ffffff55}
.museum-social-placeholder{font:500 .9375rem/1.5 var(--sans);display:flex;flex-direction:column;gap:5px}
.museum-social-placeholder small{font-size:.8125rem;color:#f4dce0}
.museum-finale.is-natural{height:auto}
.museum-finale.is-natural .museum-finale-pin{height:auto;min-height:0;position:relative;top:0}
.museum-finale.is-natural .museum-finale-surface{padding-top:36px;padding-bottom:36px}
.museum-page:not(.is-walk-ready) .museum-finale{height:auto;--finale-reveal:1}
.museum-page:not(.is-walk-ready) .museum-finale-pin{height:auto;min-height:0;position:relative;top:0}
.museum-page:not(.is-walk-ready) .museum-finale-surface,.museum-page:not(.is-walk-ready) .museum-finale-logo{transform:none}
.museum-page:not(.is-walk-ready) .museum-finale-surface{padding-top:36px;padding-bottom:36px}
@media(max-width:800px){
  .museum-exhibit{gap:38px;--frame-width:42px}.museum-plaque{width:244px;padding:22px 22px 18px}
  .museum-topline{gap:16px}.museum-topline h1{font-size:1.3rem}.museum-topline>span{display:none}
}
@media(max-width:760px){
  .museum-finale{height:auto}.museum-finale-pin{position:relative;top:0;height:auto;min-height:0}
  .museum-finale-surface{padding:32px 6vw;gap:24px}.museum-finale-logo{width:320px}
  .museum-socials{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.museum-finale-contacts{flex-direction:column;gap:8px}
  .museum-finale-visit address{font-size:1.125rem}
}
@media(max-width:560px){
  .museum-topline{padding:16px 4.4%;gap:14px}.museum-topline h1{font-size:1.125rem;letter-spacing:-.04em}.museum-topline>a{font-size:.875rem}
  .museum-page.is-walk-ready .museum-exhibit{--piece-height:clamp(160px,40svh,295px);--frame-width:35px;gap:38px}
  .museum-page.is-walk-ready .museum-frame{--image-max-width:calc(100vw - 122px);--render-height:min(var(--piece-height),calc(var(--image-max-width) / var(--image-ratio)))}
  .museum-page.is-walk-ready .museum-frame img{height:var(--render-height);width:calc(var(--render-height) * var(--image-ratio));max-width:none;max-height:none}
  .museum-page.is-walk-ready .museum-artset:not(.is-series):not(.is-diptych) .frame-original{--piece-height:clamp(170px,40svh,310px)}
  .museum-page.is-walk-ready .museum-frame.frame-original{--image-max-width:calc(100vw - 60px)}
  .museum-page.is-walk-ready .museum-artset.is-diptych{--piece-height:220px}
  .museum-page.is-walk-ready .museum-artset.is-series{--piece-height:120px;--frame-width:20px;gap:18px}
  .museum-plaque{width:230px;padding:22px 21px 17px}.museum-plaque h2{font-size:1rem}.museum-work-title{font-size:1.125rem}
  .museum-inventory{margin-bottom:16px}.museum-controls{padding-top:10px;padding-bottom:14px;gap:10px}.museum-controls>p{font-size:.8125rem}
  .museum-stepper{gap:8px}.museum-stepper>span{margin-right:2px;font-size:.8125rem}
  .museum-track{padding-left:24px;padding-right:24px}
  .museum-page:not(.is-walk-ready) .museum-exhibit{flex-direction:column;--frame-width:30px;gap:30px}
  .museum-page:not(.is-walk-ready) .museum-plaque{width:min(100%,340px)}
  .museum-page:not(.is-walk-ready) .museum-artset{max-width:100%;flex-wrap:wrap;justify-content:center}
  .museum-page:not(.is-walk-ready) .museum-frame img{max-width:calc(100vw - 120px);max-height:55svh}
  .museum-page:not(.is-walk-ready) .frame-original img{max-width:calc(100vw - 48px)}
  .museum-page:not(.is-walk-ready) .museum-artset.is-series{grid-template-columns:repeat(2,minmax(0,1fr));--frame-width:14px;gap:18px}
  .museum-page:not(.is-walk-ready) .museum-artset.is-series img{width:100%;max-width:100%}
}
@media(prefers-reduced-motion:reduce){
  .museum-page .header{position:relative}.museum-page .museum-track{will-change:auto}
  .museum-frame,.museum-plaque{transform:none}
  .museum-finale{height:auto;--finale-reveal:1}.museum-finale-pin{position:relative;top:0;height:auto;min-height:0}
  .museum-finale-surface,.museum-finale-logo{transform:none}.museum-finale-surface{padding-top:36px;padding-bottom:36px}
}
/* Mobile homepage: a viewport-sized horizontal gallery, including touch landscape. */
@media(max-width:760px),(max-width:1024px) and (pointer:coarse){
  html.has-mobile-museum{height:100%;overflow:hidden;overscroll-behavior-y:none}
  .museum-home{--wall-texture:url('/assets/museum/ivory-museum-plaster-mobile.webp')}
  .museum-home.is-mobile-native{position:fixed;inset:0;width:100%;height:100svh;height:100dvh;overflow:hidden;display:flex;flex-direction:column;overscroll-behavior-y:none}
  .museum-home .header{background:#eee9df;backdrop-filter:none;-webkit-backdrop-filter:none}
  .museum-home.is-mobile-native .header{flex-shrink:0}
  .museum-home.is-mobile-native main,.museum-home.is-mobile-native .museum-walk{display:flex;flex:1;flex-direction:column;min-height:0;height:auto}
  .museum-home.is-mobile-native .museum-stage{position:relative;top:0;flex:1;height:auto;min-height:0}
  .museum-home.is-mobile-native .museum-topline,.museum-home.is-mobile-native .museum-controls{flex-shrink:0}
  .museum-home.is-mobile-native .museum-topline{align-items:center;padding-top:8px;padding-bottom:8px}
  .museum-home.is-mobile-native .museum-topline>a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
  .museum-home .museum-stage::before{background-position:0 0}
  .museum-home .museum-frame{transform:none;box-shadow:8px 14px 20px -5px #30261747,2px 4px 7px #30261733}
  .museum-home .museum-frame.frame-walnut{border-image-source:url('/assets/museum/dark-walnut-gold-frame-mobile.webp');border-image-slice:115}
  .museum-home .museum-frame.frame-original{border-image-source:none}
  .museum-home .museum-plaque{transform:none;box-shadow:inset 0 1px 0 #f7f2e6,inset 0 -1px 0 #b8b1a340,4px 7px 10px -3px #30291f30,1px 2px 3px #34352b18}
  .museum-home.is-mobile-native .museum-viewport{overflow-x:auto;overflow-y:hidden;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:none;-webkit-overflow-scrolling:touch;contain:layout paint;overscroll-behavior-x:contain}
  .museum-home.is-mobile-native .museum-viewport::-webkit-scrollbar{display:none}
  .museum-home.is-mobile-native .museum-track{transform:none;will-change:auto;flex:none;height:100%;gap:72px}
  .museum-home.is-mobile-native .museum-exhibit{height:100%;gap:22px;--frame-width:35px}
  .museum-home.is-mobile-native .museum-frame{--piece-height:min(295px,max(36px,calc(var(--mobile-art-space,340px) - 2 * var(--frame-width))));--image-max-width:calc(100vw - 100px - 2 * var(--frame-width));--render-height:min(var(--piece-height),calc(var(--image-max-width) / var(--image-ratio)))}
  .museum-home.is-mobile-native .museum-artset:not(.is-series):not(.is-diptych) .frame-original{--piece-height:min(310px,var(--mobile-art-space,340px))}
  .museum-home.is-mobile-native .museum-frame.frame-original{--image-max-width:calc(100vw - 100px)}
  .museum-home.is-mobile-native .museum-frame img{height:var(--render-height);width:calc(var(--render-height) * var(--image-ratio));max-width:none;max-height:none}
  .museum-home.is-mobile-native .museum-plaque{width:230px;max-height:calc(100% - 32px);overflow-y:auto;overscroll-behavior-y:contain;padding:22px 21px 17px}
  .museum-home.is-mobile-native .museum-controls{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  .museum-home.is-mobile-native .museum-controls>p{font-size:.875rem}
  .museum-home.is-mobile-native .museum-scroll-hint-desktop,.museum-home.is-mobile-native .museum-contact-label-desktop{display:none}
  .museum-home.is-mobile-native .museum-scroll-hint-mobile,.museum-home.is-mobile-native .museum-contact-label-mobile{display:inline}
  .museum-home .museum-finale-surface,.museum-home .museum-finale-logo{transform:none}
  .museum-home .museum-contact-dialog{width:calc(100% - 24px);max-width:560px;max-height:calc(100svh - 24px);max-height:calc(100dvh - 24px);padding:0;border:0;background:var(--museum-red);color:#fff;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 20px 60px #24171166}
  .museum-home .museum-contact-dialog::backdrop{background:#24201885}
  .museum-home .museum-contact-bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 22px;background:var(--museum-red);border-bottom:1px solid #ffffff55}
  .museum-home .museum-contact-bar h2{margin:0;font:600 1rem/1.4 var(--sans)}
  .museum-home .museum-contact-bar button{min-height:44px;padding:0 12px;border:1px solid #ffffff80;border-radius:4px;background:transparent;color:#fff;cursor:pointer}
  .museum-home .museum-contact-bar button:focus-visible{outline-color:#fff}
  .museum-home .museum-contact-dialog .museum-finale{height:auto}
  .museum-home .museum-contact-dialog .museum-finale-pin{position:relative;top:0;height:auto;min-height:0}
  .museum-home .museum-contact-dialog .museum-finale-surface{padding:24px 22px 28px;gap:24px}
  .museum-home .museum-contact-dialog .museum-finale-logo{width:280px}
  .museum-home .museum-contact-dialog .museum-finale-contacts{flex-direction:column;gap:8px}
  .museum-home .museum-contact-dialog .museum-finale-contacts a{display:inline-flex;align-items:center;min-height:44px}
}
@media(max-width:1024px) and (max-height:540px) and (pointer:coarse){
  .museum-home.is-mobile-native .header{height:auto;min-height:64px;flex-wrap:nowrap;padding-top:10px;padding-bottom:10px;gap:24px}
  .museum-home.is-mobile-native .logo{width:132px}
  .museum-home.is-mobile-native .header nav{width:auto;gap:20px}
  .museum-home.is-mobile-native .header nav .header-phone,.museum-home.is-mobile-native .header nav .nav-contacts{display:none}
  .museum-home.is-mobile-native .museum-topline>span{display:none}
  .museum-home.is-mobile-native .museum-topline{padding-top:0;padding-bottom:0}
  .museum-home.is-mobile-native .museum-controls{padding-top:6px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
  .museum-home.is-mobile-native .museum-exhibit{--frame-width:22px}
}
