:root {
  --color-bg: #f4f2ec; --color-text: #2c2a26; --color-heading: #161513;
  --color-muted: #6b6760; --color-accent: #2a2824; --color-surface: #fffcf8;
  --color-border: rgba(22,21,19,.08); --nav-fg: #1a1814; --nav-solid: rgba(244,242,236,.94);
  --nav-solid-fg: #161513; --btn-primary-fg: #fffcf8; --font-display: 'Cormorant Garamond', serif;
  --font-body: 'Outfit', 'Heebo', sans-serif; --footer-bg: #fffcf8; --btn-ghost-fg: #161513;
}
body { font-family: var(--font-body); background-color: var(--color-bg); font-weight: 300; color: var(--color-text);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .92  0 0 0 0 .90  0 0 0 0 .86  0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
h1,h2,h3 { font-family: var(--font-display); font-weight: 400; letter-spacing: -.02em; }
.site-nav:not(.is-solid) { background: transparent; }
.gal-hero { position: relative; min-height: 100vh; }
.gal-hero__bg { position: absolute; inset: 0; }
.gal-hero__bg img { width: 100%; height: 100%; object-fit: cover; animation: pan 32s ease-in-out infinite alternate; }
@keyframes pan { from { object-position: 30% 50%; } to { object-position: 70% 50%; } }
.gal-hero__veil { position: absolute; inset: 0; background:
  linear-gradient(180deg, rgba(255,252,248,.28) 0%, rgba(255,252,248,.08) 42%, rgba(36,32,28,.18) 100%); }
.gal-hero__frame { position: absolute; inset: 16vh 10vw 12vh; display: flex; flex-direction: column; justify-content: flex-end; padding: 0; color: #1a1814; text-shadow: 0 1px 16px rgba(255,252,248,.7); }
.gal-hero .eyebrow { letter-spacing: .28em; text-transform: uppercase; font-size: .72rem; color: #6b6760; margin-bottom: .8rem; }
.gal-hero h1 { font-size: clamp(3.2rem, 9vw, 7.2rem); line-height: .92; font-weight: 500; }
.gal-hero__frame > p:last-child { margin-top: 1rem; font-size: 1.2rem; max-width: 22ch; color: #3f3c37; font-weight: 300; }
.gal-exhibit { padding: 6rem 6vw 3rem; }
.gal-exhibit__head { max-width: 28rem; margin-bottom: 3.5rem; }
.gal-exhibit__head h2 { font-size: clamp(2rem, 4vw, 3.1rem); }
.gal-exhibit__head p { color: var(--color-muted); margin-top: .7rem; }
.gal-mason { display: grid; grid-template-columns: repeat(12, 1fr); gap: 3.2rem 1.8rem; align-items: end; }
.work { margin: 0; }
.work--s1 { grid-column: span 5; }
.work--s2 { grid-column: span 3; margin-top: 4.5rem; }
.work--s3 { grid-column: span 4; margin-top: 1.2rem; }
.work--s4 { grid-column: span 4; }
.work--s5 { grid-column: span 5; margin-top: 3.4rem; }
.work--s6 { grid-column: span 3; }
.work__hit { display: block; width: 100%; text-align: inherit; background: none; border: 0; padding: 0; cursor: pointer; color: inherit;
  transition: transform .7s var(--ease); }
.work:hover .work__hit { transform: translateY(-10px); }
.work__stage { position: relative; background: #fbfaf7; min-height: 38vh; overflow: hidden;
  box-shadow: 0 18px 50px rgba(30,28,24,.06); }
.work--s1 .work__stage, .work--s5 .work__stage { min-height: 54vh; }
.work--s2 .work__stage, .work--s6 .work__stage { min-height: 32vh; }
.work--frame .work__stage { padding: 11% 10% 16%; background:
  linear-gradient(180deg, #fbfaf7 0%, #f3f1ea 100%); box-shadow: inset 0 0 90px rgba(40,36,30,.03), 0 18px 50px rgba(30,28,24,.06); }
.work--frame .work__art { background: #fff; padding: 8px; box-shadow: 0 10px 28px rgba(30,28,24,.08), 0 0 0 1px rgba(30,28,24,.05); }
.work--frame .work__art img { width: 100%; height: 34vh; object-fit: cover; display: block; }
.work--s1.work--frame .work__art img, .work--s5.work--frame .work__art img { height: 42vh; }
.work--plinth .work__stage { display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
  padding: 8% 14% 0; background: linear-gradient(180deg, #f7f6f2 0%, #efece4 100%); }
.work--plinth .work__art { width: 72%; }
.work--plinth .work__art img { width: 100%; height: 34vh; object-fit: contain; object-position: bottom; filter: drop-shadow(0 18px 24px rgba(30,28,24,.16)); }
.work__plinth { display: block; width: 58%; height: 22px; margin-top: -2px; border-radius: 2px 2px 0 0;
  background: linear-gradient(180deg, #c4a06a 0%, #9a7544 42%, #7a5a32 100%);
  box-shadow: 0 10px 18px rgba(30,28,24,.12); }
.work--insitu .work__stage { padding: 0; }
.work--insitu .work__art, .work--insitu .work__art img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; display: block; }
.work figcaption { display: grid; gap: .15rem; margin-top: .85rem; font-size: .82rem; color: var(--color-muted); }
.work figcaption strong { font-family: var(--font-display); font-size: 1.15rem; color: var(--color-heading); font-weight: 500; }
.work figcaption em { font-style: normal; }
.gal-about { min-height: 92vh; padding: 12vh 8vw 14vh; display: grid; grid-template-columns: minmax(16rem, .9fr) minmax(20rem, 1.15fr); gap: 7vw; align-items: start; }
.gal-about h2 { font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: 1.05; margin: .4rem 0 1.4rem; }
.gal-about .lede { font-size: 1.28rem; line-height: 1.7; max-width: 22ch; color: #3a3832; }
.gal-about__body { padding-top: 4.5rem; }
.gal-about__body p { font-size: 1.05rem; line-height: 1.9; color: #3f3c37; margin-bottom: 1.5rem; max-width: 38rem; }
.gal-belief { background: #fffcf8; padding: 8vh 8vw; }
.gal-belief__inner { display: grid; grid-template-columns: 1.15fr .85fr; gap: 8vw; align-items: center; max-width: 1180px; margin: 0 auto; }
.gal-belief__text { text-align: right; }
.gal-belief__text h2 { font-size: 1rem; letter-spacing: .22em; text-transform: uppercase; font-family: var(--font-body); font-weight: 400; color: var(--color-muted); margin-bottom: 1.6rem; text-align: right; }
.gal-belief__text p { font-family: var(--font-display); font-size: clamp(1.45rem, 2.6vw, 2.15rem); font-style: italic; line-height: 1.45; max-width: 22ch; margin-inline-start: 0; margin-inline-end: auto; text-align: right; }
.gal-belief cite { display: block; margin-top: 1.8rem; font-style: normal; font-size: .88rem; color: var(--color-muted); text-align: right; }
.gal-belief__visual { position: relative; min-height: 48vh; }
.gal-belief__glyph { position: absolute; top: -8%; inset-inline-start: -4%; z-index: 2; font-family: var(--font-display); font-size: clamp(7rem, 16vw, 12rem); line-height: .7; color: rgba(22,21,19,.1); pointer-events: none; }
.gal-belief__visual img { width: 100%; height: 52vh; object-fit: cover; object-position: center 30%; filter: saturate(.95) contrast(1.04); }
.gal-gap { height: 18vh; background: #fffcf8; border-bottom: 1px solid rgba(22,21,19,.08); }
.gal-svc { display: grid; gap: 4.5rem 3.5rem; padding: 7rem 8vw 8rem; background: var(--color-bg); }
.gal-svc__head { grid-column: 1 / -1; }
.gal-svc__head h2 { font-size: clamp(2rem, 4vw, 3rem); }
@media (min-width: 860px) { .gal-svc { grid-template-columns: 1fr 1fr; } }
.gal-svc article { background: transparent; }
.gal-svc__media { overflow: hidden; }
.gal-svc__media img { width: 100%; height: 38vh; object-fit: cover; transition: transform 1s var(--ease); }
.gal-svc article:hover .gal-svc__media img { transform: scale(1.04); }
.gal-svc h3 { font-size: 1.7rem; margin: 1.1rem 0 .35rem; }
.gal-svc p { color: var(--color-muted); max-width: 36ch; }
.gal-space img { width: 100%; height: 62vh; object-fit: cover; }
.art-lb { position: fixed; inset: 0; z-index: 4000; background: rgba(250,249,246,.96); display: flex; align-items: center; justify-content: center; padding: 4rem 1.5rem; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .45s var(--ease), visibility .45s; }
.art-lb.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
.art-lb__stage { max-width: min(920px, 92vw); text-align: center; }
.art-lb__img { max-height: 78vh; max-width: 92vw; width: auto; height: auto; margin-inline: auto; object-fit: contain; box-shadow: 0 30px 80px rgba(22,21,19,.12); }
.art-lb__cap { margin-top: 1.1rem; color: #5c5852; font-size: .92rem; }
.art-lb__close { position: absolute; top: calc(var(--demo-h) + 1rem); inset-inline-end: 1.4rem; width: 44px; height: 44px; font-size: 1.8rem; line-height: 1; color: #161513; }
body.art-lb-lock { overflow: hidden; }
@media (max-width: 900px) {
  .gal-mason { grid-template-columns: 1fr 1fr; }
  .work--s1, .work--s2, .work--s3, .work--s4, .work--s5, .work--s6 { grid-column: span 1; margin-top: 0; }
  .gal-about, .gal-belief__inner { grid-template-columns: 1fr; gap: 2.5rem; min-height: 0; }
  .gal-about { padding: 5rem 7vw; }
  .gal-about__body { padding-top: 0; }
  .gal-belief__text p { margin-inline-start: 0; margin-inline-end: 0; }
}
@media (max-width: 620px) {
  .gal-mason { grid-template-columns: 1fr; }
  .gal-hero__frame { inset: 14vh 7vw 10vh; }
  .work--frame .work__art img, .work--s1.work--frame .work__art img { height: 38vh; }
}
@media (prefers-reduced-motion: reduce) { .gal-hero__bg img { animation: none; } .work:hover .work__hit { transform: none; } }