:root {
  color-scheme: light;
  --blue: #3b6ea5;
  --silver: #d1d1d1;
  --ink: #171717;
  --muted: #777;
  --content-width: 1200px;
  --serif: "Iowan Old Style", "Baskerville", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  background: #fff;
  color: var(--ink);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}

body {
  min-width: 320px;
  margin: 0;
  background: #fff;
  font-size: 16px;
}

a {
  color: inherit;
  text-decoration: none;
}

.page-shell {
  width: min(var(--content-width), calc(100% - 56px));
  margin-inline: auto;
}

main.page-shell {
  width: 100%;
}

main.page-shell > :not(.hero-frame):not(.hero-frame-slim) {
  width: min(var(--content-width), calc(100% - 56px));
  margin-inline: auto;
}

.site-header {
  min-height: 116px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.brand {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  flex-shrink: 0;
  width: clamp(224px, calc(100vw - 580px), 474px);
  height: 84px;
  color: #1b1b1b;
  line-height: 1;
}

.brand-logo {
  display: block;
  flex-shrink: 0;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
}

.brand-name {
  font-family: var(--serif);
  font-size: 25px;
  letter-spacing: 0.035em;
  white-space: nowrap;
}

.brand-type {
  margin-top: 8px;
  font-size: 9px;
  letter-spacing: 0.43em;
  padding-left: 2px;
}

.primary-nav {
  display: flex;
  align-items: center;
  gap: clamp(22px, 3.8vw, 54px);
}

.primary-nav a {
  font-size: 10px;
  letter-spacing: 0.16em;
  white-space: nowrap;
  transition: opacity 180ms ease;
}

.primary-nav a:hover {
  opacity: 0.55;
}

.hero-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 1284 / 442;
  overflow: hidden;
  border: 1px solid var(--silver);
  background: #fff;
}

.hero-frame .hero-poster,
.hero-frame video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-frame video {
  opacity: 0;
  transition: opacity 500ms ease;
}

.hero-frame video.is-playing {
  opacity: 1;
}

.section-band {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  min-height: 34px;
  padding: 7px 12px 6px;
  background: var(--blue);
  color: #fff;
  font-family: var(--serif);
  font-size: 32px;
  letter-spacing: 0.02em;
  line-height: 1.15;
}

.section-band .band-dark {
  margin-left: 5px;
  color: #000;
}

.directory-band {
  justify-content: center;
  text-align: center;
}

.entry-section {
  padding-top: 24px;
}

.section-intro {
  margin: 0 0 36px;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
}

.door-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.door-tile {
  position: relative;
  display: block;
  aspect-ratio: 0.71;
  overflow: hidden;
  background: #fff;
  transition: transform 240ms ease;
}

.door-tile:hover,
.door-tile:focus-visible {
  transform: translateY(-4px);
}

.door-tile:not(:has(img.media-ready)) .door-title {
  color: var(--ink);
  text-shadow: none;
}

.door-tile img,
.painting-image img,
.imagine-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 450ms ease, transform 700ms cubic-bezier(0.2, 0.65, 0.25, 1);
}

.door-tile img.media-ready,
.painting-image img.media-ready {
  opacity: 1;
}

.door-tile:hover img.media-ready,
.door-tile:focus-visible img.media-ready {
  transform: scale(1.05);
}

.door-title {
  position: absolute;
  z-index: 1;
  left: 17px;
  right: 12px;
  bottom: 17px;
  color: #fff;
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1.15;
  text-shadow: 0 1px 9px rgb(0 0 0 / 32%);
  transition: transform 240ms ease;
}

.door-tile:hover .door-title {
  transform: translateY(-3px);
}

.door-corner {
  position: absolute;
  z-index: 1;
  top: 13px;
  right: 15px;
  color: #fff;
  font-size: 17px;
  line-height: 1;
  text-shadow: 0 1px 6px rgb(0 0 0 / 40%);
  pointer-events: none;
}

.favorite-section {
  padding-top: 73px;
}

.section-heading {
  margin: 0 0 26px;
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.085em;
  line-height: 1.2;
}

.favorite-section > .section-heading {
  text-align: center;
}

.favorite-section > p {
  max-width: 900px;
  margin: 40px auto 0;
  color: #444;
  font-family: var(--serif);
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
}

.painting-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 25px;
}

.painting-card {
  min-width: 0;
  text-align: center;
}

.painting-image {
  position: relative;
  width: 100%;
  aspect-ratio: 0.91;
  overflow: hidden;
  background: #fff;
}

.painting-image::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  z-index: 1;
  background: linear-gradient(transparent, rgb(0 0 0 / 62%));
  opacity: 0;
  transition: opacity 300ms ease;
  pointer-events: none;
}

.painting-overlay {
  position: absolute;
  z-index: 2;
  right: 20px;
  bottom: 18px;
  left: 20px;
  color: #fff;
  font-family: var(--serif);
  font-size: clamp(22px, 2.3vw, 30px);
  font-style: italic;
  line-height: 1.2;
  text-align: left;
  text-shadow: 0 1px 7px rgb(0 0 0 / 45%);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 300ms ease, transform 350ms ease;
  pointer-events: none;
}

.painting-image:is(:hover, :focus-visible) img.media-ready {
  transform: scale(1.035);
}

