/* Art of NOMA "representation" layer (inc/represent.php). Loads after polish.css, now.css and works.css.
   Mobile first: 375px, then 760px, then 1100px.
   Blocks: Buy now / Reserve pair, work tiles, sign-up bar, artist of the week, featured pieces, viewing room, NOMA pick chip. */

:root{--nx-acid:#d7f542;--nx-dark:#15110f}

/* ---------- Buy now / Reserve ---------- */
body .nx-buy{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0}
body .nx-buy a,body .nx-buy a:hover,body .nx-buy a:focus{text-decoration:none}
body .nx-buy a{flex:1 1 112px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;margin:0;padding:0 12px;border:1px solid var(--nx-ink);border-radius:4px;font:600 13.5px/1.1 var(--noma-sans);letter-spacing:.01em;text-align:center;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
body .nx-buy .nx-buy-now{background:var(--nx-ink);color:var(--nx-cream)}
body .nx-buy .nx-buy-now:hover,body .nx-buy .nx-buy-now:focus-visible{background:var(--nx-ink);color:var(--nx-acid)}
body .nx-buy .nx-buy-reserve{background:transparent;color:var(--nx-ink)}
body .nx-buy .nx-buy-reserve:hover,body .nx-buy .nx-buy-reserve:focus-visible{background:var(--nx-sand);color:var(--nx-ink)}
body .nx-buy a:focus-visible{outline:2px solid var(--nx-accent);outline-offset:2px}
.nx-buy-note{margin:10px 0 0;font:400 12.5px/1.4 var(--noma-sans);color:var(--noma-muted)}
@media (min-width:760px){
  body .nx-buy a{min-height:46px;font-size:14px}
}

/* On dark sections the filled button flips to acid. */
body .nx-vr .nx-buy a{border-color:rgba(252,251,249,.5)}
body .nx-vr .nx-buy .nx-buy-now{background:var(--nx-acid);border-color:var(--nx-acid);color:var(--nx-ink)}
body .nx-vr .nx-buy .nx-buy-now:hover,body .nx-vr .nx-buy .nx-buy-now:focus-visible{background:var(--nx-cream);border-color:var(--nx-cream);color:var(--nx-ink)}
body .nx-vr .nx-buy .nx-buy-reserve{background:transparent;color:var(--nx-cream)}
body .nx-vr .nx-buy .nx-buy-reserve:hover,body .nx-vr .nx-buy .nx-buy-reserve:focus-visible{background:rgba(252,251,249,.14);border-color:var(--nx-cream);color:var(--nx-cream)}
body .nx-vr .nx-buy a:focus-visible{outline-color:var(--nx-acid)}

/* Buy pair inside the home works rail tile. */
.nx-work-info .nx-buy{margin-top:12px}

/* ---------- Work tile (artist of the week, featured pieces, viewing room) ---------- */
.nx-rw{display:flex;flex-direction:column;min-width:0}
.nx-rw-img{display:block;box-sizing:border-box;aspect-ratio:4/5;padding:14px;overflow:hidden;background:var(--nx-paper)}
.nx-rw-img img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .5s ease}
.nx-rw-img:hover img{transform:scale(1.03)}
.nx-rw-info{display:flex;flex-direction:column;flex:1;gap:2px;padding-top:10px;min-width:0}
.nx-rw-artist{font:600 13px/1.3 var(--noma-sans);color:var(--nx-ink)}
a.nx-rw-artist:hover{color:var(--nx-accent)}
.nx-rw-title{font:400 16.5px/1.25 var(--noma-serif);color:var(--nx-ink);overflow-wrap:anywhere}
.nx-rw-title:hover{color:var(--nx-accent)}
.nx-rw-price{margin-top:3px;font:500 14px/1.3 var(--noma-sans);color:var(--nx-ink)}
.nx-rw .nx-buy{margin-top:auto;padding-top:10px}

/* ---------- Sign-up and follow bar ---------- */
.nx-sb{box-sizing:border-box;width:100vw;margin:24px 0 0 calc(50% - 50vw);background:var(--nx-paper);border-block:1px solid var(--nx-line)}
.nx-sb-in{box-sizing:border-box;max-width:1240px;margin:0 auto;padding:18px 16px;display:grid;gap:12px}
.nx-sb-text{margin:0;font:500 15px/1.35 var(--noma-sans);color:var(--nx-ink);text-wrap:balance}
.nx-sb-form{display:flex;flex-wrap:wrap;gap:8px;margin:0}
body .nx-sb input[type="email"]{flex:1 1 200px;box-sizing:border-box;min-width:0;min-height:46px;margin:0;padding:0 14px;border:1px solid var(--noma-line-strong);border-radius:4px;background:#fff;box-shadow:none;color:var(--nx-ink);font:400 15px/1.3 var(--noma-sans)}
body .nx-sb input[type="email"]:focus{outline:2px solid var(--nx-ink);outline-offset:1px;border-color:var(--nx-ink)}
body .nx-sb input[type="email"]::placeholder{color:var(--noma-muted);opacity:1}
body .nx-sb button[type="submit"]{flex:1 1 auto;box-sizing:border-box;min-height:46px;margin:0;padding:0 18px;border:1px solid var(--nx-ink);border-radius:4px;background:var(--nx-ink);color:var(--nx-cream);font:600 14px/1.1 var(--noma-sans);letter-spacing:.01em;cursor:pointer;transition:color .2s}
body .nx-sb button[type="submit"]:hover,body .nx-sb button[type="submit"]:focus-visible{background:var(--nx-ink);color:var(--nx-acid)}
body .nx-sb button[type="submit"][disabled]{opacity:.6;cursor:not-allowed}
.nx-sb .noma-list-msg{flex:1 1 100%;margin:0;font:500 13.5px/1.4 var(--noma-sans);color:var(--nx-ink)}
.nx-sb-follow{display:flex;flex-wrap:wrap;align-items:center;gap:4px 18px;margin:0}
.nx-sb-follow-k{font:600 11px/1 var(--noma-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--noma-muted)}
body .nx-sb-follow a{display:inline-flex;align-items:center;gap:7px;min-height:44px;font:500 14px/1 var(--noma-sans);color:var(--nx-ink);text-decoration:none}
body .nx-sb-follow a:hover{color:var(--nx-accent)}
.nx-sb-follow svg{flex:none}
@media (min-width:760px){
  .nx-sb-in{padding:18px 24px;grid-template-columns:1fr auto;align-items:center;gap:12px 28px}
  .nx-sb-text{grid-column:1/-1}
  .nx-sb-form{flex-wrap:nowrap}
  body .nx-sb button[type="submit"]{flex:none}
}
@media (min-width:1100px){
  .nx-sb-in{padding:14px 32px;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto;gap:28px}
  .nx-sb-text{grid-column:auto;max-width:34ch}
}

/* ---------- Artist of the week ---------- */
.nx-aow{padding-top:44px}
.nx-aow-grid{display:grid;gap:22px;grid-template-columns:minmax(0,1fr)}
.nx-aow-portrait{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--nx-sand)}
.nx-aow-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .8s ease}
.nx-aow-portrait:hover img{transform:scale(1.04)}
.nx-aow-body{min-width:0}
.nx-aow-body .nx-kicker{margin-bottom:10px}
.nx-aow-range{color:var(--nx-ink)}
.noma .nx-aow-body h2{margin:0 0 8px;font:400 clamp(34px,5vw,60px)/1.02 var(--noma-serif);letter-spacing:-.02em;color:var(--nx-ink)}
.nx-aow-body h2 a:hover{color:var(--nx-accent)}
.nx-aow-meta{margin:0 0 14px;font:500 13.5px/1.4 var(--noma-sans);color:var(--noma-muted)}
.nx-aow-bio{margin:0 0 22px;max-width:56ch;font:400 17px/1.55 var(--noma-serif);color:var(--nx-ink)}
.nx-aow-works{display:grid;gap:20px 12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 24px}
.nx-aow-cta{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.nx-aow-cta .nx-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box}
.nx-aow-next{margin:18px 0 0;font:400 13.5px/1.4 var(--noma-sans);color:var(--noma-muted)}
.nx-aow-next a{color:var(--nx-ink);border-bottom:1px solid var(--nx-ink)}
.nx-aow-next a:hover{color:var(--nx-accent);border-color:var(--nx-accent)}
@media (min-width:760px){
  .nx-aow{padding-top:56px}
  .nx-aow-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:40px;align-items:start}
  .nx-aow-grid.no-img{grid-template-columns:minmax(0,1fr)}
  .nx-aow-portrait{position:sticky;top:84px}
  .nx-aow-works{gap:24px 18px}
}
@media (min-width:1100px){
  .nx-aow-grid{gap:56px}
  .nx-aow-works{gap:28px 22px}
}

