:root {
  --gallery-ink:#173f40;
  --gallery-pink:#d85272;
  --gallery-orange:#ee702f;
  --gallery-yellow:#f3c84b;
  --gallery-aqua:#6fc9c2;
}

.gallery-page { background:#fffaf0; }
.gallery-header { color:var(--gallery-ink); }
.gallery-hero {
  min-height:760px;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:center;
  gap:72px;
  overflow:hidden;
  padding:140px max(6vw,calc((100vw - 1180px)/2)) 90px;
  background:radial-gradient(circle at 82% 18%,rgba(243,200,75,.4),transparent 22%),linear-gradient(123deg,#fff2d6 0 58%,#c5ece8 58%);
}
.gallery-hero .back-link { display:inline-block; margin-bottom:42px; color:var(--gallery-pink); font-weight:700; text-decoration:none; }
.gallery-hero h1 { color:var(--gallery-ink); font-size:clamp(3.7rem,6.2vw,6.5rem); }
.gallery-hero h1 em { color:var(--gallery-pink); }
.gallery-hero-copy>p:not(.eyebrow) { max-width:600px; margin:27px 0 32px; font-size:1.16rem; }
.gallery-primary { color:#fff; background:var(--gallery-ink); }

.gallery-hero-art { position:relative; justify-self:center; width:min(580px,100%); padding:42px; }
.gallery-hero-art::before,.gallery-hero-art::after { content:""; position:absolute; border:2px solid rgba(216,82,114,.38); border-radius:49% 51% 43% 57% / 55% 42% 58% 45%; transform:rotate(-7deg); }
.gallery-hero-art::before { inset:5% 0 2% 7%; }
.gallery-hero-art::after { inset:-2% 8% 9% -2%; border-color:rgba(8,107,114,.32); transform:rotate(8deg); }
.gallery-hero-art img { position:relative; z-index:2; display:block; width:100%; height:auto; box-shadow:0 28px 55px rgba(23,63,64,.22); }
.paint-orbit { position:absolute; z-index:3; padding:8px 14px; border-radius:999px; color:var(--gallery-ink); background:#fff; font-size:.73rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; box-shadow:0 10px 24px rgba(23,63,64,.13); }
.orbit-a { top:3%; left:-2%; transform:rotate(-8deg); }
.orbit-b { right:-2%; top:28%; transform:rotate(5deg); }
.orbit-c { right:8%; bottom:0; transform:rotate(-4deg); }

.gallery-universes { padding:110px max(6vw,calc((100vw - 1180px)/2)); color:#fff; background:var(--gallery-ink); }
.universe-heading { max-width:780px; }
.universe-heading h2 { color:#fff; }
.universe-heading .eyebrow { color:var(--gallery-yellow); }
.universe-heading>p:last-child { max-width:690px; margin-top:20px; color:#d9ebe7; font-size:1.08rem; }
.universe-jump { display:flex; flex-wrap:wrap; gap:10px; margin-top:38px; }
.universe-jump a { padding:9px 14px; border:1px solid rgba(255,255,255,.3); border-radius:999px; color:#fff; font-size:.88rem; font-weight:700; text-decoration:none; transition:background .2s ease,color .2s ease,transform .2s ease; }
.universe-jump a:hover,.universe-jump a:focus-visible { color:var(--gallery-ink); background:#fff; transform:translateY(-2px); }
.universe-list { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:58px; }
.art-universe { position:relative; min-height:350px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:38px; border-radius:8px 54px 8px 54px; color:#173f40; isolation:isolate; }
.art-universe:nth-child(even) { border-radius:54px 8px 54px 8px; transform:translateY(24px); }
.art-universe::before { content:""; position:absolute; z-index:-1; width:190px; aspect-ratio:1; top:-52px; right:-35px; border:1px solid currentColor; border-radius:50%; opacity:.2; }
.art-universe::after { content:""; position:absolute; z-index:-1; width:105px; aspect-ratio:1; top:18px; right:42px; border:1px solid currentColor; border-radius:50%; opacity:.16; }
.art-universe>span { color:inherit; font-size:.76rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.art-universe h3 { max-width:520px; margin:11px 0 12px; color:inherit; font-family:"Playfair Display",serif; font-size:clamp(2rem,3vw,3rem); line-height:1.08; }
.art-universe p { max-width:520px; margin:0; font-size:1.02rem; }
.art-universe small { align-self:flex-start; margin-top:24px; padding:7px 11px; border-radius:999px; color:inherit; background:rgba(255,255,255,.55); font-weight:700; }
.universe-open { align-self:flex-start; margin-top:24px; padding:9px 14px; border-radius:999px; color:inherit; background:rgba(255,255,255,.68); font-size:.88rem; font-weight:700; text-decoration:none; transition:transform .2s ease,background .2s ease; }
.universe-open:hover,.universe-open:focus-visible { background:#fff; transform:translateY(-2px); }
.water-universe { background:linear-gradient(145deg,#b8edea,#65bfc9 58%,#2c829a); }
.native-universe { color:#fff8e8; background:linear-gradient(145deg,#e39746,#a75032 58%,#523329); }
.spirit-universe { color:#fff; background:linear-gradient(145deg,#c681b8,#775b9b 58%,#3e476f); }
.seasons-universe { background:linear-gradient(135deg,#b9df77,#f2d45b 38%,#ed8b42 70%,#9ebdd5); }
.elements-universe { color:#fff; background:linear-gradient(145deg,#447e69,#397997 45%,#cc6540 76%,#e3a746); }
.light-universe { background:linear-gradient(135deg,#f07a74,#f5ca55 34%,#7ad2c8 65%,#9f80c2); }
.iam-universe { color:#fff; background:linear-gradient(140deg,#e33377,#ff8c32 36%,#f8cf3f 62%,#168f9f); }

.water-collection { padding:110px max(6vw,calc((100vw - 1180px)/2)); background:linear-gradient(180deg,#e7f7f5 0,#fffaf0 28%); }
.water-heading { max-width:760px; margin-bottom:68px; }
.water-heading h2 { color:var(--gallery-ink); }
.water-heading>p:last-child { max-width:680px; margin-top:20px; font-size:1.08rem; }
.water-artworks { display:flex; flex-direction:column; align-items:center; gap:82px; }
.water-artwork { width:min(100%,980px); margin:0; }
.water-artwork.square-work { width:min(100%,760px); }
.water-artwork.memory-work { width:min(100%,940px); }
.water-artwork button { display:block; width:100%; padding:0; border:0; background:transparent; cursor:zoom-in; box-shadow:0 22px 52px rgba(23,63,64,.16); }
.water-artwork img { display:block; width:100%; height:auto; }
.water-artwork.crop-square button,.water-artwork.harmonie-work button { aspect-ratio:1; overflow:hidden; }
.water-artwork.crop-square img,.water-artwork.harmonie-work img { height:100%; object-fit:cover; }
.water-artwork.memory-work img { object-position:53% 50%; transform:scale(1.055); }
.water-artwork.petillance-work button { aspect-ratio:3/2; overflow:hidden; }
.water-artwork.petillance-work img { height:100%; object-fit:cover; object-position:50% 54%; transform:scale(1.14); }
.water-artwork.quietude-work button { aspect-ratio:8/5; overflow:hidden; }
.water-artwork.quietude-work img { height:100%; object-fit:cover; object-position:50% 52%; transform:scale(1.1); }
.water-artwork.harmonie-work img { transform:scale(1.025); }
.water-artwork.azure-work button { aspect-ratio:1; overflow:hidden; }
.water-artwork.azure-work img { height:100%; object-fit:cover; object-position:50% 58%; transform:scale(1.12); }
.water-artwork button:hover,.water-artwork button:focus-visible { box-shadow:0 28px 62px rgba(23,63,64,.22); }
.water-artwork button:focus-visible { outline:4px solid var(--gallery-aqua); outline-offset:8px; }
.water-artwork figcaption { display:flex; justify-content:space-between; gap:18px; padding:16px 4px 0; color:var(--gallery-ink); }
.water-artwork figcaption strong { font-family:"Playfair Display",serif; font-size:1.35rem; }
.water-artwork figcaption span { padding-top:5px; font-size:.9rem; opacity:.72; }

.native-collection { padding:110px max(6vw,calc((100vw - 1180px)/2)); background:linear-gradient(180deg,#f8e7c9 0,#fffaf0 27%); }
.native-heading { max-width:760px; margin-bottom:68px; }
.native-heading h2 { color:#523329; }
.native-heading>p:last-child { max-width:680px; margin-top:20px; font-size:1.08rem; }
.native-artworks { display:flex; flex-direction:column; align-items:center; gap:82px; }
.native-artwork { width:min(100%,760px); margin:0; }
.native-artwork.dreams-work { width:min(100%,520px); }
.native-artwork button { display:block; width:100%; padding:0; overflow:hidden; border:0; background:transparent; cursor:zoom-in; box-shadow:0 22px 52px rgba(82,51,41,.18); }
.native-artwork img { display:block; width:100%; height:100%; object-fit:cover; }
.native-artwork.dreams-work button { aspect-ratio:24/50; }
.native-artwork.dreams-work img { object-position:53% 47%; transform:scale(1.14); }
.native-artwork.square-native button { aspect-ratio:1; }
.native-artwork.dark-skies-work img { object-position:50% 49%; transform:scale(1.11); }
.native-artwork.lakota-work img { transform:scale(1.018); }
.native-artwork.moon-work img { transform:scale(1.03); }
.native-artwork button:hover,.native-artwork button:focus-visible { box-shadow:0 28px 62px rgba(82,51,41,.26); }
.native-artwork button:focus-visible { outline:4px solid #a75032; outline-offset:8px; }
.native-artwork figcaption { display:flex; justify-content:space-between; gap:18px; padding:16px 4px 0; color:#523329; }
.native-artwork figcaption strong { font-family:"Playfair Display",serif; font-size:1.35rem; }
.native-artwork figcaption span { padding-top:5px; font-size:.9rem; opacity:.72; }

.spirit-collection,.seasons-collection,.elements-collection,.colors-collection,.iam-collection { padding:110px max(6vw,calc((100vw - 1180px)/2)); }
.spirit-collection { background:linear-gradient(180deg,#eee5f6 0,#fffaf0 27%); }
.seasons-collection { background:linear-gradient(180deg,#eef6dc 0,#fffaf0 27%); }
.elements-collection { background:linear-gradient(180deg,#e3f2ef 0,#fffaf0 27%); }
.colors-collection { background:linear-gradient(180deg,#fbe5dc 0,#fffaf0 27%); }
.iam-collection { background:linear-gradient(180deg,#ffe3b8 0,#fffaf0 24%,#f7e9f0 100%); }
.collection-heading { max-width:760px; margin-bottom:68px; }
.collection-heading h2 { color:var(--gallery-ink); }
.collection-heading>p:last-child { max-width:680px; margin-top:20px; font-size:1.08rem; }
.collection-artworks { display:flex; flex-direction:column; align-items:center; gap:82px; }
.collection-artwork { margin:0; }
.season-work { width:min(100%,980px); }
.element-work { width:min(100%,720px); }
.spirit-square { width:min(100%,720px); }
.color-work { width:min(100%,760px); }
.iam-work { width:min(100%,820px); }
.frog-spirit { width:min(100%,510px); }
.collection-artwork button { display:block; width:100%; padding:0; overflow:hidden; border:0; background:transparent; cursor:zoom-in; box-shadow:0 22px 52px rgba(23,63,64,.16); }
.collection-artwork img { display:block; width:100%; height:100%; object-fit:cover; }
.season-work button { aspect-ratio:3/2; }
.season-work img { object-position:50% 50%; transform:scale(1.045); }
.spring-work button { aspect-ratio:12/7; }
.spring-work img { object-position:50% 58%; transform:scale(1.06); }
.autumn-work img { object-position:50% 53%; transform:scale(1.08); }
.winter-work img { transform:scale(1.01); }
.element-work button { aspect-ratio:1; }
.earth-element img { object-position:42% 50%; transform:scale(1.36); }
.water-element img { object-position:72% 50%; transform:scale(1.3); }
.air-element img { object-position:71% 50%; transform:scale(1.22); }
.fire-element img { object-position:71% 50%; transform:scale(1.3); }
.spirit-square button { aspect-ratio:1; }
.color-work button { aspect-ratio:1; }
.color-work img { object-position:50% 50%; transform:scale(1.012); }
.cascade-work img { object-position:49% 50%; transform:scale(1.03); }
.iam-work button { background:#fff; }
.iam-work img { width:100%; height:auto; object-fit:contain; }
.lower-spirit img { object-position:50% 65%; transform:scale(1.08); }
.aura-spirit img { object-position:50% 73%; transform:scale(1.2); }
.harmony-light-spirit img { object-position:50% 32%; transform:translateX(-4.5%) scale(1.22); }
.inner-harmony-spirit img { object-position:59% 50%; transform:scale(1.17); }
.clean-spirit img { transform:scale(1.025); }
.tree-spirit img { object-position:58% 50%; transform:scale(1.08); }
.buddha-spirit img { object-position:66% 50%; transform:scale(1.12); }
.frog-spirit button { aspect-ratio:7/12; }
.frog-spirit img { object-position:50% 50%; transform:scale(1.025); }
.collection-artwork button:hover,.collection-artwork button:focus-visible { box-shadow:0 28px 62px rgba(23,63,64,.23); }
.collection-artwork button:focus-visible { outline:4px solid var(--gallery-orange); outline-offset:8px; }
.collection-artwork figcaption { display:flex; justify-content:space-between; gap:18px; padding:16px 4px 0; color:var(--gallery-ink); }
.collection-artwork figcaption strong { font-family:"Playfair Display",serif; font-size:1.35rem; }
.collection-artwork figcaption span { padding-top:5px; font-size:.9rem; opacity:.72; }

.art-section { padding:110px max(6vw,calc((100vw - 1180px)/2)); }
.art-section .section-heading { max-width:760px; }
.art-section .section-heading p:last-child { max-width:680px; }
.art-grid { display:flex; flex-direction:column; align-items:center; gap:78px; margin-top:64px; }
.art-card { width:min(100%,920px); margin:0; }
.art-card.art-portrait { width:min(100%,610px); }
.art-card.art-near-square { width:min(100%,760px); }
.art-card button { display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in; box-shadow:0 18px 45px rgba(23,63,64,.13); }
.art-card img { display:block; width:100%; height:auto; }
.art-card button:hover,.art-card button:focus-visible { box-shadow:0 22px 52px rgba(23,63,64,.19); }
.art-card button:focus-visible { outline:4px solid var(--gallery-orange); outline-offset:7px; }
.art-card figcaption { display:flex; justify-content:space-between; gap:16px; padding:14px 4px 0; color:var(--gallery-ink); }
.art-card figcaption span { font-size:.88rem; opacity:.7; }

.artist-note { display:grid; grid-template-columns:.85fr 1.15fr; gap:75px; padding:105px max(6vw,calc((100vw - 1180px)/2)); color:#fff; background:var(--gallery-ink); }
.artist-note h2 { color:#fff; }
.artist-note p { max-width:620px; }
.artist-note .eyebrow { color:var(--gallery-yellow); }
.gallery-light { margin-top:20px; color:var(--gallery-ink); background:#fff; }
.gallery-next { padding:105px 24px; text-align:center; background:#fff2d6; }
.gallery-next p:not(.eyebrow) { max-width:620px; margin:22px auto 28px; }
.lightbox { position:fixed; z-index:50; inset:0; display:grid; place-items:center; padding:55px; background:rgba(10,30,30,.92); }
.lightbox[hidden] { display:none; }
.lightbox-frame { display:grid; place-items:center; max-width:min(92vw,1300px); max-height:88vh; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,.45); }
.lightbox-frame img { display:block; max-width:100%; max-height:88vh; }
.lightbox-frame.crop-memory,.lightbox-frame.crop-harmonie { width:min(88vh,92vw); aspect-ratio:1; }
.lightbox-frame.crop-memory img,.lightbox-frame.crop-harmonie img { width:100%; height:100%; max-height:none; object-fit:cover; }
.lightbox-frame.crop-memory img { object-position:53% 50%; transform:scale(1.055); }
.lightbox-frame.crop-harmonie img { transform:scale(1.025); }
.lightbox-frame.crop-azure { width:min(88vh,92vw); aspect-ratio:1; }
.lightbox-frame.crop-azure img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:50% 58%; transform:scale(1.12); }
.lightbox-frame.crop-color-square { width:min(88vh,92vw); aspect-ratio:1; }
.lightbox-frame.crop-color-square img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:50% 50%; transform:scale(1.012); }
.lightbox-frame.crop-color-cascade { width:min(88vh,92vw); aspect-ratio:1; }
.lightbox-frame.crop-color-cascade img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:49% 50%; transform:scale(1.03); }
.lightbox-frame.crop-petillance { width:min(92vw,132vh); aspect-ratio:3/2; }
.lightbox-frame.crop-petillance img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:50% 54%; transform:scale(1.14); }
.lightbox-frame.crop-quietude { width:min(92vw,140vh); aspect-ratio:8/5; }
.lightbox-frame.crop-quietude img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:50% 52%; transform:scale(1.1); }
.lightbox-frame.crop-dreams { width:min(42.25vh,92vw); aspect-ratio:24/50; }
.lightbox-frame.crop-dreams img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:53% 47%; transform:scale(1.14); }
.lightbox-frame.crop-dark-skies,.lightbox-frame.crop-native-square,.lightbox-frame.crop-moon { width:min(88vh,92vw); aspect-ratio:1; }
.lightbox-frame.crop-dark-skies img,.lightbox-frame.crop-native-square img,.lightbox-frame.crop-moon img { width:100%; height:100%; max-height:none; object-fit:cover; }
.lightbox-frame.crop-dark-skies img { object-position:50% 49%; transform:scale(1.11); }
.lightbox-frame.crop-native-square img { transform:scale(1.018); }
.lightbox-frame.crop-moon img { transform:scale(1.03); }
.lightbox-frame.crop-season { width:min(92vw,132vh); aspect-ratio:3/2; }
.lightbox-frame.crop-season img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:50% 50%; transform:scale(1.045); }
.lightbox-frame.crop-spring { width:min(92vw,150vh); aspect-ratio:12/7; }
.lightbox-frame.crop-spring img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:50% 58%; transform:scale(1.06); }
.lightbox-frame.crop-autumn { width:min(92vw,132vh); aspect-ratio:3/2; }
.lightbox-frame.crop-autumn img { width:100%; height:100%; max-height:none; object-fit:cover; object-position:50% 53%; transform:scale(1.08); }
.lightbox-frame.crop-winter { width:min(92vw,132vh); aspect-ratio:3/2; }
.lightbox-frame.crop-winter img { width:100%; height:100%; max-height:none; object-fit:cover; transform:scale(1.01); }
.lightbox-frame.crop-element-earth,.lightbox-frame.crop-element-water,.lightbox-frame.crop-element-air,.lightbox-frame.crop-element-fire { width:min(88vh,92vw); aspect-ratio:1; }
.lightbox-frame.crop-element-earth img,.lightbox-frame.crop-element-water img,.lightbox-frame.crop-element-air img,.lightbox-frame.crop-element-fire img { width:100%; height:100%; max-height:none; object-fit:cover; }
.lightbox-frame.crop-element-earth img { object-position:42% 50%; transform:scale(1.36); }
.lightbox-frame.crop-element-water img { object-position:72% 50%; transform:scale(1.3); }
.lightbox-frame.crop-element-air img { object-position:71% 50%; transform:scale(1.22); }
.lightbox-frame.crop-element-fire img { object-position:71% 50%; transform:scale(1.3); }
.lightbox-frame.crop-spirit-lower,.lightbox-frame.crop-spirit-aura,.lightbox-frame.crop-spirit-clean,.lightbox-frame.crop-spirit-tree,.lightbox-frame.crop-spirit-buddha,.lightbox-frame.crop-spirit-harmony-light,.lightbox-frame.crop-spirit-inner-harmony { width:min(88vh,92vw); aspect-ratio:1; }
.lightbox-frame.crop-spirit-lower img,.lightbox-frame.crop-spirit-aura img,.lightbox-frame.crop-spirit-clean img,.lightbox-frame.crop-spirit-tree img,.lightbox-frame.crop-spirit-buddha img,.lightbox-frame.crop-spirit-harmony-light img,.lightbox-frame.crop-spirit-inner-harmony img { width:100%; height:100%; max-height:none; object-fit:cover; }
.lightbox-frame.crop-spirit-lower img { object-position:50% 65%; transform:scale(1.08); }
.lightbox-frame.crop-spirit-aura img { object-position:50% 73%; transform:scale(1.2); }
.lightbox-frame.crop-spirit-harmony-light img { object-position:50% 32%; transform:translateX(-4.5%) scale(1.22); }
.lightbox-frame.crop-spirit-inner-harmony img { object-position:59% 50%; transform:scale(1.17); }
.lightbox-frame.crop-spirit-clean img { transform:scale(1.025); }
.lightbox-frame.crop-spirit-tree img { object-position:58% 50%; transform:scale(1.08); }
.lightbox-frame.crop-spirit-buddha img { object-position:66% 50%; transform:scale(1.12); }
.lightbox-frame.crop-spirit-frog { width:min(51.3vh,92vw); aspect-ratio:7/12; }
.lightbox-frame.crop-spirit-frog img { width:100%; height:100%; max-height:none; object-fit:cover; transform:scale(1.025); }
.lightbox-close { position:absolute; top:18px; right:26px; width:48px; height:48px; border:1px solid rgba(255,255,255,.45); border-radius:50%; color:#fff; background:rgba(255,255,255,.1); font:300 2rem/1 sans-serif; cursor:pointer; }

@media(max-width:900px) {
  .gallery-hero,.artist-note { grid-template-columns:1fr; }
  .gallery-hero { padding-top:145px; background:linear-gradient(158deg,#fff2d6 0 61%,#c5ece8 61%); }
  .gallery-hero-art { width:min(560px,88vw); }
  .universe-list { grid-template-columns:1fr; }
  .art-universe:nth-child(even) { transform:none; }
}

@media(max-width:600px) {
  .gallery-hero { padding:125px 20px 70px; }
  .gallery-hero h1 { font-size:3.15rem; }
  .gallery-hero-art { padding:25px; }
  .art-section,.artist-note,.gallery-universes { padding:78px 20px; }
  .water-collection { padding:78px 20px; }
  .native-collection { padding:78px 20px; }
  .spirit-collection,.seasons-collection,.elements-collection,.colors-collection,.iam-collection { padding:78px 20px; }
  .water-heading { margin-bottom:48px; }
  .native-heading { margin-bottom:48px; }
  .collection-heading { margin-bottom:48px; }
  .water-artworks { gap:54px; }
  .native-artworks { gap:54px; }
  .collection-artworks { gap:54px; }
  .water-artwork figcaption { flex-direction:column; gap:2px; }
  .native-artwork figcaption { flex-direction:column; gap:2px; }
  .collection-artwork figcaption { flex-direction:column; gap:2px; }
  .art-universe { min-height:300px; padding:28px; border-radius:8px 38px 8px 38px; }
  .art-universe:nth-child(even) { border-radius:38px 8px 38px 8px; }
  .art-grid { gap:52px; }
  .artist-note { gap:24px; }
  .lightbox { padding:20px; }
  .lightbox-frame { max-width:94vw; }
  .art-card figcaption { flex-direction:column; gap:0; }
}