.painting-image:is(:hover, :focus-visible)::after,
.painting-image:is(:hover, :focus-visible) .painting-overlay {
  opacity: 1;
  transform: translateY(0);
}

.painting-image:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 4px;
}

.painting-artist {
  margin: 17px 0 5px;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0.13em;
  line-height: 1.3;
}

.painting-title {
  margin: 0;
  color: var(--muted);
  font-family: var(--serif);
  font-size: 14px;
  line-height: 1.35;
}

.exhibition-action {
  display: flex;
  justify-content: center;
  margin-top: 35px;
}

.exhibition-button {
  display: inline-block;
  max-width: 100%;
  padding: 18px 36px;
  border: 0;
  background: #000;
  color: #c0c5cc;
  font-family: var(--sans);
  font-size: 16px;
  letter-spacing: 0.12em;
  line-height: 1.25;
  text-align: center;
  transition: color 180ms ease;
}

.exhibition-button:hover {
  color: #e4e8ed;
}

.imagine-section {
  padding-top: 66px;
}

.imagine-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #fff;
}

.imagine-frame img {
  position: absolute;
  inset: 0;
  transition: opacity 900ms ease;
}

.imagine-frame img.is-active.media-ready {
  opacity: 1;
}

/* Homepage only: center each framed artwork, not the surrounding interior.
   Retain the frame size; the high fireplace subject needs a tighter crop
   to reach the vertical center without exposing an empty edge. */
.imagine-frame--centered img {
  inset: auto;
  left: 50%;
  top: 50%;
  width: auto;
  max-width: none;
  object-fit: cover;
}

.imagine-frame--centered .imagine-bar {
  height: 112%;
  transform: translate(-49.2%, -44.8%);
  object-position: 49.2% 44.8%;
}

.imagine-frame--centered .imagine-fireplace {
  height: 200%;
  transform: translate(-49.7%, -25.2%);
  object-position: 49.7% 25.2%;
}

.imagine-credit {
  margin: 13px 0 0;
  color: #858585;
  font-size: 11px;
  letter-spacing: 0.025em;
  text-align: center;
}

.imagine-caption {
  position: relative;
  display: grid;
  min-height: 96px;
  place-items: center;
  margin: 11px 0 0;
  text-align: center;
}

.imagine-caption p {
  grid-area: 1 / 1;
  width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  margin: 0;
  color: #272727;
  font-family: var(--serif);
  font-size: 16px;
  line-height: 1.25;
  opacity: 0;
  visibility: hidden;
  transition: opacity 900ms ease, visibility 0s linear 900ms;
}
.imagine-caption p:not(.is-active) { opacity: 0; visibility: hidden; }

.imagine-caption p.is-active {
  opacity: 1;
  visibility: visible;
  transition: opacity 900ms ease, visibility 0s;
}

.site-footer {
  margin-top: 86px;
  background: #141414;
  color: #f3f3f3;
}

.footer-inner {
  display: flex;
  min-height: 178px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-block: 36px;
}

.footer-brand {
  font-family: var(--serif);
  font-size: 17px;
  letter-spacing: 0.06em;
}

.footer-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 9px;
  color: #c9c9c9;
  font-size: 11px;
  letter-spacing: 0.035em;
}

.footer-meta p {
  margin: 0;
}

.footer-meta a:hover {
  color: #fff;
}

@media (max-width: 720px) {
  .page-shell {
    width: min(var(--content-width), calc(100% - 32px));
  }

  main.page-shell > :not(.hero-frame):not(.hero-frame-slim) {
    width: min(var(--content-width), calc(100% - 32px));
  }

  .site-header {
    min-height: 102px;
    flex-wrap: wrap;
    gap: 18px;
    padding-block: 20px 15px;
  }

  .brand-name {
    font-size: 21px;
  }

  .brand {
    width: min(343px, 100%);
    height: 38px;
  }

  .primary-nav {
    gap: clamp(13px, 4vw, 25px);
  }

  .primary-nav a {
    font-size: 9px;
    letter-spacing: 0.1em;
  }

  .entry-section {
    padding-top: 20px;
  }

.section-intro {
  margin-bottom: 30px;
}

  .door-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .door-tile {
    aspect-ratio: 0.78;
  }

  .door-title {
    left: 12px;
    bottom: 13px;
    white-space: normal;
  }

  .favorite-section {
    padding-top: 55px;
  }

  .painting-grid {
    grid-template-columns: 1fr;
    gap: 31px;
    max-width: 470px;
    margin-inline: auto;
  }

  .painting-image {
    aspect-ratio: 1 / 0.88;
  }

  .imagine-section {
    padding-top: 45px;
  }

  .imagine-frame {
    aspect-ratio: 4 / 3;
  }

  .imagine-caption {
    min-height: 108px;
  }

  .site-footer {
    margin-top: 60px;
  }

  .footer-inner {
    min-height: 160px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: 20px;
  }

  .footer-meta {
    align-items: flex-start;
  }
}

@media (max-width: 390px) {
  .site-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .primary-nav {
    width: 100%;
    justify-content: space-between;
  }
}

