@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Cormorant+Garamond:wght@500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,700;9..144,800&display=swap');

:root {
  color-scheme: light;
  --bg: #f6f0e7;
  --surface: rgba(255, 252, 246, 0.84);
  --surface-solid: #fffaf2;
  --ink: #25201b;
  --muted: #756b61;
  --line: rgba(37, 32, 27, 0.14);
  --accent: #8f7f55;
  --accent-2: #d39c7b;
  --accent-3: #4b7260;
  --shadow: 0 28px 90px rgba(44, 34, 24, 0.16);
  --radius: 28px;
  --serif: 'Fraunces', 'Cormorant Garamond', Georgia, serif;
  --sans: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  font-family: var(--sans);
  color: var(--ink);
  background:
    radial-gradient(circle at top left, color-mix(in srgb, var(--accent-2) 28%, transparent), transparent 34rem),
    linear-gradient(135deg, var(--bg), color-mix(in srgb, var(--bg) 85%, white));
  overflow-x: hidden;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0.28;
  background-image:
    linear-gradient(rgba(255,255,255,0.2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.18) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, black, transparent 78%);
  z-index: -1;
}

a { color: inherit; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }

.section-wrap {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.eyebrow {
  margin: 0 0 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.74rem;
  font-weight: 800;
  color: var(--accent);
}

h1, h2, h3 { line-height: 0.95; margin: 0; letter-spacing: -0.035em; }
h1, h2 { font-family: var(--serif); }
h1 { font-size: clamp(3.4rem, 8.2vw, 7.4rem); max-width: 10ch; word-spacing: 0.045em; }
h2 { font-size: clamp(2.3rem, 5vw, 5rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.8rem); }
p { line-height: 1.72; color: var(--muted); }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.85rem 1.2rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  text-decoration: none;
  font-weight: 800;
  letter-spacing: -0.02em;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
.button:hover { transform: translateY(-2px); }
.button.primary {
  background: var(--ink);
  color: var(--bg);
  box-shadow: 0 16px 42px color-mix(in srgb, var(--ink) 20%, transparent);
}
.button.ghost {
  background: color-mix(in srgb, var(--surface-solid) 68%, transparent);
  backdrop-filter: blur(18px);
}

/* Theme selector */
.selector-page {
  width: min(1280px, calc(100% - 40px));
  margin: 0 auto;
  padding: 42px 0 80px;
}
.selector-hero {
  min-height: 78vh;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.85fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}
.selector-hero h1 { max-width: 12.5ch; font-size: clamp(3.3rem, 7.8vw, 7rem); }
.selector-hero p:not(.eyebrow) { max-width: 680px; font-size: 1.16rem; }
.selector-actions, .hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 2rem;
}
.selector-collage {
  min-height: 620px;
  position: relative;
  border-radius: 44px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.72), rgba(255,255,255,0.2)),
    radial-gradient(circle at 20% 15%, color-mix(in srgb, var(--accent-2) 44%, transparent), transparent 18rem),
    radial-gradient(circle at 85% 75%, color-mix(in srgb, var(--accent-3) 28%, transparent), transparent 18rem);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.collage-img {
  position: absolute;
  object-fit: cover;
  border: 10px solid rgba(255,255,255,0.78);
  border-radius: 26px;
  box-shadow: 0 24px 65px rgba(32, 24, 18, 0.22);
}
.collage-img--1 { width: 42%; left: 7%; top: 8%; transform: rotate(-7deg); }
.collage-img--2 { width: 47%; right: 6%; top: 13%; transform: rotate(5deg); }
.collage-img--3 { width: 39%; left: 13%; bottom: 11%; transform: rotate(6deg); }
.collage-img--4 { width: 34%; right: 12%; bottom: 8%; transform: rotate(-4deg); }
.collage-img--5 { width: 28%; left: 38%; top: 38%; transform: rotate(2deg); }

.theme-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
}
.theme-preview {
  min-height: 430px;
  position: relative;
  overflow: hidden;
  padding: 18px;
  border-radius: 30px;
  text-decoration: none;
  background: var(--surface-solid);
  box-shadow: 0 18px 60px rgba(36, 28, 20, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: transform 220ms ease, box-shadow 220ms ease;
  isolation: isolate;
}
.theme-preview:hover { transform: translateY(-6px); box-shadow: 0 28px 80px rgba(36, 28, 20, 0.18); }
.theme-preview img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
  transform: scale(1.04);
  transition: transform 300ms ease;
}
.theme-preview:hover img { transform: scale(1.1); }
.theme-preview::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(20, 15, 11, 0.78), rgba(20,15,11,0.12) 58%, rgba(255,255,255,0.1));
  z-index: -1;
}
.theme-preview__number {
  position: absolute;
  top: 18px;
  left: 18px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,0.82);
  font-weight: 900;
}
.theme-preview p { color: rgba(255,255,255,0.72); margin: 0 0 0.45rem; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.14em; font-weight: 800; }
.theme-preview h2 { color: white; font-size: 2.2rem; margin-bottom: 0.7rem; }
.theme-preview span:last-child { color: rgba(255,255,255,0.78); line-height: 1.5; font-size: 0.92rem; }

/* Shared landing structure */
.theme-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  width: min(1240px, calc(100% - 28px));
  margin: 14px auto 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface-solid) 76%, transparent);
  backdrop-filter: blur(22px) saturate(140%);
  box-shadow: 0 14px 50px rgba(28, 21, 17, 0.1);
}
.brand {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  text-decoration: none;
  font-weight: 900;
  padding-right: 0.7rem;
}
.brand-mark {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: var(--bg);
  background: var(--ink);
  font-size: 0.74rem;
}
.theme-nav__scroll {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  overflow-x: visible;
  scrollbar-width: none;
  padding: 2px;
}
.theme-nav__scroll::-webkit-scrollbar { display: none; }
.theme-pill {
  flex: 0 0 auto;
  display: inline-flex;
  white-space: nowrap;
  align-items: center;
  font-size: 0.84rem;
  gap: 0.4rem;
  min-height: 38px;
  padding: 0 0.85rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  color: color-mix(in srgb, var(--ink) 78%, transparent);
}
.theme-pill span { color: var(--accent); font-size: 0.75rem; }
.theme-pill.is-active, .theme-pill:hover { background: var(--ink); color: var(--bg); }
.theme-pill.is-active span, .theme-pill:hover span { color: color-mix(in srgb, var(--bg) 76%, white); }

