:root {
  --ink: #070e18;
  --panel: #0d1c2e;
  --navy: #0a2b50;
  --blue: #1e548b;
  --accent: #b6d2ff;
  --chalk: #f5f8fd;
  --muted: #bccbdd;
  --rule: #b7cbe038;
  --paper: #f7f9fd;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; background: var(--ink); color: var(--chalk); font: 17px/1.75 Arial, Helvetica, sans-serif; -webkit-font-smoothing: antialiased; }
body.modal-open { overflow: hidden; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
img { display: block; max-width: 100%; }
h1, h2, h3, p, figure { margin: 0; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 6px; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 100; background: var(--chalk); color: var(--navy); padding: 14px 22px; }
.skip-link:focus { top: 15px; }
.micro { font: 12px/1.7 'Courier New', monospace; letter-spacing: .07em; }
.site-header { position: fixed; z-index: 40; top: 0; left: 0; width: 100%; height: 124px; display: flex; align-items: center; justify-content: space-between; padding: 14px 4vw; transition: background .2s, height .2s; }
.site-header.is-scrolled { height: 90px; background: #07172aef; border-bottom: 1px solid var(--rule); backdrop-filter: blur(12px); }
.wordmark { display: block; width: 190px; height: 96px; padding: 10px 14px; background: #fff; flex-shrink: 0; }
.brand-logo { width: 100%; height: 100%; object-fit: contain; }
.site-header.is-scrolled .wordmark { width: 154px; height: 76px; padding: 8px 10px; }
.menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 52px; height: 52px; border: 1px solid #f5f8fd55; background: #07172ab8; padding: 13px; }
.menu-toggle span { width: 100%; height: 2px; background: var(--chalk); transition: transform .2s, opacity .2s; }
.menu-toggle[aria-expanded='true'] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.menu-toggle[aria-expanded='true'] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded='true'] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.main-menu { position: fixed; z-index: 35; top: 124px; left: 0; width: 100%; display: grid; grid-template-columns: repeat(6, 1fr); padding: 25px 4vw 30px; background: #08182bf5; border-bottom: 1px solid var(--rule); backdrop-filter: blur(16px); }
.site-header.is-scrolled + .main-menu { top: 90px; }
.menu-tile { min-height: 135px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 20px 14px; text-align: center; font-size: 18px; line-height: 1.4; border-left: 1px solid var(--rule); }
.menu-tile:last-child { border-right: 1px solid var(--rule); }
.menu-tile:hover { background: #1a3b61; }
.menu-number { display: block; color: var(--accent); font: 12px/1.5 'Courier New', monospace; letter-spacing: .08em; }
.art-hero { position: relative; min-height: 640px; height: 100svh; background: var(--panel); overflow: hidden; }
.hero-image { width: 100%; height: 100%; object-fit: cover; object-position: center 47%; }
.art-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #0410201c 0%, transparent 32%, transparent 55%, #041020d9 100%); pointer-events: none; }
.hero-border { position: absolute; z-index: 2; inset: 12px; border: 1px solid #f5f8fd6e; pointer-events: none; }
.hero-border::after { content: ''; position: absolute; inset: 5px; border: 1px solid #f5f8fd33; }
.hero-bottom { position: absolute; z-index: 3; bottom: 70px; left: 4vw; right: 4vw; display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.hero-caption { max-width: 650px; text-shadow: 0 2px 20px #020811bd; }
.hero-caption p { font: 14px/1.65 'Courier New', monospace; letter-spacing: .06em; margin-bottom: 12px; color: var(--chalk); }
.hero-caption h1 { font: 400 clamp(34px, 4vw, 58px)/1.15 Arial, Helvetica, sans-serif; letter-spacing: .015em; }
.hero-controls { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.hero-controls button { width: 48px; height: 48px; border: 1px solid #f5f8fd8c; background: #06172bb3; font-size: 24px; line-height: 1; padding: 0; }
.hero-controls button:hover { background: var(--blue); }
#hero-count { font: 14px/1.5 'Courier New', monospace; white-space: nowrap; }
.hero-scroll { position: absolute; z-index: 3; left: 50%; bottom: 25px; transform: translateX(-50%); font-size: 12px; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; text-align: center; }
.hero-scroll:hover { color: var(--accent); }
.portfolio { padding-top: 95px; background: #030811; }
.section-heading { text-align: center; padding: 0 5vw; max-width: 970px; margin: auto; }
.section-heading h2 { font: 400 clamp(42px, 4.6vw, 58px)/1.16 Arial, Helvetica, sans-serif; letter-spacing: .015em; text-transform: uppercase; }
.section-heading > p { max-width: 720px; margin: 22px auto 0; font: italic 18px/1.7 Georgia, 'Times New Roman', serif; color: var(--muted); }
.diamond-divider { display: block; position: relative; width: min(490px, 80%); height: 20px; margin: 28px auto 0; }
.diamond-divider::before, .diamond-divider::after { content: ''; position: absolute; top: 9px; width: calc(50% - 25px); height: 1px; background: var(--rule); }
.diamond-divider::before { left: 0; }
.diamond-divider::after { right: 0; }
.diamond-divider > span { position: absolute; left: calc(50% - 7px); top: 2px; width: 14px; height: 14px; border: 1px solid #9eb8d26b; transform: rotate(45deg); color: transparent; }
.diamond-divider > span::after { content: ''; position: absolute; inset: 3px; border: 1px solid #9eb8d255; }
.filters { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; padding: 45px 5vw 60px; }
.filter { min-height: 48px; padding: 13px 25px; background: var(--blue); border: 1px solid var(--blue); color: var(--chalk); font-size: 14px; line-height: 1.5; text-transform: uppercase; }
.filter.active, .filter[aria-pressed='true'] { background: var(--paper); border-color: var(--paper); color: var(--navy); }
.filter:hover { border-color: var(--accent); }
.gallery-wall { padding: 65px 4.5vw 50px; background-color: #121820; background-image: repeating-linear-gradient(89.5deg, transparent 0 5px, #03081270 6px 7px, transparent 8px 14px, #b6c6de08 15px 16px, transparent 17px 22px), repeating-linear-gradient(90deg, #060b1542 0 11%, #626e7e16 11.1% 11.3%, #0009 11.4% 11.7%, #2030441c 11.8% 24%), linear-gradient(180deg, #02060b8f, #1521343b 35%, #02060b75); border-top: 1px solid #9bb5d318; }
.gallery-grid { display: grid; grid-template-columns: repeat(var(--gallery-columns, 4), minmax(0, 1fr)); gap: 27px; max-width: 1450px; margin: auto; }
.gallery-column { display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.art-card { position: relative; display: inline-block; vertical-align: top; break-inside: avoid; width: 100%; margin: 0; padding: 0; border: 0; background: transparent; text-align: left; }
.art-frame { position: relative; display: block; padding: 12px; border: 11px solid; border-color: #343b45 #02050a #060a11 #252f3a; background: #f5f7fb; box-shadow: 2px 12px 22px #0009, inset 0 0 0 1px #ccd5e0; }
.art-frame > img { width: 100%; height: auto; }
.art-overlay { position: absolute; inset: 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20px 14px; gap: 12px; color: #fff; background: #041326d9; text-align: center; opacity: 0; transition: opacity .22s; }
.art-overlay strong { font-size: 20px; line-height: 1.35; font-weight: 400; }
.art-overlay > span { font-size: 14px; line-height: 1.5; color: #e1eafa; }
.art-card:hover .art-overlay, .art-card:focus-visible .art-overlay { opacity: 1; }
.art-caption { display: block; padding: 18px 2px 0; }
.art-caption strong { display: block; font-size: 18px; line-height: 1.5; font-weight: 400; }
.art-caption > span { display: block; font: 12px/1.7 'Courier New', monospace; color: var(--muted); margin-top: 5px; }
.art-caption .availability, .availability { display: block; color: var(--accent); font: 12px/1.7 'Courier New', monospace; margin-top: 7px; }
.gallery-note { max-width: 800px; margin: 10px auto 0; padding: 20px 5vw 0; text-align: center; color: var(--muted); font: 13px/1.8 'Courier New', monospace; }
#studio { padding-top: 90px; background: #030811; }
#studio > .section-heading { margin-bottom: 65px; }
.medium-row { display: grid; grid-template-columns: 1fr 1fr; min-height: 490px; }
.medium-row.reverse .medium-image { order: 2; }
.medium-row.reverse .medium-copy { order: 1; }
.medium-image { position: relative; width: 100%; border: 0; padding: 0; margin: 0; background: var(--panel); overflow: hidden; min-height: 490px; }
.medium-image::after { content: ''; position: absolute; inset: 18px; border: 1px solid #f5f8fd99; pointer-events: none; }
.medium-image img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; transition: transform .35s; }
.medium-image:hover img { transform: scale(1.025); }
.medium-image > span { position: absolute; z-index: 1; bottom: 32px; left: 35px; right: 35px; color: #fff; font: 12px/1.6 'Courier New', monospace; background: #061426e0; padding: 8px 12px; text-align: left; width: fit-content; max-width: calc(100% - 70px); }
.medium-copy { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 55px clamp(35px, 6vw, 95px); }
.medium-copy .micro { color: var(--accent); margin-bottom: 16px; }
.medium-copy h3 { font: 400 clamp(32px, 3.3vw, 46px)/1.15 Arial, Helvetica, sans-serif; letter-spacing: .01em; text-transform: uppercase; margin-bottom: 25px; }
.medium-copy > p:not(.micro) { font-size: 17px; line-height: 1.85; color: var(--muted); max-width: 480px; }
.blue-button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; width: fit-content; min-height: 52px; padding: 14px 25px; background: var(--blue); color: var(--chalk); border: 1px solid var(--blue); font-size: 16px; line-height: 1.5; text-align: center; }
.blue-button > span { font-size: 20px; line-height: 1; }
.blue-button:hover { background: #2a679e; border-color: #2a679e; }
.medium-copy .blue-button { margin-top: 34px; }
.artist-section { padding: 100px 5vw 105px; background: var(--ink); }
.artist-layout { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 75px; max-width: 1170px; margin: 65px auto 0; }
.artist-photo { position: relative; }
.artist-photo img { width: 100%; height: 650px; object-fit: cover; object-position: 55% center; }
.artist-photo figcaption { padding-top: 18px; font: italic 17px/1.6 Georgia, serif; color: var(--muted); }
.artist-copy h3 { font: 400 38px/1.25 Arial, Helvetica, sans-serif; letter-spacing: .01em; margin-bottom: 24px; }
.artist-copy > p { font-size: 17px; line-height: 1.85; color: var(--muted); margin-top: 22px; }
.artist-copy > .story-lead { font: 22px/1.65 Georgia, serif; color: var(--chalk); margin-top: 0; }
.artist-moments { margin-top: 32px; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.artist-moments summary { padding: 21px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 16px; line-height: 1.5; cursor: pointer; list-style: none; }
.artist-moments summary::-webkit-details-marker { display: none; }
.artist-moments summary > span { font-size: 26px; color: var(--accent); }
.artist-moments[open] summary > span { transform: rotate(45deg); }
.artist-moments ul { list-style: none; padding: 0; margin: 0 0 25px; }
.artist-moments li { padding: 18px 0; border-top: 1px solid var(--rule); }
.artist-moments b { display: block; font: 400 21px/1.4 Georgia, serif; }
.artist-moments li span { display: block; font-size: 16px; line-height: 1.8; color: var(--muted); margin-top: 9px; }
.collect-section { display: flex; align-items: center; justify-content: center; gap: 75px; padding: 70px 8vw; background: #0a2b50; }
.collect-ghost { width: 180px; height: 200px; object-fit: contain; flex-shrink: 0; }
.collect-copy { max-width: 690px; }
.collect-copy h2 { font: 400 42px/1.2 Arial, Helvetica, sans-serif; margin-bottom: 22px; letter-spacing: .01em; }
.collect-copy > p { font-size: 18px; line-height: 1.8; color: #dae6f7; }
.collect-copy .blue-button { margin-top: 27px; background: var(--paper); color: var(--navy); border-color: var(--paper); }
.collect-copy .blue-button:hover { background: #d7e7ff; border-color: #d7e7ff; }
.collect-copy .shop-note { margin-top: 20px; font: 13px/1.8 'Courier New', monospace; color: #dae6f7; }
.contact-section { padding: 95px 5vw 75px; background: #030811; }
.contact-links { display: grid; grid-template-columns: .7fr 1.25fr .7fr; gap: 25px; max-width: 1140px; margin: 60px auto 0; }
.contact-links > a { display: flex; flex-direction: column; align-items: center; gap: 13px; padding: 25px 16px; text-align: center; }
.contact-links > a + a { border-left: 1px solid var(--rule); }
.contact-links small { font: 12px/1.6 'Courier New', monospace; letter-spacing: .06em; color: var(--accent); text-transform: uppercase; }
.contact-links strong { font-size: 18px; line-height: 1.55; font-weight: 400; overflow-wrap: anywhere; }
.contact-links a:hover strong { color: var(--accent); }
.footer { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 30px 5vw; border-top: 1px solid var(--rule); font: 12px/1.65 'Courier New', monospace; color: var(--muted); }
.footer-brand { font: 25px/1.3 Georgia, serif; color: var(--chalk); }
.footer a:hover { color: var(--accent); }
.small-link { display: inline-flex; justify-content: space-between; align-items: center; gap: 25px; font-size: 16px; line-height: 1.5; padding: 14px 0; border: 0; border-bottom: 1px solid var(--rule); background: transparent; min-height: 48px; text-align: left; }
.small-link > span { font-size: 22px; line-height: 1; }
.small-link:hover { color: var(--accent); border-color: var(--accent); }
.outline-button { display: flex; justify-content: space-between; align-items: center; gap: 20px; width: 100%; min-height: 54px; padding: 14px 16px; font-size: 16px; line-height: 1.5; text-align: left; background: transparent; border: 1px solid #c0d2e88c; }
.outline-button > span { font-size: 22px; line-height: 1; }
.outline-button:hover { background: var(--paper); color: var(--navy); border-color: var(--paper); }
dialog { color: var(--chalk); background: var(--ink); border: 1px solid var(--rule); padding: 0; width: min(1120px, 94vw); max-height: 92dvh; max-width: none; box-shadow: 0 30px 120px #0008; }
dialog::backdrop { background: #030914eb; backdrop-filter: blur(10px); }
.dialog-close { position: absolute; top: 14px; right: 14px; z-index: 2; width: 48px; height: 48px; border: 1px solid var(--rule); background: var(--ink); color: var(--chalk); font-size: 22px; }
.dialog-close:hover { color: var(--accent); }
.detail-layout { display: grid; grid-template-columns: 1.15fr 1fr; min-height: 680px; }
.detail-image-wrap { display: flex; align-items: center; justify-content: center; padding: 35px; background: var(--panel); }
.detail-image-wrap img { width: 100%; height: 100%; max-height: 78dvh; object-fit: contain; }
.detail-copy { padding: 75px 40px 40px; align-self: center; }
.detail-copy .micro { color: var(--accent); }
.detail-copy h2 { font: 400 36px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .01em; margin-top: 20px; }
.detail-medium { font: 13px/1.7 'Courier New', monospace; color: var(--muted); margin-top: 16px; }
.detail-copy > p:not(.micro):not(.detail-medium):not(.detail-note) { font-size: 17px; line-height: 1.8; color: var(--muted); margin-top: 28px; }
.detail-facts { font: 14px/1.7 'Courier New', monospace; margin: 28px 0; }
.detail-facts > div { display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--rule); padding: 16px 0; }
.detail-facts dt { color: var(--muted); }
.detail-facts dd { margin: 0; text-align: right; }
.detail-copy .small-link { margin-top: 20px; }
.detail-note { font: 12px/1.8 'Courier New', monospace; color: var(--muted); margin-top: 28px; }
.dialog-nav { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 28px; border-top: 1px solid var(--rule); padding-top: 20px; }
.dialog-nav button { width: 48px; height: 48px; border: 1px solid var(--rule); background: var(--panel); font-size: 24px; padding: 0; }
.dialog-nav button:hover { color: var(--accent); }
#detail-count { font: 13px/1.6 'Courier New', monospace; color: var(--muted); }
.mobile-close { display: none; }
@media (min-width: 1600px) {
  .medium-copy { padding-left: 8vw; padding-right: 8vw; }
}
@media (max-width: 1100px) {
  .gallery-grid { gap: 24px; }
  .medium-copy { padding: 48px 35px; }
  .medium-image, .medium-row { min-height: 500px; }
  .artist-layout { gap: 45px; }
  .artist-photo img { height: 600px; }
  .collect-section { gap: 50px; padding: 65px 6vw; }
  .collect-ghost { width: 155px; height: 180px; }
  .contact-links { gap: 15px; }
  .detail-copy { padding: 75px 30px 35px; }
}
@media (max-width: 850px) {
  .gallery-grid { gap: 28px; }
  .main-menu { grid-template-columns: repeat(3, 1fr); padding: 18px 4vw 25px; }
  .menu-tile { min-height: 110px; }
  .menu-tile:nth-child(3) { border-right: 1px solid var(--rule); }
  .menu-tile:nth-child(n+4) { border-top: 1px solid var(--rule); }
  .hero-bottom { gap: 30px; }
  .hero-caption h1 { font-size: 42px; }
  .hero-controls { gap: 12px; }
  .medium-row { min-height: 560px; }
  .medium-image { min-height: 560px; }
  .medium-copy { padding: 45px 26px; }
  .medium-copy h3 { font-size: 34px; }
  .artist-section { padding: 80px 5vw; }
  .artist-layout { gap: 35px; margin-top: 50px; }
  .artist-photo img { height: 570px; }
  .artist-copy h3 { font-size: 33px; }
  .collect-section { gap: 35px; }
  .collect-copy h2 { font-size: 36px; }
  .collect-ghost { width: 130px; height: 160px; }
  .contact-links { grid-template-columns: 1fr; gap: 0; max-width: 600px; margin-top: 35px; }
  .contact-links > a { padding: 25px 20px; }
  .contact-links > a + a { border-left: 0; border-top: 1px solid var(--rule); }
  .footer { flex-wrap: wrap; }
}
@media (max-width: 650px) {
  html { scroll-padding-top: 86px; }
  .site-header { height: 106px; padding: 13px 6vw; }
  .wordmark { width: 160px; height: 80px; padding: 8px 12px; }
  .site-header.is-scrolled { height: 86px; }
  .site-header.is-scrolled .wordmark { width: 142px; height: 70px; padding: 7px 10px; }
  .menu-toggle { width: 48px; height: 48px; padding: 12px; }
  .main-menu { top: 106px; grid-template-columns: repeat(2, 1fr); padding: 18px 6vw 24px; }
  .site-header.is-scrolled + .main-menu { top: 86px; }
  .menu-tile { min-height: 102px; font-size: 17px; gap: 9px; }
  .menu-tile:nth-child(3) { border-right: 0; }
  .menu-tile:nth-child(2n) { border-right: 1px solid var(--rule); }
  .menu-tile:nth-child(n+3) { border-top: 1px solid var(--rule); }
  .art-hero { min-height: 740px; height: 100svh; }
  .hero-image { object-position: center 40%; }
  .hero-border { inset: 8px; }
  .hero-border::after { inset: 4px; }
  .hero-bottom { bottom: 82px; left: 7vw; right: 7vw; display: block; }
  .hero-caption p { font-size: 13px; margin-bottom: 10px; max-width: 300px; }
  .hero-caption h1 { font-size: 36px; line-height: 1.18; }
  .hero-controls { margin-top: 25px; gap: 16px; }
  .hero-controls button { width: 46px; height: 46px; }
  #hero-count { font-size: 13px; }
  .hero-scroll { bottom: 27px; font-size: 12px; width: 200px; }
  .portfolio { padding-top: 70px; }
  .section-heading { padding: 0 6vw; }
  .section-heading h2 { font-size: 42px; line-height: 1.2; }
  .section-heading > p { font-size: 18px; margin-top: 20px; }
  .diamond-divider { margin-top: 23px; width: 88%; }
  .filters { gap: 9px; padding: 35px 6vw 42px; }
  .filter { font-size: 13px; padding: 12px 17px; min-height: 46px; }
  .gallery-wall { padding: 42px 7vw 38px; }
  .gallery-grid { max-width: 450px; }
  .art-frame { padding: 13px; border-width: 12px; }
  .art-overlay { inset: 13px; }
  .art-caption { padding-top: 17px; }
  .art-caption strong { font-size: 20px; }
  .art-caption > span { font-size: 13px; }
  .art-caption .availability { font-size: 12px; }
  .gallery-note { font-size: 13px; padding: 10px 0 0; }
  #studio { padding-top: 70px; }
  #studio > .section-heading { margin-bottom: 40px; }
  .medium-row { grid-template-columns: 1fr; min-height: 0; }
  .medium-row.reverse .medium-image, .medium-row.reverse .medium-copy { order: initial; }
  .medium-image { min-height: 0; height: 450px; }
  .medium-image::after { inset: 14px; }
  .medium-image > span { bottom: 28px; left: 28px; right: 28px; max-width: calc(100% - 56px); }
  .medium-copy { padding: 48px 7vw 55px; }
  .medium-copy h3 { font-size: 38px; }
  .medium-copy > p:not(.micro) { font-size: 17px; }
  .medium-copy .blue-button { margin-top: 28px; }
  .artist-section { padding: 70px 6vw; }
  .artist-layout { grid-template-columns: 1fr; margin-top: 40px; gap: 35px; }
  .artist-photo img { height: 540px; }
  .artist-photo figcaption { padding-top: 15px; }
  .artist-copy h3 { font-size: 34px; }
  .artist-copy > .story-lead { font-size: 22px; }
  .collect-section { flex-direction: column; align-items: center; gap: 26px; padding: 55px 7vw 60px; text-align: center; }
  .collect-ghost { width: 130px; height: 145px; }
  .collect-copy h2 { font-size: 38px; }
  .collect-copy > p { font-size: 18px; }
  .collect-copy .blue-button { margin-top: 24px; }
  .contact-section { padding: 70px 6vw 45px; }
  .contact-links { margin-top: 35px; }
  .contact-links strong { font-size: 20px; }
  .footer { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding: 28px 6vw; }
  .footer > a, .footer > span:nth-child(2) { text-align: right; }
  .detail-layout { grid-template-columns: 1fr; min-height: 0; }
  .detail-image-wrap { padding: 30px 25px; max-height: 60dvh; }
  .detail-image-wrap img { height: auto; max-height: 53dvh; width: auto; max-width: 100%; }
  .detail-copy { padding: 36px 25px; }
  .detail-copy h2 { font-size: 32px; margin-top: 18px; }
  .detail-copy > p:not(.micro):not(.detail-medium):not(.detail-note) { margin-top: 26px; }
  .mobile-close { display: flex !important; width: 100%; margin-top: 25px !important; border-top: 1px solid var(--rule); border-bottom: 0; padding-top: 20px; }
  .dialog-close { top: 10px; right: 10px; }
}
@media (max-width: 430px) {
  .section-heading h2 { font-size: 38px; }
  .hero-caption h1 { font-size: 33px; }
  .medium-image { height: 390px; }
  .medium-copy h3 { font-size: 35px; }
  .artist-photo img { height: 460px; }
  .collect-copy h2 { font-size: 34px; }
  .contact-links strong { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Clear catalogue labels and captions, including on small screens. */
.micro,.hero-caption p,.hero-controls>span,.art-caption>span,.art-caption .availability,.detail-medium,.detail-facts,.detail-note,.gallery-note,.shop-note{font-family:Arial,Helvetica,sans-serif;letter-spacing:.015em}
.hero-caption p{font-size:14px;font-weight:600;line-height:1.6;color:#f3f7ff;text-shadow:0 1px 5px #071323}
.hero-controls>span{font-size:14px;font-weight:600}
.art-caption>span{font-size:14px;line-height:1.6;color:#c8d7eb}
.art-caption .availability{font-size:14px;font-weight:600;color:#b7d2ff}
.detail-medium,.detail-facts{font-size:14px;line-height:1.6}
.detail-note{font-size:13px;line-height:1.7}
.gallery-note,.shop-note{font-size:14px;line-height:1.7}
.micro{font-size:13px;font-weight:600;line-height:1.6}