@media (max-width: 360px) {
  .door-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Shared navigation additions for the static gallery pages. */
.nav-dropdown {
  position: relative;
}

.nav-dropdown summary {
  cursor: pointer;
  font-size: 10px;
  letter-spacing: 0.16em;
  list-style: none;
  white-space: nowrap;
  transition: opacity 180ms ease;
}

.nav-dropdown summary::-webkit-details-marker {
  display: none;
}

.nav-dropdown summary::after {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-left: 6px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}

.nav-dropdown summary:hover,
.nav-dropdown summary:focus-visible {
  opacity: 0.55;
}

.nav-dropdown-menu {
  position: absolute;
  z-index: 5;
  top: calc(100% + 12px);
  left: -16px;
  display: none;
  min-width: 142px;
  padding: 10px 16px;
  border: 1px solid var(--silver);
  background: #fff;
  box-shadow: 0 8px 20px rgb(0 0 0 / 8%);
}

.nav-dropdown[open] .nav-dropdown-menu {
  display: grid;
  gap: 14px;
}

.nav-dropdown-menu::before {
  content: "";
  position: absolute;
  top: -13px;
  right: 0;
  left: 0;
  height: 13px;
}

.nav-dropdown-menu a {
  display: block;
  padding-block: 3px;
}

.nav-dropdown:focus-within .nav-dropdown-menu a:focus-visible,
.primary-nav a:focus-visible,
.brand:focus-visible {
  outline: 1px solid var(--blue);
  outline-offset: 4px;
}

/* About and artists pages only. */
.about-copy,
.artists-list {
  width: min(820px, calc(100% - 56px));
  margin-inline: auto;
}

.about-tagline,
.artists-tagline {
  margin: 0 auto;
  padding: 56px 0 62px;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.25;
  text-align: center;
}

.about-facts-band {
  display: flex;
  align-items: center;
  padding-block: 48px;
  background: #141414;
  color: #f3f3f3;
}

main.page-shell > .about-facts-band {
  width: 100%;
  margin-inline: 0;
}

.about-facts-inner {
  width: min(var(--content-width), calc(100% - 56px));
  margin-inline: auto;
  font-family: var(--serif);
  font-size: clamp(25px, 5.1vw, 68px);
  line-height: 1.34;
  text-align: left;
}

.about-copy {
  padding-top: 88px;
  font-family: var(--serif);
}

.about-copy h1,
.artists-list h1 {
  margin: 0 0 31px;
  font-size: clamp(30px, 4.2vw, 50px);
  font-weight: 400;
  letter-spacing: 0.035em;
  line-height: 1.1;
}

.about-copy h2 {
  margin: 0 0 25px;
  font-size: clamp(23px, 2.7vw, 34px);
  font-weight: 400;
  line-height: 1.25;
}

.about-copy > p {
  margin: 0 0 27px;
  color: #3e3e3e;
  font-size: 16px;
  line-height: 1.65;
}

.about-copy .about-facts {
  margin-top: 37px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.9;
}

.about-copy a,
.artists-list a {
  text-decoration: underline;
  text-decoration-color: #a7a7a7;
  text-underline-offset: 4px;
  transition: text-decoration-color 180ms ease, opacity 180ms ease;
}

.about-copy a:hover,
.artists-list a:hover {
  text-decoration-color: currentColor;
  opacity: 0.62;
}

.about-copy .explore-link {
  display: inline-block;
  margin: 3px 0 27px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  letter-spacing: 0.12em;
  text-decoration: none;
}

.about-copy blockquote {
  margin: 62px 0 84px;
  padding: 0;
  font-size: clamp(25px, 3.4vw, 43px);
  line-height: 1.35;
  text-align: center;
}

.about-copy .mission-copy {
  padding-bottom: 5px;
}

main.page-shell > .about-mission {
  width: 100%;
  font-family: var(--serif);
}

.about-mission-copy {
  padding-top: 32px;
}

.about-mission-copy p {
  margin: 0 0 27px;
  color: #3e3e3e;
  font-size: 16px;
  line-height: 1.65;
}

.artists-list {
  padding-top: 78px;
  padding-bottom: 20px;
}

.artists-list h1 {
  margin-bottom: 39px;
}

.artists-list ul {
  display: grid;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: var(--serif);
  font-size: 16px;
  line-height: 1.35;
}

.artists-list a {
  text-decoration: none;
}

@media (max-width: 720px) {
  .nav-dropdown summary {
    font-size: 9px;
    letter-spacing: 0.1em;
  }

  .about-copy,
  .artists-list {
    width: min(820px, calc(100% - 32px));
  }

  .about-tagline,
  .artists-tagline {
    padding: 40px 0 45px;
  }

  .about-facts-inner {
    width: calc(100% - 32px);
    font-size: clamp(28px, 8vw, 44px);
  }

  .about-copy {
    padding-top: 60px;
  }

  .about-copy blockquote {
    margin: 48px 0 65px;
  }

  .artists-list {
    padding-top: 57px;
  }
}

/* Artist rooms: quiet gallery framing, with the full artwork always visible. */
main.artist-room > .artist-room-copy {
  width: min(820px, calc(100% - 56px));
  margin: 0 auto;
  padding-top: 70px;
}

.artist-room-title {
  margin: 0 0 23px;
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 400;
  letter-spacing: 0.035em;
  line-height: 1.15;
}

.artist-room-bio {
  margin: 0;
  color: #3e3e3e;
  font-size: 16px;
  line-height: 1.65;
}

main.artist-room > .artist-room-work {
  width: min(820px, calc(100% - 56px));
  margin: 48px auto 0;
  text-align: center;
}

.artist-room-artwork {
  position: relative;
  display: grid;
  width: 100%;
  aspect-ratio: 1 / 0.88;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--silver);
  background: #f7f7f7;
}