.landing { padding-bottom: 90px; }
.hero {
  min-height: calc(100vh - 76px);
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.78fr);
  gap: clamp(2rem, 7vw, 7rem);
  align-items: center;
  padding: clamp(4rem, 9vw, 8rem) 0 4rem;
}
.hero__copy { position: relative; z-index: 1; }
.hero__deck { font-size: clamp(1.05rem, 2vw, 1.35rem); max-width: 680px; }
.hero__art { position: relative; }
.hero__frame {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
  background: var(--surface-solid);
  box-shadow: var(--shadow);
  padding: clamp(0.7rem, 2vw, 1.1rem);
  transform: rotate(1deg);
}
.hero__frame::before {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,0.52);
  border-radius: inherit;
  pointer-events: none;
}
.hero__frame img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: calc(var(--radius) - 12px);
}
.hero__caption {
  position: absolute;
  right: clamp(0.65rem, 2vw, 1.4rem);
  bottom: clamp(1rem, 4vw, 2.5rem);
  max-width: 250px;
  padding: 1rem;
  border-radius: 22px;
  background: color-mix(in srgb, var(--surface-solid) 86%, transparent);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 50px rgba(35, 25, 19, 0.16);
}
.hero__caption span, .art-card small, .lightbox__medium { display: block; color: var(--muted); font-size: 0.78rem; line-height: 1.5; }
.hero__caption strong { display: block; margin: 0.2rem 0; font-family: var(--serif); font-size: 1.55rem; line-height: 1; }
.quick-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 2rem 0 0;
}
.quick-stats div {
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: color-mix(in srgb, var(--surface-solid) 58%, transparent);
}
.quick-stats dt { color: var(--muted); font-size: 0.73rem; text-transform: uppercase; letter-spacing: 0.12em; font-weight: 800; }
.quick-stats dd { margin: 0.3rem 0 0; font-weight: 900; font-size: 1.05rem; }

.category-band {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto clamp(4rem, 8vw, 7rem);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.category-chip {
  padding: 1.2rem;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: color-mix(in srgb, var(--surface-solid) 62%, transparent);
  backdrop-filter: blur(16px);
}
.category-chip strong { display: block; font-size: 1.05rem; }
.category-chip span { color: var(--muted); font-size: 0.88rem; }

.intro-panel, .artist-panel {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 5vw, 5rem);
  align-items: center;
  margin-bottom: clamp(4rem, 8vw, 7rem);
  padding: clamp(1.2rem, 4vw, 3rem);
  border: 1px solid var(--line);
  border-radius: calc(var(--radius) + 10px);
  background: color-mix(in srgb, var(--surface-solid) 70%, transparent);
  box-shadow: 0 20px 70px rgba(39, 29, 20, 0.09);
  backdrop-filter: blur(18px);
}
.intro-panel h2, .artist-panel h2 { font-size: clamp(2rem, 4vw, 4rem); }
.collection { margin-bottom: clamp(4rem, 8vw, 7rem); }
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: clamp(1.5rem, 4vw, 3rem);
}
.section-heading p:last-child { max-width: 420px; margin-bottom: 0; }
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.art-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: var(--surface-solid);
  box-shadow: 0 18px 60px rgba(41, 30, 22, 0.1);
  transform: rotate(var(--tilt));
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.art-card:hover { transform: rotate(0deg) translateY(-7px); box-shadow: 0 32px 90px rgba(41, 30, 22, 0.18); }
.art-card__image-button {
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: zoom-in;
}
.art-card img {
  width: 100%;
  aspect-ratio: 4 / 3.35;
  object-fit: cover;
  transition: transform 350ms ease, filter 350ms ease;
}
.art-card:hover img { transform: scale(1.045); }
.art-card__body { padding: 1rem; }
.art-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 0.7rem;
  color: var(--accent);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 900;
  margin-bottom: 0.7rem;
}
.art-card p { font-size: 0.92rem; margin: 0.65rem 0; }

.artist-panel__portrait img {
  width: min(360px, 100%);
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 34px;
  box-shadow: var(--shadow);
}

.lightbox {
  width: min(1050px, calc(100% - 28px));
  max-height: min(850px, calc(100% - 28px));
  border: 0;
  border-radius: 30px;
  padding: 0;
  overflow: hidden;
  background: var(--surface-solid);
  color: var(--ink);
  box-shadow: 0 30px 120px rgba(0,0,0,0.45);
}
.lightbox::backdrop { background: rgba(17, 13, 10, 0.72); backdrop-filter: blur(8px); }
.lightbox[open] { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.65fr); }
.lightbox__image { width: 100%; height: 100%; max-height: 82vh; object-fit: contain; background: #111; }
.lightbox__copy { padding: clamp(1.2rem, 3vw, 2.4rem); align-self: center; }
.lightbox__close {
  position: absolute;
  right: 16px;
  top: 16px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.2);
  background: rgba(0,0,0,0.52);
  color: white;
  font-size: 1.7rem;
  cursor: pointer;
}

/* Theme 01 — Studio Light */
body.theme-studio-light {
  --bg: #f7f3ea;
  --surface-solid: #fffdf7;
  --accent: #7b7c5e;
  --accent-2: #dcc3a5;
  --accent-3: #9aaf9d;
}
.theme-studio-light .hero__frame { transform: rotate(-1deg); }
.theme-studio-light .gallery-grid .art-card:nth-child(6n + 1) { grid-row: span 2; }
.theme-studio-light .gallery-grid .art-card:nth-child(6n + 1) img { aspect-ratio: 4 / 5.35; }