/* ---------- Featured pieces ---------- */
.nx-fp-grid{display:grid;gap:26px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:760px){
  .nx-fp-grid{gap:34px 22px;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1100px){
  .nx-fp-grid{gap:40px 28px}
}

/* ---------- Viewing room (dark, grain) ---------- */
body .nx-vr{position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;width:100vw;margin:56px 0 0 calc(50% - 50vw);background:radial-gradient(70% 90% at 92% 0%,rgba(215,245,66,.14),transparent 62%),radial-gradient(60% 70% at 0% 100%,rgba(138,28,28,.28),transparent 65%),var(--nx-dark);color:#fcfbf9;font-family:var(--noma-sans)}
body .nx-vr::before{content:"";position:absolute;inset:0;z-index:1;opacity:.28;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
body .nx-vr a,body .nx-vr a:hover,body .nx-vr a:focus{text-decoration:none}
.nx-vr-in{position:relative;z-index:2;box-sizing:border-box;max-width:1240px;margin:0 auto;padding:44px 16px;display:grid;gap:30px;grid-template-columns:minmax(0,1fr)}
.nx-vr-copy{min-width:0}
.nx-vr-kicker{margin:0 0 14px;font:600 11.5px/1.3 var(--noma-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--nx-acid)}
body .nx-vr .nx-vr-title{margin:0 0 16px;font:700 clamp(34px,7vw,72px)/.98 var(--noma-sans);letter-spacing:-.03em;color:#fcfbf9;text-wrap:balance;overflow-wrap:break-word}
body .nx-vr .nx-vr-lede{margin:0 0 12px;max-width:48ch;font:400 17px/1.5 var(--noma-sans);color:rgba(252,251,249,.84)}
.nx-vr-until{margin:0;font:600 13px/1.3 var(--noma-sans);letter-spacing:.06em;text-transform:uppercase;color:rgba(252,251,249,.7)}
.nx-vr-btns{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}
body .nx-vr .nx-vr-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;padding:0 20px;border:1px solid rgba(252,251,249,.6);border-radius:4px;background:transparent;color:#fcfbf9;font:600 14px/1.15 var(--noma-sans);letter-spacing:.01em;text-align:center;transition:background .2s,color .2s,border-color .2s}
body .nx-vr .nx-vr-btn:hover,body .nx-vr .nx-vr-btn:focus-visible{border-color:var(--nx-acid);color:var(--nx-acid)}
body .nx-vr .nx-vr-btn.is-fill{background:var(--nx-acid);border-color:var(--nx-acid);color:var(--nx-dark)}
body .nx-vr .nx-vr-btn.is-fill:hover,body .nx-vr .nx-vr-btn.is-fill:focus-visible{background:#fcfbf9;border-color:#fcfbf9;color:var(--nx-dark)}
body .nx-vr .nx-vr-btn:focus-visible{outline:2px solid var(--nx-acid);outline-offset:2px}
.nx-vr-works{display:grid;gap:22px 12px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}
.nx-vr-works[data-n="1"]{grid-template-columns:minmax(0,1fr);max-width:360px}
body .nx-vr .nx-rw-artist,body .nx-vr .nx-rw-title,body .nx-vr .nx-rw-price{color:#fcfbf9}
body .nx-vr a.nx-rw-artist:hover,body .nx-vr .nx-rw-title:hover{color:var(--nx-acid)}
body .nx-vr .nx-rw-img{background:var(--nx-paper)}
@media (min-width:760px){
  .nx-vr-in{padding:56px 24px 52px;gap:36px}
  .nx-vr-works{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 18px}
  .nx-vr-works[data-n="1"]{grid-template-columns:minmax(0,1fr);max-width:320px}
  .nx-vr-works[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px}
  .nx-vr-works[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:1100px){
  .nx-vr-in{padding:68px 32px 64px;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
  .nx-vr-in.no-works{grid-template-columns:minmax(0,1fr)}
  .nx-vr-works{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 20px}
  .nx-vr-works[data-n="1"],.nx-vr-works[data-n="2"],.nx-vr-works[data-n="3"]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
}

/* ---------- NOMA pick chip on event covers ---------- */
.nx-ev .nx-chip.nx-chip-pick,.nx-ev.has-cover .nx-chip.nx-chip-pick{top:auto;bottom:10px;left:10px;right:auto;background:var(--nx-dark);color:var(--nx-acid)}
.nx-ev-cover .nx-chip.nx-chip-pick{color:var(--nx-acid)}

@media (prefers-reduced-motion:reduce){
  .nx-rw-img img,.nx-aow-portrait img{transition:none}
  .nx-rw-img:hover img,.nx-aow-portrait:hover img{transform:none}
  body .nx-buy a,body .nx-sb button[type="submit"],body .nx-vr .nx-vr-btn{transition:none}
  .nx-aow-portrait{position:static}
}

/* Honeypot + visually hidden labels inside the signup bar (the class is only styled for the footer form). */
.nx-sb .noma-screen-reader{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0;pointer-events:none}
.nx-sb{position:relative;overflow:hidden}