.artist-room-artwork img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0;
  transition: opacity 450ms ease;
}

.artist-room-artwork img.media-ready {
  opacity: 1;
}

.artist-room-artwork img.media-missing {
  opacity: 0;
}

.artist-room-work figcaption {
  margin-top: 16px;
  color: var(--muted);
  font-family: var(--serif);
  font-size: 16px;
  line-height: 1.35;
}

@media (max-width: 720px) {
  main.artist-room > .artist-room-copy,
  main.artist-room > .artist-room-work {
    width: min(820px, calc(100% - 32px));
  }

  main.artist-room > .artist-room-copy {
    padding-top: 45px;
  }

  .artist-room-title {
    font-size: 32px;
  }

  main.artist-room > .artist-room-work {
    margin-top: 35px;
  }

  .artist-room-artwork {
    aspect-ratio: 1 / 1;
  }
}


/* === Header: founder enlargement (desktop 366x65 wordmark, 24px nav) + mobile hamburger menu (Squarespace mobile recreation) === */
.site-header .brand-logo{width:366px;height:65px;max-width:none;}
.site-header .primary-nav a,.site-header .primary-nav summary{font-size:24px;letter-spacing:0.08em;}
.site-header .primary-nav{gap:36px;}
.mobile-menu-btn{display:none;}
.mobile-menu{display:none;}
@media (max-width:1240px){
.site-header{min-height:0;padding:12px 20px;background:#fff;display:flex;align-items:center;justify-content:space-between;}
.site-header .primary-nav{display:none;}
.site-header .brand-logo{width:215px;height:38px;}
.mobile-menu-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:44px;height:44px;background:none;border:0;padding:0;cursor:pointer;}
.mobile-menu-btn span{display:block;width:26px;height:2px;background:#141414;}
.mobile-menu{position:fixed;inset:0;z-index:600;background:#fff;display:none;flex-direction:column;}
.mobile-menu.open{display:flex;}
body.menu-open{overflow:hidden;}
.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;}
.mobile-menu-word{font-family:Poppins,Arial,sans-serif;font-weight:600;font-size:20px;letter-spacing:.14em;color:#111;}
.mobile-menu-close{position:relative;width:44px;height:44px;background:none;border:0;padding:0;cursor:pointer;}
.mobile-menu-close span{position:absolute;left:10px;top:21px;width:24px;height:2px;background:#111;}
.mobile-menu-close span:first-child{transform:rotate(45deg);}
.mobile-menu-close span:last-child{transform:rotate(-45deg);}
.mobile-menu-links{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;margin:0;padding:0 20px 48px;}
.mobile-menu-links a,.mm-scoop{font-family:Poppins,Arial,sans-serif;font-weight:500;font-size:42px;line-height:1.15;letter-spacing:.02em;color:#111;text-decoration:none;background:none;border:0;padding:0;cursor:pointer;}
.mm-item{display:flex;flex-direction:column;align-items:center;}
.mm-chev{display:inline-block;margin-left:12px;transition:transform .2s ease;}
.mm-item.open .mm-chev{transform:rotate(90deg);}
.mm-sub{display:none;flex-direction:column;align-items:center;gap:20px;margin:22px 0 0;padding:0;}
.mm-item.open .mm-sub{display:flex;}
.mm-sub a{font-size:27px;color:#333;}
}
/* === Founder: center Imagine Art block (placement only; mirrors template treatment) === */
main.page-shell>section.imagine-section{width:min(var(--content-width),calc(100% - 56px));margin-inline:auto;}
.imagine-section .section-band{justify-content:center;text-align:center;}
@media (max-width:720px){
main.page-shell>section.imagine-section{width:min(var(--content-width),calc(100% - 32px));}
}
.imagine-section .section-band>span{margin-inline:auto;}
/* === New footer: v64 sketch spec (mosaic strip + fragment cards + center column) === */
.site-footer{display:block;margin:0;padding:0;background:#0B0E13;}
.footer-mosaic{display:flex;height:5px;margin:0;padding:0;}
.footer-mosaic span{flex:1;display:block;min-width:0;}
.footer-panel{background:#0B0E13;color:#fff;padding:34px 36px 28px;}
.footer-grid{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr) minmax(0,400px);grid-template-rows:repeat(2,280px);gap:22px;align-items:stretch;max-width:1240px;margin:0 auto;}
.footer-center{grid-column:2;grid-row:1/3;min-width:0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.frag-01{grid-column:1;grid-row:1;}.frag-02{grid-column:3;grid-row:1;}.frag-03{grid-column:1;grid-row:2;}.frag-04{grid-column:3;grid-row:2;}
.footer-mark-link{display:inline-block;line-height:0;background:transparent;}
.footer-mark{width:190px;height:auto;aspect-ratio:247 / 264;object-fit:contain;display:block;}
.footer-menu{display:flex;flex-direction:column;align-items:center;margin:24px 0 0;padding:0;}
.footer-menu a{font-family:Helvetica,Arial,sans-serif;font-weight:bold;font-size:14px;letter-spacing:1.2px;color:#fff;text-decoration:none;line-height:1;display:inline-block;border-bottom:1px solid #8a8f98;padding-bottom:3px;margin:0 0 14px;}
.footer-menu a:last-child{margin-bottom:0;}
.footer-tagline{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:14px;color:#D9A441;margin:14px 0 0;text-align:center;}
.footer-social{display:flex;gap:18px;justify-content:center;margin:20px 0 0;}
.footer-social-link{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#c8cdd4;}
.footer-social-link:hover{color:#fff;}
.footer-social-link svg{width:19px;height:19px;display:block;}
.frag-card{background:#131720;border:1px solid #39404D;padding:20px 22px 22px;width:100%;max-width:100%;height:280px;flex-shrink:0;box-sizing:border-box;}
.frag-top{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 10px;}
.frag-num{font-family:Helvetica,Arial,sans-serif;font-size:11px;color:#8a8f98;}
.frag-word{font-family:Helvetica,Arial,sans-serif;font-size:10px;letter-spacing:3px;color:#8a8f98;}
.frag-title{font-family:Helvetica,Arial,sans-serif;font-weight:bold;font-size:28px;color:#D9A441;margin:0 0 6px;letter-spacing:0.5px;}
.frag-kicker{font-family:Helvetica,Arial,sans-serif;font-size:11px;letter-spacing:2.2px;color:#fff;margin:0 0 12px;}
.frag-body{font-family:Helvetica,Arial,sans-serif;color:#fff;margin:0;}
.frag-phone{font-size:20px;margin:0;}.frag-address{font-size:17px;line-height:1.45;margin:0;}
.frag-email{font-size:17px;margin:0;}.frag-domain{font-size:19px;margin:0;}
.frag-signal{display:flex;align-items:flex-end;gap:5px;margin:14px 0 0;height:16px;}
.frag-signal span{width:5px;background:#D9A441;display:block;}
.frag-gridmotif{position:relative;height:66px;margin:4px 0 10px;background-image:linear-gradient(#3a3f49 1px,transparent 1px),linear-gradient(90deg,#3a3f49 1px,transparent 1px);background-size:20% 50%;}
.frag-target{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);border:2px solid #D9A441;border-radius:50%;box-sizing:border-box;}
.frag-target::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;background:#D9A441;border-radius:50%;transform:translate(-50%,-50%);}
.frag-bars{display:flex;flex-direction:column;gap:6px;margin:14px 0 0;}
.frag-bars span{width:40px;height:4.5px;display:block;}
.footer-foot{text-align:center;margin:30px 0 0;}
.footer-hairline{width:700px;max-width:90%;height:1px;background:#2A2F3A;border:0;margin:0 auto 16px;}
.footer-copy{font-family:Helvetica,Arial,sans-serif;font-size:11px;color:#9AA3AF;margin:0;text-align:center;}
@media (max-width:1099px){
.footer-panel{padding:26px 18px 24px;}
.footer-grid{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:100%;}
.footer-center{order:-1;width:100%;}
.footer-mark{width:160px;height:auto;}
.frag-card{width:364px;}
.frag-phone{font-size:19px;}.frag-address{font-size:16px;}.frag-email{font-size:16px;}.frag-domain{font-size:18px;}
.footer-hairline{width:320px;}
}
/* REVEAL founding frame: video window 1224x368 at (30,36) within 1284x442 canvas */
.hero-frame .hero-poster,
.hero-frame video {
  left: 2.3364%;
  top: 8.1448%;
  width: 95.3271%;
  height: 83.2579%;
}
/* Contact slim frame: 1262x420 canvas */
.hero-frame-slim {
  position: relative;
  width: 100%;
  aspect-ratio: 1262 / 420;
  overflow: hidden;
  border: 1px solid var(--silver);
  background: #fff;
}
.hero-frame-slim .hero-poster,
.hero-frame-slim video {
  position: absolute;
  left: 2.3772%;
  top: 8.5714%;
  display: block;
  width: 95.2456%;
  height: 82.3810%;
  object-fit: cover;
}
.hero-frame-slim video {
  opacity: 0;
  transition: opacity 500ms ease;
}
.hero-frame-slim video.is-playing {
  opacity: 1;
}
/* Mobile-only: move View The Exhibition button after the trio */
.exhibition-action-after{display:none;}
@media (max-width:720px){.painting-card .exhibition-action{display:none;}.exhibition-action-after{display:flex;margin-bottom:24px;}}
/* Desktop: wordmark back at the header left margin (2.3364%); nav held at the hero shine window right edge (5.5% hero padding + 1px frame border). */
@media (min-width:1241px){
.site-header.page-shell{width:auto;max-width:none;padding-left:calc(2.3364% + 24px);padding-right:0;margin-left:0;margin-right:calc(5.5% + 1px);}
.site-header .brand{width:366px;}
}
/* Mission film wider: 1300px centered, uniform frame scale */
#mission .hero-frame{
width:min(1300px,calc(100vw - 32px));
margin-inline:auto;
}

/* HOME sample only: retain the founding film window, extend only its shelf.
   cqw uses this frame's inner width; +2px restores the unchanged border box.
   The old inner height remains (outer width * 442 / 1284) - 2px.
   Adding 22 units beneath the original 1284x442 frame gives 1284x464. */
.home-page .home-shelf-frame {
  container-type: inline-size;
  aspect-ratio: 1284 / 464;
  border-color: #fff;
  background: #fff;
  box-shadow: 0 12px 24px -16px rgba(0, 0, 0, 0.22),
              0 3px 8px rgba(0, 0, 0, 0.05);
}
.home-page .home-shelf-frame .hero-poster,
.home-page .home-shelf-frame video {
  --home-founding-inner-height: calc((100cqw + 2px) * 442 / 1284 - 2px);
  left: 2.3364%;
  top: calc(var(--home-founding-inner-height) * 0.081448);
  width: 95.3271%;
  height: calc(var(--home-founding-inner-height) * 0.832579);
}

/* Approved shelf rollout: opt-in rooms only; founding film windows stay fixed.
   The extra 22/1284 of frame width goes below the film, exactly as on HOME.
   cqw is the frame's inner width; +2px restores its original border box. */
.shelf-room .hero-frame.reveal-shelf {
  container-type: inline-size;
  aspect-ratio: 1284 / 464;
  border-color: #fff;
  background: #fff;
  box-shadow: 0 12px 24px -16px rgba(0, 0, 0, 0.22),
              0 3px 8px rgba(0, 0, 0, 0.05);
}
.shelf-room .reveal-shelf .hero-poster,
.shelf-room .reveal-shelf video {
  --reveal-founding-inner-height: calc((100cqw + 2px) * 442 / 1284 - 2px);
  left: 2.3364%;
  top: calc(var(--reveal-founding-inner-height) * 0.081448);
  width: 95.3271%;
  height: calc(var(--reveal-founding-inner-height) * 0.832579);
}
/* Curator's Favorite's existing 16:9 top hero is deliberately preserved.
   1284*(9/16) = 722.25; only the same 22-unit shelf extension is added. */
.shelf-room .hero-frame.reveal-shelf.hero-wide {
  aspect-ratio: 1284 / 744.25;
}
.shelf-room .reveal-shelf.hero-wide .hero-poster,
.shelf-room .reveal-shelf.hero-wide video {
  --reveal-founding-inner-height: calc((100cqw + 2px) * 9 / 16 - 2px);
}
/* The widened Mission unit can exceed its text column: center the frame,
   not the surrounding copy, so it cannot overflow the narrower desktop. */
.shelf-room #mission .hero-frame.reveal-shelf {
  left: 50%;
  transform: translateX(-50%);
  margin-inline: 0;
}

/* === PAUL JASON HURTADO page only: ivory gallery room === */
body.paul-smooth main.paul-room {
  background: #ffffff;
  padding-bottom: 32px;
  color: #171717;
}

body.paul-smooth main.paul-room > .paul-hero {
  width: 100%;
  margin: 0 auto;
}

.paul-smooth .paul-hero-shelf {
  position: relative;
  width: 100%;
  aspect-ratio: 1284 / 464;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 12px 24px -16px rgba(0, 0, 0, .22),
              0 3px 8px rgba(0, 0, 0, .05);
}

.paul-smooth .paul-hero-shelf::before {
  position: absolute;
  content: "";
  inset: 7.93% 2.4% 13.28%;
  background: #ffffff;
}

.paul-smooth .paul-hero-shelf video {
  position: absolute;
  top: 7.93%;
  left: 2.4%;
  width: 95.2%;
  height: 78.79%;
  display: block;
  object-fit: contain;
}

body.paul-smooth main.paul-room > .paul-directory {
  width: 100%;
  margin: 0 auto;
  padding: 0 0 64px;
}

.paul-smooth .paul-directory-band {
  width: 100%;
  height: 38px;
  background: #3b6ea5;
}

.paul-smooth .paul-directory-inner {
  width: min(1200px, calc(100% - 56px));
  margin: 0 auto;
  padding-top: 27px;
}

.paul-smooth .paul-directory-title {
  margin: 0;
  font-family: var(--serif);
  font-size: 32px;
  font-weight: 400;
  letter-spacing: .075em;
  line-height: 1.2;
  text-align: center;
}

.paul-smooth .paul-directory-title span:first-child {
  color: #171717;
}

.paul-smooth .paul-directory-title span:last-child {
  color: #d9a441;
}

.paul-smooth .paul-directory-tagline {
  margin: 24px 0 36px;
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1.25;
  text-align: center;
}

.paul-smooth .paul-door-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.paul-smooth .paul-door {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: .71;
  background: #e7e0d4;
}

.paul-smooth .paul-door img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms cubic-bezier(.2, .65, .25, 1);
}

.paul-smooth .paul-door:hover img,
.paul-smooth .paul-door:focus-visible img {
  transform: scale(1.035);
}

.paul-smooth .paul-door-title {
  position: absolute;
  right: 12px;
  bottom: 17px;
  left: 17px;
  color: #fff;
  font-family: var(--serif);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: .025em;
  line-height: 1.15;
  text-shadow: 0 1px 9px rgb(0 0 0 / 32%);
}

.paul-smooth .paul-door-corner {
  position: absolute;
  top: 13px;
  right: 15px;
  color: #fff;
  font-size: 17px;
  line-height: 1;
  text-shadow: 0 1px 6px rgb(0 0 0 / 40%);
}

.paul-smooth .paul-introduction {
  width: min(980px, calc(100% - 56px));
  margin: 0 auto;
  padding: 42px 0 0;
  text-align: center;
}

body.paul-smooth main.paul-room > .paul-introduction {
  width: min(980px, calc(100% - 56px));
  margin-inline: auto;
}

.paul-smooth .paul-name {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(30px, 4vw, 45px);
  font-weight: 400;
  letter-spacing: .075em;
  line-height: 1.15;
}

.paul-smooth .paul-role {
  margin: 13px 0 15px;
  color: #b58b3b;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .17em;
  line-height: 1.5;
}

.paul-smooth .paul-credential {
  margin: 0 auto;
  font-family: var(--serif);
  font-size: 17px;
  line-height: 1.55;
}

.paul-smooth .paul-gold-rule {
  display: block;
  width: 54px;
  height: 1px;
  margin: 25px auto 0;
  background: #d9a441;
}

body.paul-smooth main.paul-room > .paul-biography {
  width: min(820px, calc(100% - 56px));
  margin: 0 auto;
  padding-top: 33px;
}

.paul-smooth .artist-room-bio {
  margin: 0;
  color: #3e3e3e;
  font-size: 16px;
  line-height: 1.75;
}

body.paul-smooth main.paul-room > .paul-works {
  width: min(1200px, calc(100% - 56px));
  margin: 0 auto;
  padding-top: 74px;
}

.paul-smooth .paul-works-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 45px 28px;
}

.paul-smooth .paul-work {
  min-width: 0;
  margin: 0;
  text-align: center;
}

.paul-smooth .paul-work-image {
  position: relative;
  display: grid;
  width: 100%;
  aspect-ratio: .91;
  place-items: center;
  overflow: hidden;
  border: 1px solid #e4ded3;
  background: #fff;
}

.paul-smooth .paul-work-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.paul-smooth .paul-work figcaption,
.paul-smooth .paul-work figcaption span {
  display: block;
}

.paul-smooth .paul-work figcaption {
  padding-top: 14px;
}

.paul-smooth .paul-work-title {
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.35;
}

.paul-smooth .paul-work-dimensions {
  margin-top: 5px;
  color: #6f6a62;
  font-size: 12px;
  letter-spacing: .035em;
  line-height: 1.45;
}

.paul-smooth .paul-work-price {
  margin-top: 7px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

body.paul-smooth main.paul-room > .paul-inquiry {
  width: min(820px, calc(100% - 56px));
  margin: 0 auto;
  padding: 66px 0 8px;
  text-align: center;
}

.paul-smooth .paul-inquiry p {
  margin: 0;
  font-family: var(--serif);
  font-size: 17px;
  line-height: 1.5;
}

@media (max-width: 720px) {
  body.paul-smooth main.paul-room > .paul-hero {
    width: 100%;
  }

  .paul-smooth .paul-hero-shelf {
    aspect-ratio: 1284 / 464;
  }

  .paul-smooth .paul-directory-inner {
    width: calc(100% - 32px);
  }

  body.paul-smooth main.paul-room > .paul-directory {
    padding-bottom: 46px;
  }

  .paul-smooth .paul-directory-title {
    font-size: 27px;
  }

  .paul-smooth .paul-directory-tagline {
    margin-top: 20px;
    margin-bottom: 30px;
  }

  .paul-smooth .paul-door-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .paul-smooth .paul-door {
    aspect-ratio: .78;
  }

  .paul-smooth .paul-door-title {
    left: 12px;
    bottom: 13px;
    font-size: 18px;
  }

  body.paul-smooth main.paul-room > .paul-introduction {
    width: calc(100% - 36px);
    padding-top: 15px;
  }

  .paul-smooth .paul-role {
    font-size: 10px;
    letter-spacing: .12em;
  }

  body.paul-smooth main.paul-room > .paul-biography {
    width: calc(100% - 36px);
    padding-top: 27px;
  }

  .paul-smooth .artist-room-bio {
    font-size: 15px;
    line-height: 1.7;
  }

  body.paul-smooth main.paul-room > .paul-works {
    width: calc(100% - 36px);
    padding-top: 54px;
  }

  .paul-smooth .paul-works-grid {
    grid-template-columns: 1fr;
    gap: 34px;
    max-width: 470px;
    margin-inline: auto;
  }

  .paul-smooth .paul-work-image {
    aspect-ratio: 1 / .88;
  }

  body.paul-smooth main.paul-room > .paul-inquiry {
    width: calc(100% - 36px);
    padding-top: 48px;
  }
}

/* FRAMES-UP + DIRECTORY-DOWN - 2026-10-26. Frames keep size, aspect, borders and content; only surrounding margins change. */
.site-header { position: relative; z-index: 5; }
body.home-page .reveal-art-label + .section-band.directory-band[aria-label="Gallery Directory"] { margin-top: calc(-2.4vw + 40px); }
body.paul-smooth main.paul-room > .paul-hero { margin: -2.4vw auto 0; }
body.paul-smooth main.paul-room > .paul-directory { margin: 0 auto; }
main.artist-room > .artist-room-copy { padding-top: 24px; }
.reveal-art-label { margin: 6px 0 0; text-align: right; font-size: 11px; line-height: 14px; letter-spacing: 0.18em; color: var(--ink); }
/* JOB 4 - PRESS FRAME COMPLETION (2026-10-26) */
main.artist-room >.hero-frame { padding: 4.5%; box-sizing: border-box; aspect-ratio: 1284 / 517.7; container-type: inline-size; background: #fff; border: 1px solid var(--silver); box-shadow: 0 20px 34px -14px rgba(0,0,0,.28), 0 4px 10px rgba(0,0,0,.06); }
main.artist-room >.hero-frame::after { content: ""; position: absolute; left: 4.5%; top: 4.5cqw; width: 91%; height: calc(91cqw * 442 / 1284); pointer-events: none; box-shadow: inset 0 0 0 1px rgba(0,0,0,.45), inset 0 0 0 5px rgba(255,255,255,.95), inset 0 0 0 9px rgba(232,232,232,.95), inset 0 0 0 13px rgba(205,205,205,.9), inset 0 0 18px rgba(0,0,0,.35); }
section.press-release >.hero-frame.reveal-shelf::after { content: ""; position: absolute; left: 4.5%; top: 4.5cqw; width: 91%; height: calc(91cqw * 442 / 1284); pointer-events: none; z-index: 5; box-shadow: inset 0 0 0 1px rgba(0,0,0,.45), inset 0 0 0 5px rgba(255,255,255,.95), inset 0 0 0 9px rgba(232,232,232,.95), inset 0 0 0 13px rgba(205,205,205,.9), inset 0 0 18px rgba(0,0,0,.35); }

/* REVEAL films are no-touch (2026-10-29): hovering or clicking a film must not pause it. Video elements only. */
video {
  pointer-events: none;
}

/* SHINE FAMILY CONSTRUCTION (2026-10-30): shared geometry replaces the five
   page-local frame constructions. Ratios, media crops and seating stay local. */
main.page-shell :is(.hero-frame, .hero-frame-slim, .collectors-reveal-shelf).shine-family-frame {
  position: relative;
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: auto;
  margin: 0;
  padding: 5.5%;
  box-sizing: border-box;
  overflow: visible;
  background: #fff;
  border: 1px solid #CDD2D9;
  box-shadow: 0 28px 36px -12px rgba(20,18,12,.38), 0 6px 12px rgba(20,18,12,.16);
}
main.page-shell .shine-family-frame > .shine-reveal-window {
  width: 100%;
  box-sizing: border-box;
}

/* HOUSE DIRECTORY VERTICAL SEAT: direct hero → Directory pairs only.
   Reset trailing hero margins so they cannot add to the 56px shadow clearance.
   One shared rule replaces Home/Contact exceptions and viewport-based gaps. */
main.page-shell > .directory-seat-hero {
  margin-bottom: 0 !important;
}
main.page-shell > .directory-seat-hero + .directory-seat-block {
  margin-top: 56px !important;
}

/* GALLERY DIRECTORY — HOME IMAGINE ART SECTION REFERENCE (2026-10-30).
   Both the blue bar and door row follow Home's centered content measure:
   1200px maximum, 28px desktop / 16px phone page margins.
   This deliberately differs from the wider SHINE picture window.
   Preserve captions, doors, title wrapping, and band heights. */
main.page-shell:not(.artist-room),
main.page-shell.paul-room {
  container-type: inline-size;
}
main.page-shell .directory-band[aria-label="Gallery Directory"],
main.page-shell .about-directory > .directory-band,
main.page-shell .artists-gallery-directory > .directory-band,
main.page-shell .paul-directory-band {
  width: 100% !important;
  max-width: var(--content-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* Direct-child exception is explicit; nested About/Artists bars fill
   their already content-sized Directory sections instead. */
main.page-shell > .section-band.directory-band[aria-label="Gallery Directory"],
main.page-shell .paul-directory-band {
  width: min(var(--content-width), calc(100% - 56px)) !important;
}
main.page-shell .directory-band[aria-label="Gallery Directory"],
main.page-shell .about-directory > .directory-band,
main.page-shell .artists-gallery-directory > .directory-band {
  padding-inline: var(--directory-seated-inset, 12px) !important;
}
main.artists-page .artists-gallery-directory > .directory-band {
  --directory-seated-inset: 16px;
}
/* Artists' former 1120px door-row cap must match the Home reference too. */
main.artists-page .artists-gallery-directory > .artists-door-grid {
  width: 100%;
  max-width: var(--content-width) !important;
}
@media (max-width: 720px) {
  main.page-shell > .section-band.directory-band[aria-label="Gallery Directory"],
  main.page-shell .paul-directory-band {
    width: min(var(--content-width), calc(100% - 32px)) !important;
  }
}

/* Curator Favorite pass 2026-11-02: trio image links (display:block) and non-Home hover neutralization. Home (body.home-page) keeps the base hover; :focus-visible is untouched. */
.favorite-section .painting-card > a { display: block; }
body:not(.home-page) .painting-image:hover img.media-ready { transform: none; }
body:not(.home-page) .painting-image:hover::after { opacity: 0; }
body:not(.home-page) .painting-image:hover .painting-overlay { opacity: 0; transform: translateY(6px); }