/* Theme 02 — Midnight Salon */
body.theme-midnight-salon {
  color-scheme: dark;
  --bg: #101014;
  --surface: rgba(24, 24, 30, 0.82);
  --surface-solid: #19191f;
  --ink: #f6efe3;
  --muted: #c7bbac;
  --line: rgba(246, 239, 227, 0.13);
  --accent: #d4ad66;
  --accent-2: #7a4f45;
  --accent-3: #545b82;
  --shadow: 0 30px 100px rgba(0, 0, 0, 0.46);
  background:
    radial-gradient(circle at 72% 18%, rgba(212, 173, 102, 0.22), transparent 24rem),
    radial-gradient(circle at 12% 52%, rgba(84, 91, 130, 0.22), transparent 26rem),
    #101014;
}
.theme-midnight-salon body::before { opacity: 0.12; }
.theme-midnight-salon .hero__frame,
.theme-midnight-salon .art-card { border-color: rgba(212,173,102,0.24); }
.theme-midnight-salon .gallery-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.theme-midnight-salon .art-card { grid-column: span 2; background: linear-gradient(180deg, #202027, #15151a); }
.theme-midnight-salon .art-card:nth-child(1),
.theme-midnight-salon .art-card:nth-child(8),
.theme-midnight-salon .art-card:nth-child(13) { grid-column: span 4; }
.theme-midnight-salon .art-card img { aspect-ratio: 1 / 1; filter: saturate(0.9) contrast(1.08); }
.theme-midnight-salon .button.primary { background: #f1dcc1; color: #151318; }

/* Theme 03 — Coastal Mosaic */
body.theme-coastal-mosaic {
  --bg: #eaf7f4;
  --surface-solid: #fbfffc;
  --ink: #18343b;
  --muted: #557377;
  --accent: #178c91;
  --accent-2: #ffb59c;
  --accent-3: #79c7ca;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,181,156,0.34), transparent 20rem),
    linear-gradient(160deg, #e9fbfb, #fbf6e7 70%);
}
.theme-coastal-mosaic .hero { position: relative; }
.theme-coastal-mosaic .hero::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1rem;
  height: 90px;
  background: radial-gradient(ellipse at center, rgba(23,140,145,0.12), transparent 68%);
  pointer-events: none;
}
.theme-coastal-mosaic .art-card { border-radius: 44px 16px 38px 18px; }
.theme-coastal-mosaic .art-card:nth-child(odd) { transform: translateY(18px) rotate(var(--tilt)); }
.theme-coastal-mosaic .art-card img { aspect-ratio: 1.05 / 1; }

/* Theme 04 — Earth & Thread */
body.theme-earth-and-thread {
  --bg: #ece1d1;
  --surface-solid: #fff5e5;
  --ink: #302114;
  --muted: #75604b;
  --accent: #9d5930;
  --accent-2: #c08c56;
  --accent-3: #5f6f48;
  background:
    linear-gradient(90deg, rgba(74,42,18,0.045) 50%, transparent 50%) 0 0 / 22px 22px,
    radial-gradient(circle at top right, rgba(192,140,86,0.32), transparent 22rem),
    #ece1d1;
}
.theme-earth-and-thread .hero__frame, .theme-earth-and-thread .art-card, .theme-earth-and-thread .intro-panel { border-radius: 12px; }
.theme-earth-and-thread .gallery-grid { gap: 24px; }
.theme-earth-and-thread .art-card::before {
  content: '';
  position: absolute;
  left: 50%;
  top: -18px;
  width: 70px;
  height: 34px;
  background: rgba(214,190,143,0.72);
  transform: translateX(-50%) rotate(-3deg);
  z-index: 2;
  box-shadow: 0 4px 8px rgba(50,32,18,0.12);
}
.theme-earth-and-thread .art-card img { aspect-ratio: 4 / 3; }

/* Theme 05 — Pop Menagerie */
body.theme-pop-menagerie {
  --bg: #ffe66d;
  --surface-solid: #fff8df;
  --ink: #1a1720;
  --muted: #675a57;
  --line: rgba(26,23,32,0.18);
  --accent: #e52e7f;
  --accent-2: #ff7a00;
  --accent-3: #00a977;
  background:
    radial-gradient(circle at 12% 18%, #ff8bc6 0 7rem, transparent 7.1rem),
    radial-gradient(circle at 82% 20%, #8cf16f 0 8rem, transparent 8.1rem),
    radial-gradient(circle at 70% 80%, #74d8ff 0 9rem, transparent 9.1rem),
    #ffe66d;
}
.theme-pop-menagerie h1, .theme-pop-menagerie h2 { font-family: var(--sans); font-weight: 900; letter-spacing: -0.065em; line-height: 1.02; }
.theme-pop-menagerie .button.primary { background: var(--accent); color: white; }
.theme-pop-menagerie .hero__frame { border: 6px solid var(--ink); box-shadow: 14px 14px 0 var(--accent); }
.theme-pop-menagerie .gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.theme-pop-menagerie .art-card { border: 4px solid var(--ink); box-shadow: 9px 9px 0 var(--accent-3); }
.theme-pop-menagerie .art-card:nth-child(even) { box-shadow: 9px 9px 0 var(--accent-2); }
.theme-pop-menagerie .art-card img { aspect-ratio: 1 / 1; }

/* Theme 06 — Linen Lookbook */
body.theme-linen-lookbook {
  --bg: #f4eee4;
  --surface-solid: #fffaf0;
  --ink: #261f1c;
  --muted: #6b615b;
  --accent: #a75655;
  --accent-2: #d8b8a4;
  --accent-3: #846b54;
}
.theme-linen-lookbook h1, .theme-linen-lookbook h2 { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 600; }
.theme-linen-lookbook .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.theme-linen-lookbook .art-card {
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  align-items: stretch;
  transform: none;
}
.theme-linen-lookbook .art-card img { height: 100%; aspect-ratio: auto; }
.theme-linen-lookbook .art-card__body { display: flex; flex-direction: column; justify-content: center; padding: 1.4rem; }

/* Theme 07 — Botanical Cabinet */
body.theme-botanical-cabinet {
  color-scheme: dark;
  --bg: #132019;
  --surface-solid: #1d2e23;
  --ink: #f6ecd5;
  --muted: #c5bca9;
  --line: rgba(246,236,213,0.14);
  --accent: #a8c77b;
  --accent-2: #d5b66f;
  --accent-3: #386a4e;
  --shadow: 0 28px 90px rgba(0,0,0,0.4);
  background:
    radial-gradient(circle at 20% 14%, rgba(168,199,123,0.18), transparent 24rem),
    radial-gradient(circle at 80% 0%, rgba(213,182,111,0.14), transparent 18rem),
    #132019;
}
.theme-botanical-cabinet .gallery-grid {
  padding: 18px;
  border: 1px solid rgba(246,236,213,0.16);
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  box-shadow: inset 0 0 0 8px rgba(0,0,0,0.08);
}
.theme-botanical-cabinet .art-card { border-radius: 8px; background: #23392b; transform: none; }
.theme-botanical-cabinet .art-card img { aspect-ratio: 4 / 4.4; filter: saturate(0.88) contrast(1.05); }
.theme-botanical-cabinet .button.primary { background: #e6d5ad; color: #132019; }

/* Theme 08 — Golden Hour */
body.theme-golden-hour {
  --bg: #211217;
  --surface-solid: #fff3dc;
  --ink: #2a1815;
  --muted: #7f6459;
  --accent: #c88131;
  --accent-2: #f0b85c;
  --accent-3: #7b4865;
  background:
    radial-gradient(circle at 20% 18%, rgba(240,184,92,0.42), transparent 18rem),
    radial-gradient(circle at 82% 45%, rgba(123,72,101,0.38), transparent 24rem),
    linear-gradient(145deg, #32191b, #f7d18b 130%);
}
.theme-golden-hour .landing { color: #fff2dc; }
.theme-golden-hour .landing .hero__copy p, .theme-golden-hour .landing .section-heading p, .theme-golden-hour .landing .intro-panel p, .theme-golden-hour .landing .artist-panel p { color: rgba(255,242,220,0.74); }
.theme-golden-hour .intro-panel, .theme-golden-hour .artist-panel, .theme-golden-hour .category-chip, .theme-golden-hour .quick-stats div { background: rgba(48,26,25,0.48); border-color: rgba(255,242,220,0.16); }
.theme-golden-hour .gallery-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.theme-golden-hour .art-card { grid-column: span 2; }
.theme-golden-hour .art-card:nth-child(1), .theme-golden-hour .art-card:nth-child(8), .theme-golden-hour .art-card:nth-child(14) { grid-column: span 3; }
.theme-golden-hour .button.primary { background: #fff2dc; color: #301a19; }
.theme-golden-hour .theme-pill.is-active, .theme-golden-hour .theme-pill:hover { color: #fff2dc; }
.theme-golden-hour .art-card { color: var(--ink); }
.theme-golden-hour .art-card p, .theme-golden-hour .art-card small { color: var(--muted); }

/* Theme 09 — Storybook Wall */
body.theme-storybook-wall {
  --bg: #f7ecff;
  --surface-solid: #fffdf8;
  --ink: #2d2541;
  --muted: #695f7c;
  --accent: #7d55d6;
  --accent-2: #ffd166;
  --accent-3: #ef6796;
  background:
    radial-gradient(circle at 16% 20%, rgba(255,209,102,0.52), transparent 12rem),
    radial-gradient(circle at 85% 30%, rgba(103,197,255,0.42), transparent 16rem),
    radial-gradient(circle at 55% 90%, rgba(239,103,150,0.28), transparent 18rem),
    #f7ecff;
}
.theme-storybook-wall h1, .theme-storybook-wall h2 { font-family: var(--serif); }
.theme-storybook-wall .hero__frame, .theme-storybook-wall .art-card { border-radius: 36px; }
.theme-storybook-wall .art-card { overflow: visible; }
.theme-storybook-wall .art-card::after {
  content: '✦';
  position: absolute;
  top: -12px;
  right: 16px;
  color: var(--accent-3);
  font-size: 2rem;
}
.theme-storybook-wall .art-card img { border-radius: 36px 36px 0 0; }
.theme-storybook-wall .gallery-grid .art-card:nth-child(3n) { transform: translateY(22px) rotate(var(--tilt)); }

/* Theme 10 — Atelier Notebook */
body.theme-atelier-notebook {
  --bg: #f3eadc;
  --surface-solid: #fffaf0;
  --ink: #25201e;
  --muted: #74675f;
  --accent: #b35e72;
  --accent-2: #e9c8a8;
  --accent-3: #586f6b;
  background:
    linear-gradient(rgba(37,32,30,0.045) 1px, transparent 1px) 0 0 / 100% 32px,
    radial-gradient(circle at 12% 10%, rgba(179,94,114,0.18), transparent 18rem),
    #f3eadc;
}
.theme-atelier-notebook .hero__frame { transform: rotate(-3deg); }
.theme-atelier-notebook .gallery-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
.theme-atelier-notebook .art-card { grid-column: span 3; border-radius: 16px; transform: rotate(var(--tilt)); }
.theme-atelier-notebook .art-card:nth-child(4n + 1) { grid-column: span 4; }
.theme-atelier-notebook .art-card:nth-child(5n) { margin-top: 46px; }
.theme-atelier-notebook .art-card__body { border-top: 1px dashed var(--line); }
.theme-atelier-notebook .art-card::before {
  content: '';
  position: absolute;
  top: 10px;
  left: 50%;
  width: 90px;
  height: 28px;
  transform: translateX(-50%) rotate(1deg);
  background: rgba(232, 199, 160, 0.68);
  z-index: 2;
}

/* Ocean/Bahamas theme shared fit tweaks */
body.theme-bahamian-breeze .hero,
body.theme-turquoise-cove .hero,
body.theme-coral-reef .hero,
body.theme-island-market .hero,
body.theme-moonlit-lagoon .hero,
body.theme-bahamas-flag .hero {
  min-height: auto;
  padding-top: clamp(3rem, 6vw, 5.4rem);
}
body.theme-bahamian-breeze .hero__art,
body.theme-turquoise-cove .hero__art,
body.theme-coral-reef .hero__art,
body.theme-island-market .hero__art,
body.theme-moonlit-lagoon .hero__art,
body.theme-bahamas-flag .hero__art {
  width: min(100%, 510px);
  justify-self: end;
}
body.theme-bahamian-breeze .hero__caption,
body.theme-turquoise-cove .hero__caption,
body.theme-coral-reef .hero__caption,
body.theme-island-market .hero__caption,
body.theme-moonlit-lagoon .hero__caption,
body.theme-bahamas-flag .hero__caption {
  position: relative;
  right: auto;
  bottom: auto;
  margin: -1.25rem 1rem 0 auto;
  z-index: 2;
}
body.theme-bahamian-breeze .hero__frame img,
body.theme-turquoise-cove .hero__frame img,
body.theme-coral-reef .hero__frame img,
body.theme-island-market .hero__frame img,
body.theme-moonlit-lagoon .hero__frame img,
body.theme-bahamas-flag .hero__frame img {
  aspect-ratio: 4 / 4.45;
}
body.theme-bahamian-breeze h1,
body.theme-turquoise-cove h1,
body.theme-coral-reef h1,
body.theme-island-market h1,
body.theme-moonlit-lagoon h1,
body.theme-bahamas-flag h1 {
  max-width: 11.8ch;
  font-size: clamp(3.2rem, 7.2vw, 6.7rem);
}

/* Theme 11 — Bahamian Breeze */
body.theme-bahamian-breeze {
  --bg: #f6fff9;
  --surface-solid: #ffffff;
  --ink: #12333c;
  --muted: #54717a;
  --accent: #00a9b7;
  --accent-2: #ff9f9c;
  --accent-3: #f8d96a;
  background:
    radial-gradient(circle at 18% 16%, rgba(255,159,156,0.28), transparent 18rem),
    radial-gradient(circle at 85% 18%, rgba(0,169,183,0.23), transparent 24rem),
    linear-gradient(160deg, #f7fff9 0%, #e7fbff 54%, #fff4db 100%);
}
.theme-bahamian-breeze::after {
  content: '';
  position: fixed;
  inset: auto 0 0;
  height: 38vh;
  pointer-events: none;
  opacity: 0.26;
  background: repeating-radial-gradient(ellipse at 50% 100%, rgba(0,169,183,0.34) 0 4px, transparent 5px 22px);
  z-index: -1;
}
.theme-bahamian-breeze .hero__frame { border-radius: 56px; box-shadow: 0 28px 80px rgba(0, 132, 150, 0.18), 18px 18px 0 rgba(255,159,156,0.34); }
.theme-bahamian-breeze .button.primary { background: linear-gradient(135deg, #00a9b7, #007c92); color: white; }
.theme-bahamian-breeze .gallery-grid { gap: 22px; }
.theme-bahamian-breeze .art-card { border-radius: 34px; transform: rotate(var(--tilt)); }
.theme-bahamian-breeze .art-card:nth-child(3n + 2) { transform: translateY(10px) rotate(var(--tilt)); }
.theme-bahamian-breeze .art-card:nth-child(3n) { transform: translateY(20px) rotate(var(--tilt)); }
.theme-bahamian-breeze .art-card img { aspect-ratio: 1 / 0.88; }
.theme-bahamian-breeze .art-card:nth-child(4n + 2) { background: #fff9ea; }

/* Theme 12 — Turquoise Cove */
body.theme-turquoise-cove {
  --bg: #dffcff;
  --surface-solid: rgba(255,255,255,0.82);
  --ink: #083040;
  --muted: #426b78;
  --line: rgba(8,48,64,0.14);
  --accent: #00b9cc;
  --accent-2: #7edfd7;
  --accent-3: #f0ca86;
  background:
    linear-gradient(120deg, rgba(255,255,255,0.72), transparent 42%),
    radial-gradient(circle at 74% 14%, rgba(126,223,215,0.5), transparent 20rem),
    radial-gradient(circle at 15% 75%, rgba(0,185,204,0.28), transparent 26rem),
    #dffcff;
}
.theme-turquoise-cove .theme-nav, .theme-turquoise-cove .intro-panel, .theme-turquoise-cove .artist-panel, .theme-turquoise-cove .category-chip, .theme-turquoise-cove .quick-stats div, .theme-turquoise-cove .art-card {
  backdrop-filter: blur(22px) saturate(150%);
  background: rgba(255,255,255,0.58);
}
.theme-turquoise-cove .hero__frame { padding: 0.55rem; border-radius: 32px; box-shadow: 0 35px 90px rgba(0, 111, 136, 0.2); }
.theme-turquoise-cove .gallery-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
.theme-turquoise-cove .art-card { grid-column: span 2; border-radius: 30px; transform: none; }
.theme-turquoise-cove .art-card:nth-child(1), .theme-turquoise-cove .art-card:nth-child(9) { grid-column: span 4; }
.theme-turquoise-cove .art-card:nth-child(5), .theme-turquoise-cove .art-card:nth-child(14) { grid-column: span 3; }
.theme-turquoise-cove .art-card img { aspect-ratio: 4 / 3.8; }

/* Theme 13 — Coral Reef */
body.theme-coral-reef {
  --bg: #062f3b;
  --surface-solid: #fff4df;
  --ink: #15212c;
  --muted: #705b5e;
  --accent: #ff5d73;
  --accent-2: #ffb84d;
  --accent-3: #19d3c5;
  background:
    radial-gradient(circle at 14% 18%, rgba(255,93,115,0.42), transparent 20rem),
    radial-gradient(circle at 82% 24%, rgba(25,211,197,0.34), transparent 22rem),
    radial-gradient(circle at 55% 90%, rgba(255,184,77,0.3), transparent 25rem),
    #062f3b;
}
.theme-coral-reef .landing { color: #fff7e7; }
.theme-coral-reef .hero__copy p, .theme-coral-reef .section-heading p, .theme-coral-reef .intro-panel p, .theme-coral-reef .artist-panel p { color: rgba(255,247,231,0.76); }
.theme-coral-reef .button.primary { background: linear-gradient(135deg, #ff5d73, #ffb84d); color: #13232c; }
.theme-coral-reef .theme-pill.is-active, .theme-coral-reef .theme-pill:hover { color: #fff7e7; }
.theme-coral-reef .theme-pill.is-active span, .theme-coral-reef .theme-pill:hover span { color: #19d3c5; }
.theme-coral-reef .intro-panel, .theme-coral-reef .artist-panel, .theme-coral-reef .category-chip, .theme-coral-reef .quick-stats div { background: rgba(255,244,223,0.12); border-color: rgba(255,247,231,0.18); }
.theme-coral-reef .hero__frame { border-radius: 46% 54% 42% 58% / 44% 38% 62% 56%; box-shadow: 0 32px 95px rgba(0,0,0,0.34), 0 0 0 10px rgba(25,211,197,0.16); }
.theme-coral-reef .hero__caption { background: rgba(255,244,223,0.95); color: #15212c; }
.theme-coral-reef .hero__caption span, .theme-coral-reef .hero__caption small { color: #705b5e; }
.theme-coral-reef .gallery-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
.theme-coral-reef .art-card { grid-column: span 2; border-radius: 42% 58% 50% 50% / 46% 44% 56% 54%; color: var(--ink); overflow: hidden; }
.theme-coral-reef .art-card:nth-child(3n + 1) { grid-column: span 3; }
.theme-coral-reef .art-card img { aspect-ratio: 1 / 0.92; }
.theme-coral-reef .art-card p, .theme-coral-reef .art-card small { color: var(--muted); }

/* Theme 14 — Island Market */
body.theme-island-market {
  --bg: #fff3cf;
  --surface-solid: #fffaf0;
  --ink: #2b2418;
  --muted: #6f604c;
  --accent: #168eb6;
  --accent-2: #f3a51f;
  --accent-3: #e45d3f;
  background:
    linear-gradient(45deg, rgba(243,165,31,0.09) 25%, transparent 25% 50%, rgba(243,165,31,0.09) 50% 75%, transparent 75%) 0 0 / 34px 34px,
    radial-gradient(circle at 83% 14%, rgba(22,142,182,0.22), transparent 20rem),
    #fff3cf;
}
.theme-island-market h1, .theme-island-market h2 { font-family: 'Cormorant Garamond', Georgia, serif; }
.theme-island-market .hero__frame { border-radius: 18px; box-shadow: 14px 14px 0 rgba(22,142,182,0.24), -14px -14px 0 rgba(243,165,31,0.2); }
.theme-island-market .gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
.theme-island-market .art-card { border-radius: 18px; transform: none; border: 2px solid rgba(43,36,24,0.16); }
.theme-island-market .art-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 14px;
  background: repeating-linear-gradient(90deg, var(--accent) 0 28px, var(--accent-2) 28px 56px, var(--accent-3) 56px 84px, #fffaf0 84px 112px);
  z-index: 2;
}
.theme-island-market .art-card img { aspect-ratio: 4 / 3; }
.theme-island-market .button.primary { background: #168eb6; color: white; }

/* Theme 15 — Moonlit Lagoon */
body.theme-moonlit-lagoon {
  color-scheme: dark;
  --bg: #071326;
  --surface-solid: #101d34;
  --ink: #f3f8ff;
  --muted: #b7c7d8;
  --line: rgba(243,248,255,0.14);
  --accent: #91f4e5;
  --accent-2: #b9c7ff;
  --accent-3: #3d7bb8;
  --shadow: 0 34px 110px rgba(0,0,0,0.5);
  background:
    radial-gradient(circle at 70% 12%, rgba(185,199,255,0.24), transparent 14rem),
    radial-gradient(circle at 18% 68%, rgba(145,244,229,0.16), transparent 24rem),
    linear-gradient(180deg, #071326, #0b2540 58%, #071326);
}
.theme-moonlit-lagoon::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, rgba(145,244,229,0.55) 0 1px, transparent 1.6px);
  background-size: 92px 92px;
  opacity: 0.24;
  z-index: -1;
}
.theme-moonlit-lagoon .button.primary { background: #eafcff; color: #071326; }
.theme-moonlit-lagoon .hero__frame { box-shadow: 0 38px 110px rgba(0,0,0,0.48), 0 0 48px rgba(145,244,229,0.24); }
.theme-moonlit-lagoon .hero__caption { background: rgba(16,29,52,0.92); border: 1px solid rgba(145,244,229,0.18); }
.theme-moonlit-lagoon .hero__caption span, .theme-moonlit-lagoon .hero__caption small { color: #b7c7d8; }
.theme-moonlit-lagoon .intro-panel, .theme-moonlit-lagoon .artist-panel, .theme-moonlit-lagoon .category-chip, .theme-moonlit-lagoon .quick-stats div { background: rgba(16,29,52,0.7); border-color: rgba(145,244,229,0.16); }
.theme-moonlit-lagoon .gallery-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.theme-moonlit-lagoon .art-card { background: linear-gradient(180deg, #172742, #0e1b31); border-color: rgba(145,244,229,0.18); box-shadow: 0 20px 70px rgba(0,0,0,0.32), 0 0 32px rgba(145,244,229,0.08); }
.theme-moonlit-lagoon .art-card img { aspect-ratio: 1 / 1.06; filter: saturate(0.92) contrast(1.05); }
.theme-moonlit-lagoon .art-card__meta, .theme-moonlit-lagoon .eyebrow { color: var(--accent); }

/* Theme 16 — Bahamas Flag */
body.theme-bahamas-flag {
  --bg: #00abc9;
  --surface-solid: #fff8dc;
  --ink: #080808;
  --muted: #52606a;
  --line: rgba(0,0,0,0.16);
  --accent: #00abc9;
  --accent-2: #f4c430;
  --accent-3: #080808;
  background:
    linear-gradient(90deg, #080808 0 18vw, transparent 18vw),
    linear-gradient(180deg, #00abc9 0 33.33%, #f4c430 33.33% 66.66%, #00abc9 66.66% 100%);
}
body.theme-bahamas-flag::after {
  content: '';
  position: fixed;
  inset: 0 auto 0 0;
  width: min(34vw, 520px);
  pointer-events: none;
  background: linear-gradient(90deg, #080808 0 52%, transparent 52%),
    linear-gradient(145deg, #080808 0 50%, transparent 50%);
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  opacity: 0.92;
  z-index: -1;
}
.theme-bahamas-flag .landing { color: #080808; }
.theme-bahamas-flag .hero { gap: clamp(1.5rem, 5vw, 4.2rem); }
.theme-bahamas-flag .hero__copy {
  padding: clamp(1.15rem, 3vw, 2.2rem);
  border: 3px solid #080808;
  border-radius: 22px;
  background: rgba(255,248,220,0.94);
  box-shadow: 12px 12px 0 rgba(244,196,48,0.8), 0 26px 75px rgba(0,0,0,0.18);
}
.theme-bahamas-flag .hero__deck { color: #253941; }
.theme-bahamas-flag h1 { max-width: 12.6ch; font-size: clamp(3rem, 6.4vw, 5.8rem); }
.theme-bahamas-flag .hero__art { width: min(100%, 460px); }
.theme-bahamas-flag .theme-nav { background: rgba(255,248,220,0.9); border-color: rgba(0,0,0,0.22); }
.theme-bahamas-flag .brand-mark { background: #080808; color: #f4c430; }
.theme-bahamas-flag .theme-pill.is-active, .theme-bahamas-flag .theme-pill:hover { background: #080808; color: #f4c430; }
.theme-bahamas-flag .theme-pill.is-active span, .theme-bahamas-flag .theme-pill:hover span { color: #00abc9; }
.theme-bahamas-flag .button.primary { background: #080808; color: #f4c430; box-shadow: 0 18px 50px rgba(0,0,0,0.28); }
.theme-bahamas-flag .button.ghost { background: rgba(255,248,220,0.86); border-color: rgba(0,0,0,0.2); }
.theme-bahamas-flag .eyebrow { color: #080808; }
.theme-bahamas-flag .hero__frame {
  border-radius: 10px;
  border: 9px solid #080808;
  background: #f4c430;
  box-shadow: 14px 14px 0 rgba(244,196,48,0.72), -14px -14px 0 rgba(0,171,201,0.52), 0 30px 90px rgba(0,0,0,0.24);
  transform: rotate(-1deg);
}
.theme-bahamas-flag .hero__caption { background: #080808; color: #fff8dc; border: 2px solid #f4c430; }
.theme-bahamas-flag .hero__caption span, .theme-bahamas-flag .hero__caption small { color: #f4c430; }
.theme-bahamas-flag .quick-stats div, .theme-bahamas-flag .category-chip, .theme-bahamas-flag .intro-panel, .theme-bahamas-flag .artist-panel {
  background: rgba(255,248,220,0.9);
  border-color: rgba(0,0,0,0.22);
}
.theme-bahamas-flag .gallery-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 20px; }
.theme-bahamas-flag .art-card {
  grid-column: span 2;
  border-radius: 10px;
  border: 4px solid #080808;
  background: #fff8dc;
  color: #080808;
  transform: none;
}
.theme-bahamas-flag .art-card:nth-child(4n + 1) { grid-column: span 3; }
.theme-bahamas-flag .art-card:nth-child(4n + 2) { background: #f4c430; }
.theme-bahamas-flag .art-card:nth-child(4n + 3) { background: #d6fbff; }
.theme-bahamas-flag .art-card img { aspect-ratio: 1 / 0.88; border-bottom: 4px solid #080808; }
.theme-bahamas-flag .art-card__meta { color: #006b7d; }
.theme-bahamas-flag .art-card p, .theme-bahamas-flag .art-card small { color: #26343a; }

@media (max-width: 1100px) {
  .theme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero, .selector-hero { grid-template-columns: 1fr; min-height: auto; }
  .selector-collage { min-height: 520px; }
  .gallery-grid, .theme-pop-menagerie .gallery-grid, .theme-studio-light .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-midnight-salon .gallery-grid, .theme-golden-hour .gallery-grid, .theme-atelier-notebook .gallery-grid, .theme-turquoise-cove .gallery-grid, .theme-coral-reef .gallery-grid, .theme-island-market .gallery-grid, .theme-moonlit-lagoon .gallery-grid, .theme-bahamas-flag .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .theme-midnight-salon .art-card, .theme-midnight-salon .art-card:nth-child(1), .theme-midnight-salon .art-card:nth-child(8), .theme-midnight-salon .art-card:nth-child(13),
  .theme-golden-hour .art-card, .theme-golden-hour .art-card:nth-child(1), .theme-golden-hour .art-card:nth-child(8), .theme-golden-hour .art-card:nth-child(14),
  .theme-atelier-notebook .art-card, .theme-atelier-notebook .art-card:nth-child(4n + 1),
  .theme-turquoise-cove .art-card, .theme-turquoise-cove .art-card:nth-child(1), .theme-turquoise-cove .art-card:nth-child(5), .theme-turquoise-cove .art-card:nth-child(9), .theme-turquoise-cove .art-card:nth-child(14),
  .theme-coral-reef .art-card, .theme-coral-reef .art-card:nth-child(3n + 1),
  .theme-bahamas-flag .art-card, .theme-bahamas-flag .art-card:nth-child(4n + 1) { grid-column: auto; }
  .category-band { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .section-wrap, .selector-page, .category-band { width: min(100% - 24px, 1180px); }
  h1 { font-size: clamp(3rem, 17vw, 5rem); }
  .theme-nav { border-radius: 24px; align-items: flex-start; flex-direction: column; }
  .theme-nav__scroll { width: 100%; flex-wrap: nowrap; overflow-x: auto; }
  .brand { padding-left: 4px; }
  .hero { padding-top: 3rem; }
  .quick-stats, .category-band, .intro-panel, .artist-panel, .section-heading { grid-template-columns: 1fr; display: grid; }
  .section-heading { align-items: start; }
  .gallery-grid, .theme-linen-lookbook .gallery-grid, .theme-pop-menagerie .gallery-grid, .theme-midnight-salon .gallery-grid, .theme-golden-hour .gallery-grid, .theme-atelier-notebook .gallery-grid, .theme-turquoise-cove .gallery-grid, .theme-coral-reef .gallery-grid, .theme-island-market .gallery-grid, .theme-moonlit-lagoon .gallery-grid, .theme-bahamas-flag .gallery-grid { grid-template-columns: 1fr; }
  .theme-linen-lookbook .art-card { grid-template-columns: 1fr; }
  .art-card, .theme-earth-and-thread .art-card:nth-child(n), .theme-coastal-mosaic .art-card:nth-child(n), .theme-storybook-wall .gallery-grid .art-card:nth-child(n), .theme-bahamian-breeze .art-card:nth-child(n) { transform: none; margin-top: 0; }
  .theme-turquoise-cove .art-card, .theme-coral-reef .art-card { grid-column: auto; }
  .theme-grid { grid-template-columns: 1fr; }
  .theme-preview { min-height: 360px; }
  .selector-collage { min-height: 420px; }
  .hero__caption { position: static; margin: -1rem 1rem 0; max-width: none; }
  .lightbox[open] { grid-template-columns: 1fr; }
  .lightbox__image { max-height: 58vh; }
}

/* Final homepage — simple, powerful artist showcase */
body.final-showcase {
  --bg: #eee4d6;
  --surface: rgba(255, 250, 242, 0.82);
  --surface-solid: #fff9ef;
  --ink: #272421;
  --muted: #74685d;
  --line: rgba(62, 51, 42, 0.18);
  --accent: #786a4c;
  --accent-2: #d5b89e;
  --accent-3: #4f7868;
  --shadow: 0 28px 90px rgba(54, 42, 30, 0.16);
  background:
    radial-gradient(circle at 16% 10%, rgba(255,255,255,0.65), transparent 24rem),
    radial-gradient(circle at 90% 20%, rgba(102,129,105,0.14), transparent 22rem),
    linear-gradient(180deg, #f5eee5 0%, #e7d7c5 58%, #f3eadf 100%);
}

body.final-showcase::before {
  opacity: 0.24;
  background-image:
    radial-gradient(circle at center, rgba(76,66,54,0.32) 0 1px, transparent 1.5px),
    linear-gradient(45deg, transparent 47%, rgba(76,66,54,0.08) 48% 52%, transparent 53%);
  background-size: 34px 34px, 68px 68px;
  mask-image: linear-gradient(to bottom, black, transparent 88%);
}

.showcase-site {
  padding-bottom: clamp(4rem, 8vw, 7rem);
}

.showcase-nav {
  background: rgba(255, 249, 239, 0.86);
}

.showcase-nav .brand-mark {
  background: #272421;
  color: #fff2df;
}

.showcase-hero {
  min-height: calc(100vh - 86px);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.75fr);
  gap: clamp(2.2rem, 6vw, 6.5rem);
  align-items: center;
  padding: clamp(3.5rem, 7vw, 7rem) 0 clamp(3rem, 6vw, 5rem);
}

.final-showcase .showcase-hero h1 {
  max-width: 12ch;
  font-family: var(--sans);
  font-size: clamp(4rem, 9.6vw, 8.8rem);
  line-height: 0.82;
  letter-spacing: -0.085em;
  font-weight: 850;
}

.showcase-hero__subtitle {
  margin: clamp(1.2rem, 2.6vw, 2rem) 0 0;
  max-width: 10ch;
  color: #2f2a26;
  font-size: clamp(2rem, 5vw, 4.8rem);
  line-height: 0.94;
  letter-spacing: -0.07em;
  font-weight: 850;
}

.showcase-hero blockquote {
  position: relative;
  margin: clamp(1.6rem, 4vw, 2.6rem) 0 0;
  max-width: 690px;
  padding: clamp(1rem, 2vw, 1.4rem) clamp(1rem, 2.4vw, 1.8rem);
  border-left: 5px solid var(--accent);
  border-radius: 0 24px 24px 0;
  background: linear-gradient(90deg, rgba(39,36,33,0.92), rgba(39,36,33,0.74));
  color: #fff5e9;
  font-size: clamp(1.08rem, 2vw, 1.45rem);
  font-style: italic;
  line-height: 1.52;
  box-shadow: 0 20px 70px rgba(39,36,33,0.18);
}

.showcase-hero__portrait-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(70,57,45,0.16);
  border-radius: 34px;
  background: #fff7ec;
  box-shadow: var(--shadow);
  transform: rotate(1.2deg);
}

.showcase-hero__portrait-card img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.portrait-card__caption {
  position: absolute;
  inset: auto 18px 18px 18px;
  padding: 0.9rem 1rem;
  border-radius: 20px;
  background: rgba(255,249,239,0.88);
  color: #3f372f;
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  backdrop-filter: blur(16px);
}

.artist-story {
  margin-bottom: clamp(4rem, 8vw, 7rem);
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid var(--line);
  border-radius: 36px;
  background: rgba(255, 249, 239, 0.62);
  box-shadow: 0 20px 70px rgba(54,42,30,0.08);
}

.artist-story__triptych {
  display: grid;
  grid-template-columns: 1fr 0.92fr 1fr;
  gap: clamp(0.75rem, 2vw, 1.4rem);
  align-items: stretch;
}

.artist-story__triptych button,
.colour-note__art button,
.community-statement__art {
  border: 0;
  padding: 0;
  background: transparent;
  cursor: zoom-in;
}

.artist-story__triptych img,
.artist-story__triptych button img {
  width: 100%;
  height: 100%;
  min-height: 260px;
  aspect-ratio: 1 / 0.9;
  object-fit: cover;
  border: 10px solid rgba(255,255,255,0.82);
  box-shadow: 0 18px 50px rgba(48,37,28,0.12);
}

.artist-story__triptych > img {
  object-position: center 28%;
}

.artist-story__copy {
  max-width: 990px;
  margin: clamp(2rem, 5vw, 4rem) auto clamp(1rem, 3vw, 2.2rem);
}

.artist-story__copy p {
  margin: 0;
  color: #5e554d;
  font-size: clamp(1.05rem, 1.8vw, 1.38rem);
  line-height: 1.85;
}

.artist-story__copy p + p { margin-top: 1.5rem; }

.colour-note {
  margin-bottom: clamp(4rem, 8vw, 7rem);
  text-align: center;
}

.colour-note__art {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2.5rem);
  width: min(840px, 100%);
  margin: 0 auto clamp(1.4rem, 3vw, 2.2rem);
}

.colour-note__art img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 4px;
  box-shadow: 0 22px 60px rgba(54,42,30,0.14);
}

.colour-note p {
  max-width: 650px;
  margin: 0 auto;
  color: #766a5f;
  font-size: clamp(1rem, 1.6vw, 1.18rem);
  line-height: 1.78;
}

.community-statement {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(320px, 1fr);
  align-items: stretch;
  overflow: hidden;
  margin-bottom: clamp(4rem, 8vw, 7rem);
  border: 1px solid var(--line);
  border-radius: 38px;
  background:
    linear-gradient(135deg, rgba(255,249,239,0.92), rgba(236,220,200,0.78)),
    radial-gradient(circle at 16% 20%, rgba(255,255,255,0.7), transparent 14rem);
  box-shadow: var(--shadow);
}

.community-statement__copy {
  display: flex;
  min-height: 560px;
  flex-direction: column;
  justify-content: center;
  padding: clamp(2rem, 5vw, 4.7rem);
  text-align: center;
}

.community-statement__copy h2 {
  font-family: var(--sans);
  font-size: clamp(1.7rem, 3vw, 3.1rem);
  line-height: 1.08;
  letter-spacing: -0.05em;
}

.community-statement__copy blockquote {
  margin: clamp(1.3rem, 3vw, 2.3rem) auto 0;
  max-width: 470px;
  color: #64584d;
  font-size: clamp(1.15rem, 2vw, 1.65rem);
  line-height: 1.7;
}

.community-statement__copy cite {
  margin-top: 1.8rem;
  color: #6a5b4d;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.community-statement__art img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
}

.showcase-collection .section-heading h2 {
  font-family: var(--sans);
  font-size: clamp(2.2rem, 5vw, 5rem);
  letter-spacing: -0.07em;
}

.final-showcase .gallery-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
}

.final-showcase .art-card {
  grid-column: span 4;
  border-radius: 20px;
  background: rgba(255,250,242,0.9);
  transform: none;
}

.final-showcase .art-card:nth-child(5n + 1) { grid-column: span 5; }
.final-showcase .art-card:nth-child(5n + 2) { grid-column: span 3; }
.final-showcase .art-card:nth-child(5n + 3) { grid-column: span 4; }

.final-showcase .art-card img {
  aspect-ratio: 1 / 0.9;
  filter: saturate(0.98) contrast(1.02);
}

.final-showcase .art-card__meta,
.final-showcase .eyebrow {
  color: var(--accent);
}

@media (max-width: 1100px) {
  .showcase-hero,
  .community-statement {
    grid-template-columns: 1fr;
  }

  .community-statement__copy,
  .community-statement__art img {
    min-height: auto;
  }

  .final-showcase .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .final-showcase .art-card,
  .final-showcase .art-card:nth-child(n) { grid-column: auto; }
}

@media (max-width: 760px) {
  .showcase-hero {
    padding-top: 2.4rem;
  }

  .final-showcase .showcase-hero h1 {
    font-size: clamp(3.6rem, 17vw, 5.8rem);
  }

  .showcase-hero__subtitle {
    font-size: clamp(2rem, 11vw, 3.6rem);
  }

  .artist-story__triptych,
  .colour-note__art,
  .final-showcase .gallery-grid {
    grid-template-columns: 1fr;
  }

  .artist-story__triptych img,
  .artist-story__triptych button img {
    min-height: auto;
    aspect-ratio: 4 / 3.25;
    border-width: 7px;
  }

  .community-statement {
    border-radius: 26px;
  }

  .community-statement__copy {
    text-align: left;
  }

  .community-statement__copy blockquote {
    margin-left: 0;
  }
}

/* Visual tuning after first preview */
.showcase-hero {
  min-height: auto;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 0.62fr);
  gap: clamp(1.6rem, 4vw, 4.2rem);
  padding: clamp(2.8rem, 5.5vw, 5.6rem) 0 clamp(3.2rem, 6vw, 5.4rem);
}

.final-showcase .showcase-hero h1 {
  font-size: clamp(3.7rem, 8.4vw, 7.6rem);
  line-height: 0.9;
}

.showcase-hero__subtitle {
  font-size: clamp(1.9rem, 4.3vw, 4rem);
  line-height: 1;
}

.showcase-hero blockquote {
  max-width: 620px;
  padding: clamp(0.9rem, 1.7vw, 1.15rem) clamp(1rem, 2vw, 1.35rem);
  font-size: clamp(1rem, 1.55vw, 1.22rem);
  background: linear-gradient(90deg, rgba(39,36,33,0.88), rgba(39,36,33,0.68));
}

.final-showcase .eyebrow {
  font-size: 0.8rem;
  letter-spacing: 0.15em;
}

.portrait-card__caption {
  font-size: 0.76rem;
  letter-spacing: 0.06em;
}

.showcase-nav .theme-nav__scroll {
  margin-left: auto;
}

@media (max-width: 1100px) {
  .showcase-hero {
    grid-template-columns: 1fr;
  }
}

/* Second pass: softer hierarchy and tighter reading rhythm */
.final-showcase .showcase-hero h1 {
  font-size: clamp(3.4rem, 7.5vw, 6.8rem);
  line-height: 0.96;
  max-width: 11.5ch;
}

.showcase-hero__subtitle {
  margin-top: 1rem;
  font-size: clamp(1.75rem, 3.8vw, 3.45rem);
}

.showcase-hero blockquote {
  margin-top: clamp(1.2rem, 2.5vw, 1.9rem);
  max-width: 560px;
  border-left-color: #887757;
  background: rgba(255, 249, 239, 0.82);
  color: #51483f;
  box-shadow: 0 18px 55px rgba(54,42,30,0.1);
}

.showcase-hero__portrait-card {
  align-self: center;
  transform: rotate(0.7deg);
}

.artist-story {
  margin-top: -0.8rem;
}

.artist-story__copy {
  max-width: 850px;
}

.showcase-nav .theme-pill:not(.is-active) {
  color: #4f453b;
}

.showcase-nav .theme-pill.is-active {
  background: #3a342e;
}

/* Dog pair moved into the bottom of the artist/bio page */
.artist-story__dog-row {
  margin: clamp(2rem, 5vw, 3.6rem) auto 0;
  padding-top: clamp(1.6rem, 4vw, 3rem);
  border-top: 1px solid var(--line);
}

.artist-story__dog-row.colour-note {
  margin-bottom: 0;
}

/* Keep the final site from repeating artwork already featured above */
.community-statement--text-only {
  grid-template-columns: 1fr;
}

.community-statement--text-only .community-statement__copy {
  width: min(920px, 100%);
  min-height: auto;
  margin-inline: auto;
}

/* Place the community statement directly above the sequin pieces */
.artist-story__statement {
  margin: 0 0 clamp(1.6rem, 4vw, 3rem);
  box-shadow: 0 18px 55px rgba(54,42,30,0.08);
}

.artist-story__statement .community-statement__copy {
  min-height: auto;
  padding: clamp(1.5rem, 4vw, 3.2rem);
}
