:root {
  --ink: #050506;
  --ink-soft: #0b0b0d;
  --ink-card: #111114;
  --paper: #f2f2e3;
  --paper-soft: #e7e7da;
  --text: #f3f2ee;
  --muted: #a8a7a2;
  --dark-text: #0b0b0d;
  --gold: #caa228;
  --gold-light: #e2bd47;
  --gold-deep: #8d6104;
  --line-light: rgba(255, 255, 255, 0.16);
  --line-dark: rgba(11, 11, 13, 0.16);
  --radius: 1.6rem;
  --radius-small: 1rem;
  --page: min(100% - 2.2rem, 88rem);
  --header-height: 4.4rem;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; }
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--ink);
  color: var(--text);
  font-family: Inter, "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  font-size: clamp(0.96rem, 0.9rem + 0.15vw, 1.05rem);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { color: inherit; font: inherit; }
button { border: 0; }
h1, h2, h3, p { margin-top: 0; }
::selection { background: var(--gold); color: #fff; }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 0.6rem;
  left: 0.6rem;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  background: var(--paper);
  color: var(--ink);
  transform: translateY(-180%);
  transition: transform 200ms ease;
}
.skip-link:focus { transform: none; }
.page-shell { width: var(--page); margin-inline: auto; }
.section--paper { background: var(--paper); color: var(--dark-text); }
.section--dark { background: var(--ink); color: var(--text); }
.eyebrow, .micro-label {
  margin-bottom: 1rem;
  color: var(--gold-light);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.eyebrow--dark { color: #8d690c; }

.site-header {
  position: fixed;
  z-index: 100;
  top: 1rem;
  left: 50%;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  width: min(calc(100% - 2rem), 92rem);
  min-height: var(--header-height);
  padding: 0.55rem 0.65rem 0.55rem 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.19);
  border-radius: 999px;
  background: rgba(16, 16, 18, 0.58);
  box-shadow: 0 1.1rem 3rem rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(22px) saturate(130%);
  transform: translateX(-50%);
  transition: top 350ms var(--ease), background 350ms ease, border-color 350ms ease;
}
.site-header.is-scrolled { top: 0.45rem; background: rgba(7, 7, 8, 0.86); border-color: rgba(255, 255, 255, 0.12); }
.brand { display: inline-flex; align-items: center; gap: 0.62rem; white-space: nowrap; }
.brand__mark {
  display: inline-grid;
  place-items: center;
  min-height: 2.45rem;
  padding: 0.25rem 1rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gold-light), var(--gold) 54%, var(--gold-deep));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 0.45rem 1.3rem rgba(202,162,40,.22);
  color: #fffdf5;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1rem;
  font-style: italic;
  font-weight: 700;
}
.brand__divider { width: 1px; height: 1.55rem; background: rgba(255,255,255,.36); }
.brand__name { font-size: 0.69rem; font-weight: 850; letter-spacing: 0.15em; text-transform: uppercase; }
.primary-nav { display: flex; justify-content: center; gap: clamp(1.1rem, 3vw, 2.4rem); }
.primary-nav a { position: relative; color: rgba(255,255,255,.78); font-size: 0.77rem; font-weight: 650; }
.primary-nav a::after { position: absolute; right: 0; bottom: -0.35rem; left: 0; height: 1px; background: var(--gold-light); content: ""; transform: scaleX(0); transform-origin: right; transition: transform 320ms var(--ease); }
.primary-nav a:hover::after, .primary-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.header-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 3.15rem;
  padding: 0.35rem 1.15rem;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gold-light), var(--gold) 56%, var(--gold-deep));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 0.7rem 1.6rem rgba(202,162,40,.18);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  transition: transform 350ms var(--ease), box-shadow 350ms ease;
}
.header-cta:hover, .header-cta:focus-visible { box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 0.9rem 2.2rem rgba(202,162,40,.35); transform: translateY(-2px); }
.menu-toggle { display: none; background: none; }

.hero {
  position: relative;
  display: grid;
  min-height: 100svh;
  overflow: hidden;
  background: var(--ink);
}
.hero__media, .hero__veil { position: absolute; inset: 0; }
.hero__media {
  background: var(--ink) url("../images/hero-fine-art-lab-v1.webp") 69% center / cover no-repeat;
  transform: scale(1.02);
  animation: hero-breathe 14s ease-in-out infinite alternate;
}
.hero__veil {
  background:
    linear-gradient(90deg, var(--ink) 0%, rgba(5,5,6,.99) 31%, rgba(5,5,6,.78) 51%, rgba(5,5,6,.15) 82%),
    linear-gradient(180deg, rgba(5,5,6,.35) 0%, transparent 50%, rgba(5,5,6,.93) 100%);
}
@keyframes hero-breathe { to { transform: scale(1.055); } }
.hero__content {
  position: relative;
  z-index: 2;
  align-self: center;
  padding-top: 8rem;
  padding-bottom: 8rem;
}
.hero h1 {
  max-width: 9ch;
  margin-bottom: 1.6rem;
  font-size: clamp(4rem, 8.6vw, 8.8rem);
  font-weight: 680;
  letter-spacing: -0.072em;
  line-height: 0.82;
}
.hero h1 em, .gallery__heading h2 em, .contact__intro h2 em { color: var(--gold-light); font-family: Georgia, "Times New Roman", serif; font-weight: 700; text-shadow: 0 0.22em 0.55em rgba(202,162,40,.2); }
.hero__copy { max-width: 38rem; color: rgba(243,242,238,.72); font-size: clamp(1rem, 1.4vw, 1.24rem); }
.hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 2rem; }
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  min-height: 3.5rem;
  padding: 0.7rem 1.4rem;
  border: 1px solid transparent;
  border-radius: 999px;
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 800;
  transition: transform 350ms var(--ease), box-shadow 350ms ease, background 350ms ease;
}
.button:hover, .button:focus-visible { transform: translateY(-3px); }
.button--gold { background: linear-gradient(135deg, var(--gold-light), var(--gold) 55%, var(--gold-deep)); box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 0.8rem 2rem rgba(202,162,40,.19); color: #fff; }
.button--gold:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 1rem 2.5rem rgba(202,162,40,.34); }
.button--glass { border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.15); backdrop-filter: blur(18px); }
.button--dark { background: var(--ink); color: var(--text); }
.button__arrow { font-size: 1rem; transition: transform 350ms var(--ease); }
.button:hover .button__arrow { transform: translate(0.15rem, -0.15rem); }
.hero__footer { position: absolute; z-index: 2; right: 0; bottom: 2.1rem; left: 0; display: flex; gap: 0.9rem; }
.hero__footer span { padding: 0.42rem 0.8rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(8,8,9,.38); color: rgba(255,255,255,.62); font-size: 0.64rem; font-weight: 750; letter-spacing: 0.1em; text-transform: uppercase; backdrop-filter: blur(12px); }
.scroll-cue { position: absolute; z-index: 3; right: 2rem; bottom: 2rem; display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.scroll-cue span { display: block; width: 0.38rem; height: 0.38rem; border-right: 1px solid #fff; border-bottom: 1px solid #fff; transform: rotate(45deg); animation: scroll-cue 1.8s ease infinite; }
@keyframes scroll-cue { 50% { transform: translateY(0.25rem) rotate(45deg); opacity: .45; } }

.service { position: relative; padding: clamp(6rem, 11vw, 11rem) 0; }
.service::before { position: absolute; top: -6rem; right: 0; left: 0; height: 6rem; background: linear-gradient(180deg, rgba(5,5,6,0), var(--paper)); content: ""; }
.section-heading--split { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(20rem, .8fr); align-items: end; gap: clamp(3rem, 8vw, 8rem); margin-bottom: clamp(4rem, 8vw, 7rem); }
.section-heading h2, .gallery-story h2, .gallery__heading h2, .faq__heading h2, .contact__intro h2 {
  margin: 0;
  font-size: clamp(3.4rem, 7.7vw, 7.8rem);
  font-weight: 680;
  letter-spacing: -0.072em;
  line-height: 0.86;
}
.section-heading h2 span { color: var(--gold); font-family: Georgia, "Times New Roman", serif; font-style: italic; }
.section-heading__copy { max-width: 34rem; padding-bottom: 0.5rem; color: #4f4f4d; }
.section-heading__copy strong { color: var(--dark-text); font-size: 1.2rem; }
.process { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.process-card { overflow: hidden; border: 1px solid rgba(11,11,13,.12); border-radius: var(--radius); background: rgba(255,255,255,.28); box-shadow: 0 1.2rem 3rem rgba(27,27,24,.07); transition: transform 500ms var(--ease), box-shadow 500ms ease; }
.process-card:hover { box-shadow: 0 1.8rem 4rem rgba(27,27,24,.13); transform: translateY(-0.6rem); }
.process-card__visual { position: relative; height: clamp(17rem, 28vw, 27rem); overflow: hidden; background: var(--ink); }
.process-card__visual::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(5,5,6,.62)); content: ""; }
.process-card__visual img { height: 100%; object-fit: cover; filter: saturate(.7) contrast(1.05); transition: transform 900ms var(--ease), filter 600ms ease; }
.process-card:hover .process-card__visual img { filter: saturate(.9) contrast(1.02); transform: scale(1.055); }
.process-card__visual span { position: absolute; z-index: 2; top: 1rem; right: 1rem; display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(5,5,6,.45); color: #fff; font-size: 0.68rem; font-weight: 800; backdrop-filter: blur(12px); }
.process-card__body { min-height: 17rem; padding: clamp(1.4rem, 3vw, 2.1rem); }
.process-card__body h3 { margin-bottom: 1rem; font-size: clamp(1.8rem, 2.8vw, 2.7rem); letter-spacing: -0.055em; line-height: .98; }
.process-card__body p:last-child { color: #5b5b56; font-size: 0.95rem; }

.gallery-story { padding: clamp(6rem, 10vw, 10rem) 0; }
.gallery-story__inner { display: grid; grid-template-columns: minmax(19rem, .78fr) minmax(0, 1.22fr); align-items: start; gap: clamp(3rem, 9vw, 10rem); }
.gallery-story__sticky { position: sticky; top: 8rem; padding-bottom: 6rem; }
.gallery-story h2 { font-size: clamp(3.6rem, 7vw, 7rem); }
.gallery-story__sticky > p:not(.eyebrow) { max-width: 32rem; margin: 1.5rem 0 2rem; color: rgba(243,242,238,.63); }
.gallery-story__stack { display: grid; gap: 7rem; padding: 4rem 0; }
.preview-card { position: sticky; top: 7rem; aspect-ratio: 5 / 6; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 2rem; background: var(--ink-card); box-shadow: 0 2rem 5rem rgba(0,0,0,.38); }
.preview-card--two { top: 8.3rem; transform: rotate(1.4deg); }
.preview-card--three { top: 9.6rem; transform: rotate(-1deg); }
.preview-card::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(5,5,6,.86)); content: ""; }
.preview-card > img:first-child { height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.preview-card:hover > img:first-child { transform: scale(1.045); }
.preview-card__author { position: absolute; z-index: 3; top: 1.2rem; right: 1.2rem; width: 4.2rem; height: 4.2rem; border: 2px solid rgba(255,255,255,.82); border-radius: 50%; object-fit: cover; box-shadow: 0 .7rem 2rem rgba(0,0,0,.35); }
.preview-card > div { position: absolute; z-index: 3; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.preview-card > div span { color: var(--gold-light); font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.preview-card > div strong { max-width: 14ch; text-align: right; font-size: clamp(1.45rem, 3vw, 2.5rem); letter-spacing: -.045em; line-height: .96; }

.gallery { padding: clamp(6rem, 10vw, 10rem) 0; }
.gallery__heading { max-width: 64rem; margin-bottom: clamp(3rem, 7vw, 6rem); }
.gallery__heading h2 { font-size: clamp(3.8rem, 8.5vw, 8.7rem); }
.gallery__heading > p:last-child { max-width: 35rem; margin-top: 1.5rem; color: #565651; font-size: 1.05rem; }
.filters {
  position: sticky;
  z-index: 20;
  top: 5.4rem;
  margin-bottom: 2rem;
  padding: 1.25rem;
  border: 1px solid rgba(11,11,13,.14);
  border-radius: 1.5rem;
  background: rgba(242,242,227,.83);
  box-shadow: 0 1.2rem 3rem rgba(21,21,18,.09);
  backdrop-filter: blur(22px) saturate(140%);
}
.filters__topline { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.filters__title { font-size: .72rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.filters__reset { padding: .35rem 0; background: transparent; color: #716122; cursor: pointer; font-size: .72rem; font-weight: 800; text-decoration: underline; text-underline-offset: .25rem; }
.category-filter { display: flex; flex-wrap: wrap; gap: .45rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line-dark); }
.filter-chip { padding: .58rem .85rem; border: 1px solid rgba(11,11,13,.15); border-radius: 999px; background: rgba(255,255,255,.28); color: #444440; cursor: pointer; font-size: .72rem; font-weight: 750; transition: background 250ms ease, color 250ms ease, transform 250ms var(--ease); }
.filter-chip:hover { transform: translateY(-2px); }
.filter-chip.is-active { border-color: var(--ink); background: var(--ink); color: #fff; }
.filters__controls { display: grid; grid-template-columns: .9fr 1.2fr .9fr; gap: 1rem; padding-top: 1rem; }
.filter-field { display: grid; gap: .45rem; }
.filter-field > span { display: flex; justify-content: space-between; color: #555550; font-size: .65rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.filter-field output { color: var(--ink); }
.filter-field select { width: 100%; min-height: 2.9rem; padding: .45rem 2.4rem .45rem .8rem; border: 1px solid rgba(11,11,13,.15); border-radius: .8rem; outline: 0; background: rgba(255,255,255,.35); color: var(--ink); font-size: .78rem; font-weight: 650; }
.filter-field select:focus-visible { box-shadow: 0 0 0 3px rgba(202,162,40,.25); }
.filter-field input[type="range"] { width: 100%; accent-color: var(--gold); }
.range-scale { display: flex; justify-content: space-between; color: #777770; font-size: .64rem; }
.filters__results { margin: .8rem 0 0; color: #5a5a55; font-size: .72rem; }
.filters__results strong { color: var(--ink); }
.art-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.2vw, 2rem); }
.art-card { min-width: 0; overflow: hidden; border: 1px solid rgba(11,11,13,.13); border-radius: var(--radius); background: rgba(255,255,255,.32); box-shadow: 0 1.2rem 3.5rem rgba(25,25,22,.08); cursor: pointer; transition: opacity 280ms ease, transform 550ms var(--ease), box-shadow 550ms ease; }
.art-card[hidden] { display: none; }
.art-card:hover { box-shadow: 0 2rem 5rem rgba(25,25,22,.16); transform: translateY(-.55rem); }
.art-card__media { position: relative; aspect-ratio: 4 / 3.35; overflow: hidden; background: #151517; }
.art-card__media::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,5,6,.2), transparent 45%, rgba(5,5,6,.72)); content: ""; }
.art-card__media > img:first-child { height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.04); transition: filter 600ms ease, transform 900ms var(--ease); }
.art-card:nth-child(2) .art-card__media > img:first-child { object-position: 72% center; }
.art-card:hover .art-card__media > img:first-child { filter: saturate(.95) contrast(1.02); transform: scale(1.05); }
.art-card__number { position: absolute; z-index: 3; top: 1rem; left: 1rem; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: rgba(5,5,6,.42); color: #fff; font-size: .64rem; font-weight: 800; backdrop-filter: blur(12px); }
.art-card__avatar { position: absolute; z-index: 3; top: 1rem; right: 1rem; width: 4rem; height: 4rem; border: 2px solid rgba(255,255,255,.85); border-radius: 50%; object-fit: cover; box-shadow: 0 .75rem 1.8rem rgba(0,0,0,.35); }
.art-card:hover .art-card__avatar { transform: none; }
.art-card__tag { position: absolute; z-index: 3; bottom: 1rem; left: 1rem; padding: .4rem .65rem; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(5,5,6,.5); color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; backdrop-filter: blur(12px); }
.art-card__body { display: flex; align-items: end; justify-content: space-between; gap: 1.2rem; padding: clamp(1.2rem, 2.5vw, 1.8rem); }
.art-card__body h3 { margin-bottom: .45rem; font-size: clamp(1.55rem, 2.8vw, 2.5rem); letter-spacing: -.055em; line-height: .98; }
.art-card__body p { margin: 0; color: #65655f; font-size: .75rem; }
.art-card__purchase { display: grid; justify-items: end; flex: 0 0 auto; gap: .6rem; }
.art-card__purchase > span { color: #65655f; font-size: .66rem; }
.art-card__purchase strong { color: var(--ink); font-size: 1rem; }
.art-card__purchase a { display: inline-flex; align-items: center; gap: .7rem; padding: .62rem .82rem; border-radius: 999px; background: var(--ink); color: #fff; font-size: .7rem; font-style: normal; font-weight: 800; transition: background 280ms ease, transform 280ms var(--ease); }
.art-card__purchase a:hover, .art-card__purchase a:focus-visible { background: linear-gradient(135deg, var(--gold-light), var(--gold), var(--gold-deep)); transform: translateY(-2px); }
.art-card__purchase i { font-style: normal; }
.gallery-empty { padding: 5rem 1rem; text-align: center; }
.gallery-empty > span { display: block; color: var(--gold); font-size: 4rem; }
.gallery-empty h3 { margin: 1rem 0 .5rem; font-size: 2rem; letter-spacing: -.04em; }
.gallery-empty p { color: #62625c; }

.faq { position: relative; padding: clamp(6rem, 10vw, 10rem) 0; overflow: hidden; }
.faq::before { position: absolute; top: -8rem; right: -6rem; width: 32rem; height: 32rem; border-radius: 50%; background: rgba(202,162,40,.12); filter: blur(7rem); content: ""; }
.faq__layout { position: relative; display: grid; grid-template-columns: minmax(17rem, .75fr) minmax(0, 1.25fr); align-items: start; gap: clamp(3rem, 9vw, 10rem); }
.faq__heading { position: sticky; top: 8rem; }
.faq__heading h2 { font-size: clamp(3.6rem, 6.7vw, 6.8rem); }
.faq__heading h2 span { color: var(--gold-light); font-family: Georgia, "Times New Roman", serif; font-style: italic; }
.faq__heading > p:last-child { max-width: 27rem; margin-top: 1.5rem; color: rgba(243,242,238,.58); }
.accordion { border-top: 1px solid var(--line-light); }
.accordion__item { border-bottom: 1px solid var(--line-light); }
.accordion__item h3 { margin: 0; }
.accordion__item button { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; width: 100%; min-height: 6.4rem; padding: 1rem 0; background: transparent; cursor: pointer; text-align: left; }
.accordion__item button span { font-size: clamp(1rem, 2vw, 1.35rem); font-weight: 700; letter-spacing: -.025em; }
.accordion__item button i { display: grid; place-items: center; flex: 0 0 auto; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: linear-gradient(135deg, var(--gold-light), var(--gold), var(--gold-deep)); box-shadow: 0 .45rem 1.2rem rgba(202,162,40,.22); color: #fff; font-style: normal; }
.accordion__panel { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 420ms var(--ease), opacity 320ms ease; }
.accordion__panel p { min-height: 0; overflow: hidden; margin: 0; color: rgba(243,242,238,.62); }
.accordion__item.is-open .accordion__panel { grid-template-rows: 1fr; opacity: 1; }
.accordion__item.is-open .accordion__panel p { padding: 0 4.5rem 2rem 0; }

.contact { padding: clamp(6rem, 10vw, 10rem) 0; }
.contact__layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(22rem, 1.1fr); align-items: center; gap: clamp(3rem, 10vw, 10rem); }
.contact__intro h2 { font-size: clamp(3.8rem, 7vw, 7.2rem); }
.contact__intro > p:not(.eyebrow) { max-width: 35rem; margin: 1.5rem 0 2rem; color: #585853; }
.contact__cards { display: grid; gap: .8rem; }
.contact-card { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; min-height: 6rem; padding: 1rem; border: 1px solid rgba(11,11,13,.13); border-radius: 1.3rem; background: rgba(255,255,255,.28); box-shadow: 0 1rem 2.7rem rgba(24,24,20,.06); transition: transform 350ms var(--ease), background 350ms ease, box-shadow 350ms ease; }
a.contact-card:hover { background: rgba(255,255,255,.65); box-shadow: 0 1.4rem 3rem rgba(24,24,20,.12); transform: translateX(.4rem); }
.contact-card__icon { display: grid; place-items: center; width: 3.3rem; height: 3.3rem; border: 1px solid rgba(11,11,13,.13); border-radius: 50%; background: var(--paper-soft); color: #7c5c08; font-size: 1.25rem; }
.contact-card span:nth-child(2) { display: grid; gap: .22rem; }
.contact-card small { color: #76766f; font-size: .62rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.contact-card strong { font-size: .9rem; }
.contact-card i { color: var(--gold-deep); font-style: normal; }

.site-footer { padding: 4rem 0 1.4rem; background: var(--ink); }
.site-footer__top { display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: 3rem; padding-bottom: 4rem; }
.brand--footer .brand__mark { min-height: 3rem; padding-inline: 1.25rem; font-size: 1.2rem; }
.site-footer__top p { justify-self: center; margin: 0; color: rgba(243,242,238,.55); font-size: 1.15rem; }
.back-to-top { display: inline-flex; align-items: center; gap: .8rem; padding-bottom: .35rem; border-bottom: 1px solid rgba(255,255,255,.3); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.site-footer__bottom { display: flex; justify-content: space-between; gap: 2rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.13); color: rgba(243,242,238,.35); font-size: .65rem; }
.site-footer__bottom p { margin: 0; }
.site-footer__bottom nav { display: flex; gap: 1rem; }
.site-footer__bottom a:hover { color: var(--gold-light); }

.purchase-toast { position: fixed; z-index: 200; right: 1rem; bottom: 1rem; max-width: calc(100% - 2rem); padding: .9rem 1.1rem; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(5,5,6,.88); box-shadow: 0 1rem 3rem rgba(0,0,0,.35); color: #fff; font-size: .75rem; font-weight: 700; opacity: 0; pointer-events: none; transform: translateY(1rem); backdrop-filter: blur(18px); transition: opacity 250ms ease, transform 350ms var(--ease); }
.purchase-toast.is-visible { opacity: 1; transform: none; }

.reveal { opacity: 0; transform: translateY(2rem); transition: opacity 800ms ease, transform 900ms var(--ease); }
.reveal--delay-1 { transition-delay: 110ms; }
.reveal--delay-2 { transition-delay: 220ms; }
.reveal--delay-3 { transition-delay: 330ms; }
.reveal.is-visible { opacity: 1; transform: none; }

:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 4px; }

@media (max-width: 980px) {
  :root { --page: min(100% - 1.5rem, 68rem); }
  .site-header { grid-template-columns: auto auto; justify-content: space-between; width: calc(100% - 1rem); min-height: 3.9rem; }
  .header-cta { display: none; }
  .menu-toggle { display: inline-flex; align-items: center; gap: .7rem; padding: .6rem .8rem; cursor: pointer; }
  .menu-toggle__label { font-size: .7rem; font-weight: 800; text-transform: uppercase; }
  .menu-toggle__icon { display: grid; gap: .28rem; width: 1.2rem; }
  .menu-toggle__icon i { display: block; height: 1px; background: #fff; transition: transform 300ms var(--ease); }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon i:first-child { transform: translateY(.14rem) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon i:last-child { transform: translateY(-.14rem) rotate(-45deg); }
  .primary-nav { position: fixed; top: 4.8rem; right: .5rem; left: .5rem; display: grid; gap: 0; padding: 1rem; border: 1px solid rgba(255,255,255,.15); border-radius: 1.5rem; background: rgba(7,7,8,.96); box-shadow: 0 2rem 5rem rgba(0,0,0,.35); opacity: 0; pointer-events: none; transform: translateY(-1rem); transition: opacity 250ms ease, transform 350ms var(--ease); }
  .primary-nav.is-open { opacity: 1; pointer-events: auto; transform: none; }
  .primary-nav a { padding: 1rem .5rem; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 1rem; }
  .primary-nav a:last-child { border-bottom: 0; }
  .primary-nav a::after { display: none; }
  .section-heading--split, .gallery-story__inner, .faq__layout, .contact__layout { grid-template-columns: 1fr; }
  .section-heading__copy { justify-self: end; max-width: 32rem; }
  .process { grid-template-columns: 1fr; }
  .process-card { display: grid; grid-template-columns: minmax(15rem, .9fr) minmax(18rem, 1.1fr); }
  .process-card__visual { height: 100%; min-height: 23rem; }
  .process-card__body { align-self: center; min-height: auto; }
  .gallery-story__sticky, .faq__heading { position: static; padding-bottom: 0; }
  .gallery-story__stack { width: min(100%, 42rem); margin-inline: auto; }
  .preview-card { position: relative; top: auto !important; }
  .filters__controls { grid-template-columns: 1fr 1fr; }
  .filter-field--range { grid-column: 1 / -1; grid-row: 2; }
  .art-card__body { align-items: start; flex-direction: column; }
  .art-card__purchase { justify-items: start; width: 100%; grid-template-columns: 1fr auto; align-items: center; }
  .contact__cards { width: min(100%, 43rem); justify-self: end; }
}

@media (max-width: 700px) {
  .landing-page .hero__veil {
    background:
      linear-gradient(180deg, rgba(244,241,230,.05) 0%, rgba(244,241,230,.15) 28%, rgba(244,241,230,.48) 48%, rgba(244,241,230,.82) 68%, #f4f1e6 100%),
      linear-gradient(90deg, rgba(244,241,230,.9) 0%, rgba(244,241,230,.62) 42%, rgba(244,241,230,.08) 100%);
  }

  :root { --page: calc(100% - 1.2rem); --radius: 1.25rem; }
  html { scroll-padding-top: 5rem; }
  .brand__mark { min-height: 2.15rem; padding-inline: .78rem; font-size: .86rem; }
  .brand__divider { height: 1.3rem; }
  .brand__name { font-size: .58rem; }
  .hero { min-height: 48rem; }
  .hero__media { background-position: 63% top; background-size: auto 54%; }
  .hero__veil { background: linear-gradient(180deg, rgba(5,5,6,.05) 0%, rgba(5,5,6,.15) 28%, rgba(5,5,6,.92) 48%, var(--ink) 61%); }
  .hero__content { align-self: end; padding-top: 22rem; padding-bottom: 9rem; }
  .hero h1 { font-size: clamp(3.7rem, 17.5vw, 5.4rem); line-height: .86; }
  .hero__copy { font-size: .95rem; }
  .hero__footer { bottom: 1.15rem; gap: .35rem; overflow-x: auto; padding-bottom: .2rem; scrollbar-width: none; }
  .hero__footer span { flex: 0 0 auto; }
  .scroll-cue { display: none; }
  .service, .gallery-story, .gallery, .faq, .contact { padding-block: 5.5rem; }
  .section-heading--split { grid-template-columns: 1fr; gap: 2rem; }
  .section-heading h2, .gallery-story h2, .gallery__heading h2, .faq__heading h2, .contact__intro h2 { font-size: clamp(3.25rem, 15.5vw, 4.8rem); }
  .section-heading__copy { justify-self: start; }
  .process-card { display: block; }
  .process-card__visual { height: 20rem; min-height: 0; }
  .process-card__body { min-height: 15rem; }
  .gallery-story__stack { gap: 3rem; padding-bottom: 0; }
  .preview-card { aspect-ratio: 4 / 5; }
  .preview-card__author { width: 3.6rem; height: 3.6rem; }
  .preview-card > div { display: grid; }
  .preview-card > div strong { text-align: left; }
  .filters { top: 4.6rem; padding: .85rem; border-radius: 1.2rem; }
  .category-filter { flex-wrap: nowrap; margin-inline: -.85rem; padding-inline: .85rem; overflow-x: auto; scrollbar-width: none; }
  .filter-chip { flex: 0 0 auto; }
  .filters__controls { grid-template-columns: 1fr 1fr; gap: .7rem; }
  .filter-field--range { grid-column: 1 / -1; }
  .filter-field > span { letter-spacing: .06em; }
  .art-grid { grid-template-columns: 1fr; }
  .art-card__media { aspect-ratio: 4 / 3.55; }
  .art-card__avatar { width: 3.6rem; height: 3.6rem; }
  .art-card__body { align-items: end; flex-direction: row; gap: .6rem; }
  .art-card__body h3 { font-size: 1.55rem; }
  .art-card__purchase { display: grid; justify-items: end; width: auto; grid-template-columns: 1fr; }
  .faq__layout { gap: 3rem; }
  .accordion__item button { min-height: 5rem; }
  .accordion__item.is-open .accordion__panel p { padding-right: 1rem; }
  .contact__layout { gap: 3rem; }
  .contact-card { min-height: 5.3rem; }
  .contact-card__icon { width: 2.8rem; height: 2.8rem; }
  .contact-card strong { font-size: .78rem; }
  .site-footer__top { grid-template-columns: 1fr; align-items: start; gap: 2rem; }
  .site-footer__top p { justify-self: start; }
  .back-to-top { justify-self: start; }
  .site-footer__bottom { display: grid; }
  .site-footer__bottom nav { flex-wrap: wrap; }
}

@media (max-width: 430px) {
  .hero__actions { display: grid; grid-template-columns: 1fr; }
  .button { width: 100%; }
  .filters__controls { grid-template-columns: 1fr; }
  .filter-field--range { grid-column: auto; grid-row: auto; }
  .art-card__body { display: grid; }
  .art-card__purchase { grid-template-columns: 1fr auto; justify-items: start; width: 100%; }
  .contact-card { grid-template-columns: auto 1fr; }
  .contact-card > i { display: none; }
}

/* Mobile sticky cards retain their full story while remaining safe on short or zoomed viewports. */
@media (max-width: 760px) {
  .idea .process-card,
  .idea .process-card:nth-child(2),
  .idea .process-card:nth-child(3) {
    height: min(72svh, 34rem);
    min-height: 23.5rem;
    margin-bottom: 14svh;
  }
  .idea .process-card__visual { min-height: 10.75rem; }
  .idea .process-card__body { padding: .95rem 1rem 1.05rem; }
  .idea .process-card__body h3 { margin-bottom: .6rem; }
  .idea .process-card__body p:last-child { font-size: .9rem; line-height: 1.48; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* =========================================================
   Liquid material & motion system
   Shared with the visual language of stampafineart.com
   ========================================================= */
:root {
  --motion-ramp: cubic-bezier(0.65, 0, 0.35, 1);
  --motion-out: cubic-bezier(0.16, 1, 0.3, 1);
  --motion-soft: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-fast: 280ms var(--motion-ramp);
  --motion-medium: 420ms var(--motion-out);
  --glass-line: rgba(255, 255, 255, 0.18);
  --glass-line-strong: rgba(255, 255, 255, 0.38);
}

[data-liquid] {
  --shine-x: 22%;
  --shine-y: -24%;
  position: relative;
  isolation: isolate;
}
[data-liquid]::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at var(--shine-x) var(--shine-y), rgba(255, 255, 255, 0.42), transparent 34%),
    linear-gradient(115deg, rgba(255, 255, 255, 0.08), transparent 28%, transparent 70%, rgba(255, 255, 255, 0.055));
  content: "";
  opacity: 0.42;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
  transition: opacity 420ms ease, background-position 520ms var(--motion-out);
}
[data-liquid-gold]::after {
  background:
    radial-gradient(circle at var(--shine-x) var(--shine-y), rgba(255, 255, 255, 0.86), transparent 31%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.55), rgba(255, 248, 209, 0.08) 56%, transparent 72%);
  opacity: 0.68;
}
[data-liquid]:hover::after,
[data-liquid]:focus-within::after { opacity: 0.76; }
[data-liquid] > * { position: relative; z-index: 1; }

.liquid-ripple {
  position: absolute !important;
  z-index: 5 !important;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.62);
  box-shadow: 0 0 1.25rem rgba(255, 255, 255, 0.2);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0);
  animation: liquid-ripple 720ms var(--motion-out) forwards;
}
@keyframes liquid-ripple {
  0% { opacity: 0.52; transform: translate(-50%, -50%) scale(0); }
  62% { opacity: 0.17; }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(28); }
}

/* Metallic editorial type */
.hero h1 em,
.section-heading h2 span,
.gallery__heading h2 em,
.contact__intro h2 em {
  display: inline-block;
  padding: 0.025em 0.055em 0.12em 0.015em;
  margin-block-end: -0.12em;
  background:
    radial-gradient(ellipse at 36% 2%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 244, 188, 0.42) 18%, transparent 42%),
    linear-gradient(180deg, #f9dc6b 0%, #dfb72f 27%, #a87907 50%, #f0ca45 70%, #b88b12 100%);
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter:
    drop-shadow(0 -1px 0 rgba(255, 247, 204, 0.72))
    drop-shadow(0 2px 0 rgba(91, 62, 0, 0.66))
    drop-shadow(0 8px 13px rgba(124, 91, 9, 0.2));
  text-shadow: none;
}
.gallery-story h2 span,
.faq__heading h2 span {
  display: inline-block;
  padding: 0.025em 0.06em 0.12em 0;
  margin-block-end: -0.12em;
  background:
    radial-gradient(ellipse at 38% 1%, #fff 0%, rgba(255, 255, 255, 0.42) 19%, transparent 43%),
    linear-gradient(180deg, #fff 0%, #eef1f4 25%, #abb2bb 47%, #747b84 53%, #f0f2f5 70%, #b3b9c1 100%);
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter:
    drop-shadow(0 -1px 0 rgba(255, 255, 255, 0.72))
    drop-shadow(0 2px 0 rgba(55, 59, 65, 0.76))
    drop-shadow(0 6px 8px rgba(0, 0, 0, 0.64))
    drop-shadow(0 12px 28px rgba(214, 224, 236, 0.16));
}

/* Navbar: same liquid-glass material and quiet scale motion */
.site-header {
  border-color: var(--glass-line);
  background:
    linear-gradient(128deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.025) 34%, rgba(255, 255, 255, 0.075) 73%, rgba(255, 255, 255, 0.02)),
    rgba(14, 14, 17, 0.46);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    inset 1px 0 0 rgba(255, 255, 255, 0.09),
    inset 0 -1px 0 rgba(255, 255, 255, 0.04),
    0 24px 80px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(26px) saturate(155%);
  transition: top var(--motion-fast), background var(--motion-fast), border-color var(--motion-fast), box-shadow var(--motion-fast);
}
.site-header.is-scrolled {
  top: 0.55rem;
  border-color: rgba(255, 255, 255, 0.27);
  background-color: rgba(8, 8, 10, 0.62);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 16px 54px rgba(0, 0, 0, 0.46);
}
.brand__mark {
  overflow: hidden;
  border: 1px solid rgba(255, 234, 152, 0.86);
  background: linear-gradient(115deg, rgba(255, 218, 92, 0.94), rgba(202, 145, 22, 0.78) 47%, rgba(244, 193, 56, 0.92));
  box-shadow: inset 0 1px 0 rgba(255, 249, 215, 0.92), inset 0 -1px 0 rgba(112, 67, 0, 0.22), 0 8px 22px rgba(0, 0, 0, 0.22), 0 0 24px rgba(236, 187, 45, 0.2);
  backdrop-filter: blur(18px) saturate(155%);
  transition: transform 420ms var(--motion-out), box-shadow 420ms ease;
}
.brand:hover .brand__mark { box-shadow: inset 0 1px 0 rgba(255,249,215,.98), inset 0 -1px 0 rgba(112,67,0,.2), 0 10px 28px rgba(0,0,0,.25), 0 0 30px rgba(236,187,45,.28); transform: scale(1.025); }
.primary-nav a {
  padding: 0.62rem 0.9rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  transform: scale(1);
  transition: transform 420ms var(--motion-out), color 320ms ease, background 380ms ease, border-color 380ms ease, box-shadow 420ms ease;
}
.primary-nav a::after { display: none; }
.primary-nav a:hover,
.primary-nav a:focus-visible {
  border-color: rgba(255, 255, 255, 0.2);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.045)), rgba(255, 255, 255, 0.035);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.27), 0 7px 22px rgba(0, 0, 0, 0.16);
  color: var(--text);
  transform: scale(1.035);
}

/* Buttons: glass, gold glass, press and release */
.button,
.header-cta,
.menu-toggle,
.filter-chip,
.art-card__purchase a {
  overflow: hidden;
  transform: scale(1);
  transform-origin: center;
  transition: color 380ms ease, border-color 380ms ease, background 420ms ease, box-shadow 420ms ease, transform 420ms var(--motion-out);
}
.button:hover,
.button:focus-visible { transform: scale(1.025); }
.button--gold,
.header-cta,
.filter-chip.is-active {
  border-color: rgba(255, 241, 184, 0.76);
  background:
    radial-gradient(circle at 22% -12%, rgba(255, 255, 255, 0.82), transparent 36%),
    radial-gradient(circle at 82% 112%, rgba(255, 218, 94, 0.42), transparent 46%),
    linear-gradient(138deg, rgba(240, 204, 91, 0.92), rgba(202, 162, 40, 0.78) 52%, rgba(143, 96, 5, 0.88)),
    rgba(202, 162, 40, 0.62);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88), inset 1px 0 0 rgba(255, 244, 193, 0.4), inset 0 -1px 0 rgba(92, 54, 0, 0.35), 0 10px 30px rgba(138, 91, 0, 0.24), 0 0 26px rgba(224, 183, 55, 0.18);
  backdrop-filter: blur(28px) saturate(195%) contrast(108%);
  color: #fff;
}
.button--gold:hover,
.button--gold:focus-visible,
.header-cta:hover,
.header-cta:focus-visible,
.filter-chip.is-active:hover,
.filter-chip.is-active:focus-visible {
  border-color: rgba(255, 248, 213, 0.92);
  background:
    radial-gradient(circle at 76% -18%, rgba(255, 255, 255, 0.86), transparent 36%),
    linear-gradient(318deg, rgba(242, 205, 94, 0.94), rgba(197, 153, 29, 0.8) 54%, rgba(134, 89, 3, 0.9)),
    rgba(202, 162, 40, 0.66);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.94), inset 0 -1px 0 rgba(92,54,0,.32), 0 12px 34px rgba(138,91,0,.28), 0 0 32px rgba(232,193,68,.25);
  color: #15120a;
  transform: scale(1.035);
}
.button--glass,
.button--dark,
.art-card__purchase a {
  border-color: rgba(255, 255, 255, 0.28);
  background:
    radial-gradient(circle at 18% -35%, rgba(255, 255, 255, 0.28), transparent 52%),
    linear-gradient(132deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.045) 62%, rgba(255, 255, 255, 0.1)),
    rgba(34, 34, 39, 0.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), inset 0 -1px 0 rgba(255,255,255,.06), 0 10px 28px rgba(0,0,0,.18);
  backdrop-filter: blur(24px) saturate(175%);
  color: var(--text);
}
.button--glass:hover,
.button--glass:focus-visible,
.button--dark:hover,
.button--dark:focus-visible,
.art-card__purchase a:hover,
.art-card__purchase a:focus-visible {
  border-color: rgba(255,255,255,.42);
  background:
    radial-gradient(circle at 24% -30%, rgba(255,255,255,.36), transparent 52%),
    linear-gradient(132deg, rgba(255,255,255,.19), rgba(255,255,255,.065) 62%, rgba(255,255,255,.14)),
    rgba(42,42,48,.86);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.46), 0 14px 32px rgba(0,0,0,.23);
  color: #fff;
  transform: scale(1.025);
}
[data-liquid]:is(a, button).is-pressed,
[data-liquid]:is(a, button):active {
  transform: scale(0.975) !important;
  transition-duration: 120ms !important;
}
.button__arrow,
.art-card__purchase i { transition: transform 520ms var(--motion-out); }
.button:hover .button__arrow,
.art-card__purchase a:hover i { transform: translate3d(0.16rem, -0.16rem, 0) rotate(3deg); }

/* Light-section glass cards */
.process-card,
.art-card,
.contact-card {
  border-color: rgba(11, 11, 13, 0.13);
  background:
    radial-gradient(circle at 12% -30%, rgba(255, 255, 255, 0.94), transparent 40%),
    linear-gradient(132deg, rgba(255,255,255,.48), rgba(255,255,255,.12) 58%, rgba(255,255,255,.32)),
    rgba(226, 226, 215, 0.52);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86), inset 0 -1px 0 rgba(11,11,13,.04), 0 18px 48px rgba(25,25,22,.08);
  backdrop-filter: blur(24px) saturate(135%);
  transform: scale(1);
  transition: transform 520ms var(--motion-out), border-color 420ms ease, background 520ms ease, box-shadow 520ms var(--motion-out), opacity 360ms ease, filter 360ms ease;
}
.process-card:hover,
.art-card:hover,
a.contact-card:hover {
  border-color: rgba(11,11,13,.2);
  background:
    radial-gradient(circle at 18% -26%, rgba(255,255,255,1), transparent 42%),
    linear-gradient(132deg, rgba(255,255,255,.62), rgba(255,255,255,.18) 58%, rgba(255,255,255,.42)),
    rgba(229,229,218,.66);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 24px 62px rgba(25,25,22,.14);
  transform: scale(1.008);
}
.process-card:active,
.art-card:active,
a.contact-card:active { transform: scale(.994); transition-duration: 120ms; }
.process-card:hover .process-card__visual img,
.art-card:hover .art-card__media > img:first-child { transform: scale(1.035); }
.art-card.is-filtered-out {
  opacity: 0;
  filter: blur(5px);
  pointer-events: none;
  transform: scale(.97);
}

/* Filter tray becomes a dark liquid control surface */
.filters {
  border-color: rgba(255,255,255,.24);
  background:
    radial-gradient(circle at 10% -35%, rgba(255,255,255,.32), transparent 38%),
    radial-gradient(circle at 92% 130%, rgba(202,162,40,.13), transparent 34%),
    linear-gradient(132deg, rgba(255,255,255,.15), rgba(255,255,255,.045) 62%, rgba(255,255,255,.11)),
    rgba(20,20,23,.88);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.42), inset 1px 0 0 rgba(255,255,255,.1), inset 0 -1px 0 rgba(255,255,255,.05), 0 22px 56px rgba(17,17,15,.2);
  backdrop-filter: blur(30px) saturate(165%);
  color: var(--text);
}
.filters__title,
.filters__results strong { color: var(--text); }
.filters__reset { color: var(--gold-light); }
.category-filter { border-color: rgba(255,255,255,.14); }
.filter-chip {
  border-color: rgba(255,255,255,.18);
  background:
    radial-gradient(circle at 18% -35%, rgba(255,255,255,.24), transparent 52%),
    linear-gradient(132deg, rgba(255,255,255,.12), rgba(255,255,255,.035) 62%, rgba(255,255,255,.09)),
    rgba(39,39,44,.62);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 8px 20px rgba(0,0,0,.12);
  backdrop-filter: blur(20px) saturate(165%);
  color: rgba(255,255,255,.75);
}
.filter-chip:hover,
.filter-chip:focus-visible { border-color: rgba(255,255,255,.34); color: #fff; transform: scale(1.025); }
.filter-chip.is-active { color: #fff; }
.filter-field > span,
.filters__results { color: rgba(255,255,255,.58); }
.filter-field output { color: var(--gold-light); }
.filter-field select {
  border-color: rgba(255,255,255,.18);
  background: linear-gradient(132deg, rgba(255,255,255,.12), rgba(255,255,255,.04)), rgba(39,39,44,.8);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
  color: #fff;
}
.filter-field select option { background: #1d1d21; color: #fff; }
.filter-field input[type="range"] { accent-color: var(--gold-light); }
.range-scale { color: rgba(255,255,255,.42); }

/* FAQ: centered metallic title, liquid cards and morphing gold controls */
.faq__layout {
  display: grid;
  width: min(100% - 1.2rem, 62rem);
  grid-template-columns: 1fr;
  gap: clamp(2.8rem, 6vw, 4.8rem);
}
.faq__heading { position: static; max-width: 52rem; margin-inline: auto; text-align: center; }
.faq__heading h2 { font-size: clamp(3rem, 7.2vw, 5.7rem); white-space: nowrap; }
.faq__heading > p:last-child { max-width: 34rem; margin: 1.4rem auto 0; }
.accordion { display: grid; gap: 1rem; border-top: 0; }
.accordion__item {
  overflow: hidden;
  border: 0;
  border-radius: 1.55rem;
  background:
    radial-gradient(circle at 12% -45%, rgba(255,255,255,.28), transparent 47%),
    linear-gradient(132deg, rgba(255,255,255,.115), rgba(255,255,255,.035) 58%, rgba(255,255,255,.085)),
    rgba(27,27,30,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.17), 0 18px 48px rgba(0,0,0,.2);
  backdrop-filter: blur(26px) saturate(165%);
  transform: scale(1);
  transition: transform 520ms var(--motion-ramp), border-color 420ms ease, box-shadow 520ms ease;
}
.accordion__item:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 22px 58px rgba(0,0,0,.28); transform: scale(1.006); }
.accordion__item button { min-height: 5.6rem; padding: 1.15rem 1.35rem 1.15rem 1.55rem; }
.accordion__item button i {
  position: relative;
  display: grid;
  flex: 0 0 2.7rem;
  width: 2.7rem;
  height: 2.7rem;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 18%, rgba(255,255,255,.72), transparent 28%), linear-gradient(145deg, #e5c044 0%, #c99d1d 62%, #a97b08 100%);
  box-shadow: 0 8px 22px rgba(202,162,40,.27);
  font-size: 0;
  transform: scale(1);
  transition: transform 620ms var(--motion-ramp), box-shadow 520ms var(--motion-ramp), filter 520ms var(--motion-ramp);
}
.accordion__item button i::before,
.accordion__item button i::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: .78rem;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(83,57,0,.35);
  content: "";
  transform: translate(-50%,-50%);
  transition: transform 560ms var(--motion-ramp), opacity 420ms ease;
}
.accordion__item button i::after { transform: translate(-50%,-50%) rotate(90deg) scaleX(1); }
.accordion__item.is-open button i { filter: brightness(1.06); box-shadow: 0 10px 28px rgba(202,162,40,.38); transform: scale(1.04); }
.accordion__item.is-open button i::after { opacity: 0; transform: translate(-50%,-50%) rotate(90deg) scaleX(0); }
.accordion__panel {
  opacity: 0;
  transform: translate3d(0,-.3rem,0);
  transition: grid-template-rows 780ms var(--motion-ramp), opacity 560ms ease, transform 780ms var(--motion-ramp);
}
.accordion__item.is-open .accordion__panel { opacity: 1; transform: translate3d(0,0,0); }
.accordion__item.is-open .accordion__panel p { padding: 0 5.2rem 1.55rem 1.55rem; }

/* Reveal motion follows the same soft focus language as gallery transitions */
.reveal {
  opacity: 0;
  filter: blur(7px);
  transform: translate3d(0, 1.6rem, 0) scale(.992);
  transition: opacity 780ms var(--motion-soft), filter 860ms var(--motion-soft), transform 860ms var(--motion-soft);
}
.reveal.is-visible { opacity: 1; filter: blur(0); transform: translate3d(0,0,0) scale(1); }

@keyframes menu-shell-in {
  0% { opacity: 0; transform: translate3d(0,-.8rem,0) scaleY(.025); }
  48% { opacity: 1; }
  100% { opacity: 1; transform: translate3d(0,0,0) scaleY(1); }
}
@keyframes menu-shell-out {
  0% { opacity: 1; transform: translate3d(0,0,0) scaleY(1); }
  100% { opacity: 0; transform: translate3d(0,-.6rem,0) scaleY(.025); }
}
@keyframes menu-item-in {
  0% { opacity: 0; filter: blur(5px); transform: translate3d(0,-.5rem,0) scale(.98); }
  100% { opacity: 1; filter: blur(0); transform: translate3d(0,0,0) scale(1); }
}
@keyframes menu-item-out {
  0% { opacity: 1; filter: blur(0); transform: translate3d(0,0,0) scale(1); }
  100% { opacity: 0; filter: blur(4px); transform: translate3d(0,-.35rem,0) scale(.985); }
}

@media (max-width: 980px) {
  .menu-toggle {
    min-width: 2.8rem;
    min-height: 2.8rem;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    background: radial-gradient(circle at 24% -20%, rgba(255,255,255,.38), transparent 48%), linear-gradient(132deg, rgba(255,255,255,.15), rgba(255,255,255,.05)), rgba(40,40,45,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 10px 26px rgba(0,0,0,.2);
    backdrop-filter: blur(24px) saturate(175%);
  }
  .menu-toggle__label { display: none; }
  .primary-nav {
    top: 4.9rem;
    right: .5rem;
    left: .5rem;
    display: grid;
    gap: .55rem;
    padding: .85rem;
    overflow: hidden;
    border: 0;
    border-radius: 1.55rem;
    background: transparent;
    box-shadow: none;
    isolation: isolate;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: none;
    transition: visibility 0s linear 900ms;
  }
  .primary-nav::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: inherit;
    background: radial-gradient(circle at 12% -12%, rgba(255,255,255,.34), transparent 13rem), radial-gradient(circle at 92% 118%, rgba(202,162,40,.12), transparent 15rem), linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06) 56%, rgba(255,255,255,.12)), rgba(22,22,26,.96);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.44), inset 1px 0 0 rgba(255,255,255,.11), inset 0 -1px 0 rgba(255,255,255,.07), 0 28px 76px rgba(0,0,0,.5);
    content: "";
    transform-origin: center top;
  }
  .primary-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }
  .primary-nav.is-closing {
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transition-delay: 0s;
  }
  .primary-nav.is-open::before { animation: menu-shell-in 900ms var(--motion-soft) both; }
  .primary-nav.is-closing::before { animation: menu-shell-out 720ms var(--motion-ramp) both; }
  .primary-nav a {
    z-index: 1;
    min-height: 3.15rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .92rem 1rem;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: radial-gradient(circle at 18% -35%, rgba(255,255,255,.28), transparent 52%), linear-gradient(132deg, rgba(255,255,255,.13), rgba(255,255,255,.04) 62%, rgba(255,255,255,.1)), rgba(39,39,44,.62);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.31), inset 0 -1px 0 rgba(255,255,255,.055), 0 9px 24px rgba(0,0,0,.14);
    backdrop-filter: blur(24px) saturate(170%);
    color: var(--text);
    font-size: .94rem;
    font-weight: 650;
    opacity: 0;
    filter: blur(4px);
    transform: translate3d(0,-.45rem,0);
  }
  .primary-nav.is-open a { animation: menu-item-in 680ms var(--motion-soft) both; }
  .primary-nav.is-open a:nth-child(1) { animation-delay: 180ms; }
  .primary-nav.is-open a:nth-child(2) { animation-delay: 280ms; }
  .primary-nav.is-open a:nth-child(3) { animation-delay: 380ms; }
  .primary-nav.is-open a:nth-child(4) { animation-delay: 480ms; }
  .primary-nav.is-closing a { animation: menu-item-out 320ms var(--motion-ramp) both; }
  .primary-nav.is-closing a:nth-child(4) { animation-delay: 0ms; }
  .primary-nav.is-closing a:nth-child(3) { animation-delay: 55ms; }
  .primary-nav.is-closing a:nth-child(2) { animation-delay: 110ms; }
  .primary-nav.is-closing a:nth-child(1) { animation-delay: 165ms; }
  .primary-nav a:hover,
  .primary-nav a:focus-visible,
  .primary-nav a.is-pressed {
    border-color: rgba(255,255,255,.34);
    background: radial-gradient(circle at 22% -30%, rgba(255,255,255,.35), transparent 52%), linear-gradient(132deg, rgba(255,255,255,.19), rgba(255,255,255,.06) 62%, rgba(255,255,255,.14)), rgba(46,46,52,.72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.42), 0 12px 30px rgba(0,0,0,.2);
    transform: scale(1.025);
  }
}

/* Reference-like hero dissolve: reveal more scene on desktop, fade the actual photo on mobile. */
@media (min-width: 701px) {
  .landing-page .hero__media {
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 86% auto;
  }

  .landing-page .hero__veil {
    background:
      linear-gradient(90deg,rgba(244,241,230,.76) 0%,rgba(244,241,230,.56) 23%,rgba(244,241,230,.25) 39%,rgba(244,241,230,.07) 54%,rgba(244,241,230,0) 68%),
      linear-gradient(180deg,rgba(244,241,230,.02) 0%,transparent 68%,rgba(244,241,230,.24) 100%);
  }
}

@media (max-width: 700px) {
  .landing-page .hero__media {
    -webkit-mask-image: linear-gradient(180deg,#000 0%,#000 48%,rgba(0,0,0,.96) 56%,rgba(0,0,0,.78) 64%,rgba(0,0,0,.46) 72%,rgba(0,0,0,.16) 80%,transparent 89%);
    mask-image: linear-gradient(180deg,#000 0%,#000 48%,rgba(0,0,0,.96) 56%,rgba(0,0,0,.78) 64%,rgba(0,0,0,.46) 72%,rgba(0,0,0,.16) 80%,transparent 89%);
  }

  .landing-page .hero__veil {
    background: linear-gradient(180deg,rgba(244,241,230,0) 0%,rgba(244,241,230,0) 48%,rgba(244,241,230,.04) 58%,rgba(244,241,230,.16) 70%,rgba(244,241,230,.42) 82%,rgba(244,241,230,.72) 100%);
  }
}

/* Mobile section timing and image-bound dissolve. */
.landing-page .gallery-rotation {
  background: linear-gradient(180deg,#ebe7db 0%,#e4d49d 4%,#dabe62 11%,#d1ac42 19%,#cfa42f 31%,#cfa42f 100%);
}

@media (max-width: 700px) {
  .landing-page .lab-bridge__copy { order: 1; }
  .landing-page .lab-bridge__media { order: 2; }

  .landing-page .hero__media {
    -webkit-mask-image: linear-gradient(180deg,#000 0%,#000 calc(133.333vw - 6rem),rgba(0,0,0,.9) calc(133.333vw - 4.5rem),rgba(0,0,0,.62) calc(133.333vw - 2.5rem),rgba(0,0,0,.28) calc(133.333vw - .5rem),transparent calc(133.333vw + 2rem));
    mask-image: linear-gradient(180deg,#000 0%,#000 calc(133.333vw - 6rem),rgba(0,0,0,.9) calc(133.333vw - 4.5rem),rgba(0,0,0,.62) calc(133.333vw - 2.5rem),rgba(0,0,0,.28) calc(133.333vw - .5rem),transparent calc(133.333vw + 2rem));
  }

  .landing-page .hero__veil { background: none; }
}

/* Final spacing and seamless gold join between Gallery and LAB. */
.landing-page .gallery-rotation {
  min-height: 0;
  padding-top: clamp(4.5rem,7vw,6.5rem);
  padding-bottom: clamp(2.25rem,3vw,3rem);
  border-bottom: 0;
}

.landing-page .lab-bridge {
  margin-top: -2px;
  padding-top: clamp(2.25rem,3vw,3rem);
  padding-bottom: clamp(4.5rem,7vw,7rem);
  border-top: 0;
}

.landing-page .gallery-rotation::after { display: none; }

@media (max-width: 700px) {
  .landing-page .gallery-rotation {
    padding-top: 3.75rem;
    padding-bottom: .5rem;
  }

  .landing-page .lab-bridge {
    margin-top: -2px;
    padding-top: .5rem;
    padding-bottom: 3.75rem;
  }
}

/* Compact transition: Gallery and LAB remain visually continuous without dead space. */
.landing-page .gallery-rotation {
  min-height: 0;
  padding-top: clamp(4.5rem,7vw,6.5rem);
  padding-bottom: clamp(1rem,2vw,1.75rem);
}

.landing-page .lab-bridge {
  padding-top: clamp(1rem,2vw,1.75rem);
  padding-bottom: clamp(4.5rem,7vw,7rem);
}

.landing-page .faq__heading h2 { margin-bottom: 0; }

@media (max-width: 700px) {
  .landing-page .gallery-rotation {
    min-height: 0;
    padding-top: 4rem;
    padding-bottom: .75rem;
  }

  .landing-page .lab-bridge {
    padding-top: .75rem;
    padding-bottom: 4rem;
  }

  .landing-page .faq { padding-top: 4.5rem; }
}

/* Final CTA hierarchy, compact mobile spacing and edge-free hero dissolve. */
.landing-page .gallery-rotation__cta.sfa-pointer-light {
  border-color: rgba(255,239,174,.82);
  background: radial-gradient(circle at 22% -36%,rgba(255,255,255,.38),transparent 46%),linear-gradient(135deg,#efd36b,#c49113 72%,#8f6100);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82),inset 0 -1px 0 rgba(94,57,0,.24),0 12px 28px rgba(109,73,0,.3);
  color: #fff;
  text-shadow: 0 1px 4px rgba(77,47,0,.38);
}
.landing-page .gallery-rotation__cta.sfa-pointer-light:hover,
.landing-page .gallery-rotation__cta.sfa-pointer-light:focus-visible,
.landing-page .gallery-rotation__cta.sfa-pointer-light:active {
  border-color: rgba(255,247,211,.94);
  background: radial-gradient(circle at 25% -34%,rgba(255,255,255,.48),transparent 48%),linear-gradient(135deg,#f4db79,#cb9818 72%,#966600);
  box-shadow: inset 0 1px 0 #fff,0 16px 34px rgba(109,73,0,.4);
  color: #fff;
}

.landing-page .lab-bridge__cta,
.landing-page .lab-bridge__cta:hover,
.landing-page .lab-bridge__cta:focus-visible {
  border-color: rgba(255,255,255,.48);
  background: radial-gradient(circle at 22% -40%,rgba(255,255,255,.28),transparent 50%),linear-gradient(145deg,rgba(116,117,121,.72),rgba(55,56,60,.8) 68%,rgba(76,77,81,.76));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(0,0,0,.25),0 11px 26px rgba(0,0,0,.2);
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,.5);
}
.landing-page .lab-bridge__cta:hover,
.landing-page .lab-bridge__cta:focus-visible { transform: translateX(-50%) scale(1.025); }

@media (max-width: 700px) {
  .landing-page .gallery-rotation { padding-block: 4.5rem 2.5rem; }
  .landing-page .lab-bridge { padding-block: 2.5rem 4.5rem; }
  .landing-page .lab-bridge__inner { gap: 2rem; }

  .landing-page .hero__media {
    background-color: transparent;
    -webkit-mask-image: linear-gradient(180deg,#000 0%,#000 calc(133.333vw - 7rem),rgba(0,0,0,.88) calc(133.333vw - 5rem),rgba(0,0,0,.54) calc(133.333vw - 3rem),rgba(0,0,0,.18) calc(133.333vw - 1.5rem),transparent calc(133.333vw - .25rem));
    mask-image: linear-gradient(180deg,#000 0%,#000 calc(133.333vw - 7rem),rgba(0,0,0,.88) calc(133.333vw - 5rem),rgba(0,0,0,.54) calc(133.333vw - 3rem),rgba(0,0,0,.18) calc(133.333vw - 1.5rem),transparent calc(133.333vw - .25rem));
  }
  .landing-page .hero__veil {
    background: linear-gradient(180deg,transparent 0%,transparent calc(133.333vw - 7rem),rgba(244,241,230,.12) calc(133.333vw - 5rem),rgba(244,241,230,.48) calc(133.333vw - 3rem),rgba(244,241,230,.84) calc(133.333vw - 1.25rem),#f4f1e6 calc(133.333vw + .25rem));
  }
}

/* Keep the gold material, but move its white bloom away from white content. */
.sfa-footer__whatsapp,
.sfa-footer__whatsapp:hover,
.sfa-footer__whatsapp:focus-visible,
.sfa-footer__whatsapp:active,
.sfa-footer__whatsapp.is-pointer-lit {
  background: radial-gradient(circle at 20% -34%,rgba(255,255,255,.18),transparent 42%),linear-gradient(135deg,#efd36a,#c99716 72%,#986800);
}
.sfa-footer__whatsapp > .sfa-pointer-light__glow {
  background: radial-gradient(circle,rgba(255,255,255,.07),rgba(255,255,255,.018) 34%,transparent 68%);
  filter: blur(2px);
}
.sfa-footer__whatsapp.is-pointer-lit > .sfa-pointer-light__glow { opacity: .16; }

/* Clearer desktop artwork with no residual zoom or visible image edge. */
.landing-page .hero__media {
  animation: none;
  transform: scale(1);
}

.landing-page .hero__veil {
  background:
    linear-gradient(90deg,rgba(244,241,230,.84) 0%,rgba(244,241,230,.7) 25%,rgba(244,241,230,.36) 44%,rgba(244,241,230,.13) 60%,rgba(244,241,230,0) 80%),
    linear-gradient(180deg,rgba(244,241,230,.05) 0%,transparent 60%,rgba(244,241,230,.38) 100%);
}

@media (max-width: 980px) {
  .landing-page .primary-nav,
  .gallery-page .primary-nav,
  .expose-page .primary-nav {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@media (max-width: 700px) {
  .landing-page .hero__veil {
    background: linear-gradient(180deg,rgba(244,241,230,0) 0%,rgba(244,241,230,.02) 42%,rgba(244,241,230,.14) 49%,rgba(244,241,230,.48) 56%,rgba(244,241,230,.86) 64%,rgba(244,241,230,.97) 73%,#f4f1e6 100%);
  }

  .landing-page .hero__content {
    text-align: center;
  }

  .landing-page .hero .eyebrow,
  .landing-page .hero h1,
  .landing-page .hero__copy {
    margin-inline: auto;
    text-align: center;
  }

  .landing-page .hero__actions {
    justify-content: center;
    width: 100%;
    margin-inline: auto;
  }
}

/* Dark neutral liquid CTA from the supplied reference. */
.landing-page .hero__actions .button--glass,
.landing-page .gallery-rotation__cta.sfa-pointer-light {
  border: 1px solid rgba(255,255,255,.38);
  background:
    radial-gradient(circle at 22% -45%, rgba(255,255,255,.28), transparent 48%),
    linear-gradient(145deg, rgba(72,72,76,.94), rgba(24,24,27,.96) 68%, rgba(38,38,42,.96));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -1px 0 rgba(0,0,0,.5),
    0 10px 24px rgba(0,0,0,.24);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  backdrop-filter: blur(18px) saturate(135%);
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,.55);
}

.landing-page .hero__actions .button--glass:hover,
.landing-page .hero__actions .button--glass:focus-visible,
.landing-page .gallery-rotation__cta.sfa-pointer-light:hover,
.landing-page .gallery-rotation__cta.sfa-pointer-light:focus-visible {
  border-color: rgba(255,255,255,.58);
  background:
    radial-gradient(circle at 24% -42%, rgba(255,255,255,.36), transparent 50%),
    linear-gradient(145deg, rgba(82,82,87,.96), rgba(28,28,31,.98) 68%, rgba(43,43,47,.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.46), inset 0 -1px 0 rgba(0,0,0,.56), 0 14px 30px rgba(0,0,0,.3);
  color: #fff;
}

.landing-page .gallery-rotation__cta > .sfa-pointer-light__glow,
.landing-page .hero__actions .button--glass > .sfa-pointer-light__glow {
  background: radial-gradient(circle, rgba(255,255,255,.16), rgba(255,255,255,.055) 34%, transparent 68%);
}

/* One continuous gold field: soft entrance, stable centre, soft exit. */
.landing-page .gallery-rotation {
  background:
    radial-gradient(circle at 82% 38%, rgba(255,240,170,.42), transparent 30rem),
    linear-gradient(180deg,
      #f4f1e6 0%,
      #ead99f 10%,
      #dec472 21%,
      #d1ad45 34%,
      #c89b2b 58%,
      #c89b2b 100%);
}

.landing-page .gallery-rotation::after {
  background: linear-gradient(90deg, rgba(255,248,215,.12), transparent 38%, rgba(99,63,0,.04));
}

.landing-page .lab-bridge {
  background:
    radial-gradient(circle at 16% 35%, rgba(255,238,155,.3), transparent 28rem),
    linear-gradient(180deg,
      #c89b2b 0%,
      #c89b2b 48%,
      #d5b34e 66%,
      #e5cf89 82%,
      #f4f1e6 100%);
}

/* Gallery atmosphere: warm champagne gold without a hard section boundary. */
.landing-page .gallery-rotation {
  background:
    radial-gradient(circle at 78% 42%, rgba(255,248,213,.62), transparent 28rem),
    linear-gradient(180deg, #f4f1e6 0%, #eee3bd 14%, #dfc878 48%, #eadcad 82%, #f4f1e6 100%);
  color: #171719;
}

.landing-page .gallery-rotation::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,.2), transparent 35%, rgba(143,103,7,.04));
  content: "";
  pointer-events: none;
}

.landing-page .gallery-rotation .gallery-story__inner { z-index: 1; }
.landing-page .gallery-story__copy > p:not(.eyebrow) { color: rgba(23,23,25,.64); }

.landing-page .gallery-rotation__cta {
  top: auto !important;
  bottom: clamp(1.1rem, 3vw, 1.5rem);
  min-width: min(13rem, calc(100% - 2rem));
  min-height: 3.45rem;
  padding: .85rem 1.45rem;
  line-height: 1.1;
  overflow: visible;
}

/* Bridge from the curated Gallery to the personalised LAB service. */
.lab-bridge {
  position: relative;
  padding-block: clamp(6rem, 10vw, 9rem);
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 88%, rgba(190,145,28,.11), transparent 28rem),
    linear-gradient(180deg, #f4f1e6, #ebe7db);
  color: #171719;
}

.lab-bridge__inner {
  display: grid;
  grid-template-columns: minmax(24rem, 1.08fr) minmax(20rem, .92fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 8rem);
}

.lab-bridge__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid rgba(23,23,25,.14);
  border-radius: clamp(1.4rem, 2.8vw, 2.2rem);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 1.8rem 4.5rem rgba(53,47,31,.16);
}

.lab-bridge__media::after {
  position: absolute;
  inset: 48% 0 0;
  background: linear-gradient(180deg, transparent, rgba(8,8,9,.58));
  content: "";
  pointer-events: none;
}

.lab-bridge__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.72) contrast(.96);
  transition: transform 900ms var(--motion-out), filter 600ms ease;
}

.lab-bridge__media:hover img { filter: saturate(.9) contrast(1); transform: scale(1.035); }

.lab-bridge__cta {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 1.3rem;
  display: inline-flex;
  min-height: 3.35rem;
  align-items: center;
  justify-content: center;
  gap: .8rem;
  padding: .8rem 1.3rem;
  border: 1px solid rgba(255,232,145,.76);
  border-radius: 999px;
  background: radial-gradient(circle at 24% -30%, rgba(255,255,255,.82), transparent 45%), linear-gradient(135deg, #e5c454, #b7830d 70%, #7e5800);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84), 0 13px 30px rgba(92,62,0,.28);
  color: #fff;
  font-size: .8rem;
  font-weight: 800;
  white-space: nowrap;
  transform: translateX(-50%);
  transition: transform 480ms var(--motion-out), box-shadow 480ms ease;
}

.lab-bridge__cta:hover,
.lab-bridge__cta:focus-visible { box-shadow: inset 0 1px 0 #fff, 0 18px 38px rgba(92,62,0,.38); transform: translateX(-50%) scale(1.025); }

.lab-bridge__copy { justify-self: end; max-width: 35rem; text-align: right; }
.lab-bridge__copy .eyebrow { margin-bottom: 1.2rem; }
.lab-bridge__copy h2 { font-size: clamp(3.2rem, 5.8vw, 6rem); letter-spacing: -.068em; line-height: .9; }
.lab-bridge__copy h2 span {
  background: linear-gradient(180deg, #ffe77c, #d5a313 38%, #8f6300 56%, #e5bd37 78%, #a47204);
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 0 rgba(91,62,0,.48)) drop-shadow(0 8px 14px rgba(124,91,9,.18));
}
.lab-bridge__copy > p:last-child { max-width: 32rem; margin: 1.6rem 0 0 auto; color: rgba(23,23,25,.62); font-size: clamp(.95rem,1.2vw,1.08rem); }

/* Footer artist conversion panel and aligned brand treatment. */
.sfa-footer__brand-row { margin-bottom: clamp(1.8rem, 3vw, 2.6rem); }
.sfa-footer__brand .sfa-brand__editorial { color: #fff !important; text-shadow: 0 1px 8px rgba(74,48,0,.35); }

.sfa-footer__artist-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin: 0 auto clamp(3rem,6vw,5rem);
  padding: clamp(1.25rem,2.5vw,2rem);
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 1.5rem;
  background: radial-gradient(circle at 12% -40%, rgba(255,255,255,.4), transparent 48%), linear-gradient(132deg, rgba(105,108,113,.96), rgba(49,51,55,.94) 62%, rgba(76,79,84,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 20px 48px rgba(48,45,38,.18);
  color: #fff;
}

.sfa-footer__artist-cta .micro-label { margin: 0 0 .55rem; color: #e6bd3d; }
.sfa-footer__artist-cta h2 { max-width: 38rem; margin: 0; color: #fff !important; font-size: clamp(1.55rem,2.8vw,2.65rem); letter-spacing: -.045em; line-height: 1; }

.sfa-footer__whatsapp {
  display: inline-flex;
  min-height: 3.5rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  padding: .8rem 1.2rem;
  border: 1px solid rgba(255,232,145,.72);
  border-radius: 999px;
  background: radial-gradient(circle at 24% -30%, rgba(255,255,255,.84), transparent 46%), linear-gradient(135deg, #e7c759, #b7830d 70%, #7e5800);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84), 0 12px 30px rgba(119,80,0,.3);
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  transition: transform 460ms var(--motion-out), box-shadow 460ms ease;
}

.sfa-footer__whatsapp:hover,
.sfa-footer__whatsapp:focus-visible { box-shadow: inset 0 1px 0 #fff, 0 17px 38px rgba(119,80,0,.42); transform: scale(1.025); }
.sfa-footer__whatsapp:active { transform: scale(.97); }
.sfa-footer__whatsapp svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* Persistent gallery contact: compact gold liquid glass, always outside the content flow. */
.sfa-floating-whatsapp {
  position: fixed;
  z-index: 450;
  right: clamp(1rem, 2.4vw, 2rem);
  bottom: clamp(1rem, 2.4vw, 2rem);
  display: grid;
  width: 3.55rem;
  height: 3.55rem;
  place-items: center;
  border: 1px solid rgba(246,207,83,.92);
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 18%, rgba(255,255,255,.96), transparent 38%),
    linear-gradient(135deg, rgba(255,255,255,.9), rgba(255,250,226,.72) 70%, rgba(234,201,93,.42));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86), inset 0 -1px 0 rgba(116,75,0,.2), 0 .75rem 1.8rem rgba(106,72,0,.22);
  color: #b77b00;
  backdrop-filter: blur(16px) saturate(150%);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  transition: transform 360ms cubic-bezier(.16,1,.3,1), box-shadow 360ms ease, background 360ms ease;
}
.sfa-floating-whatsapp:hover,
.sfa-floating-whatsapp:focus-visible {
  background: radial-gradient(circle at 30% 18%, #fff, transparent 40%), linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,246,199,.82) 72%, rgba(228,183,42,.55));
  box-shadow: inset 0 1px 0 #fff, 0 1rem 2.2rem rgba(106,72,0,.3);
  transform: translateY(-.22rem) scale(1.04);
}
.sfa-floating-whatsapp:active { transform: scale(.96); }
.sfa-floating-whatsapp svg { width: 1.7rem; height: 1.7rem; fill: currentColor; }
body.is-product-open .sfa-floating-whatsapp {
  opacity: 0;
  pointer-events: none;
  transform: translateY(1rem) scale(.92);
}
@media (max-width: 760px) {
  .sfa-floating-whatsapp { right: 1rem; bottom: 1rem; width: 3.35rem; height: 3.35rem; }
}

.sfa-footer__socials a:hover,
.sfa-footer__socials a:focus-visible {
  border-color: rgba(255,232,145,.8);
  background: radial-gradient(circle at 28% 10%, rgba(255,255,255,.92), transparent 34%), linear-gradient(135deg, #edce66, #b9850d 72%, #7f5900);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 22px rgba(142,101,6,.34);
  color: #fff;
  transform: translateY(-2px) scale(1.08);
}
.sfa-footer__socials a:active { box-shadow: inset 0 1px 0 #fff, 0 5px 14px rgba(142,101,6,.28); transform: scale(.94); }

@media (max-width: 760px) {
  .landing-page .gallery-rotation { padding-block: 7rem; }
  .landing-page .gallery-rotation__cta {
    bottom: 1rem;
    min-width: min(12.5rem, calc(100% - 2rem));
    min-height: 3.25rem;
    padding: .75rem 1.15rem;
  }

  .lab-bridge { padding-block: 6rem; }
  .lab-bridge__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .lab-bridge__media { aspect-ratio: 4 / 5; }
  .lab-bridge__copy { max-width: none; text-align: left; }
  .lab-bridge__copy h2 { font-size: clamp(2.85rem,13vw,4rem); }
  .lab-bridge__copy > p:last-child { margin-left: 0; }
  .lab-bridge__cta { width: calc(100% - 2rem); bottom: 1rem; }

  .sfa-footer__artist-cta { align-items: stretch; flex-direction: column; gap: 1.25rem; }
  .sfa-footer__whatsapp { width: 100%; }
}

/* Continuous muted-gold environment across Gallery and personal LAB bridge. */
.landing-page .gallery-rotation {
  background:
    radial-gradient(circle at 78% 36%, rgba(255,242,176,.5), transparent 30rem),
    radial-gradient(circle at 12% 88%, rgba(126,83,0,.1), transparent 26rem),
    linear-gradient(180deg, #d7b84f 0%, #ead173 34%, #d3ad3f 72%, #c99f32 100%);
}

.landing-page .lab-bridge {
  background:
    radial-gradient(circle at 14% 82%, rgba(255,244,189,.38), transparent 28rem),
    radial-gradient(circle at 88% 18%, rgba(126,83,0,.1), transparent 25rem),
    linear-gradient(180deg, #c99f32 0%, #dfc45f 42%, #efd982 72%, #d6b344 100%);
}

.landing-page .lab-bridge__copy h2 span {
  background:
    radial-gradient(at 38% 1%, rgba(255,255,255,.95) 0%, rgba(255,255,255,.3) 18%, transparent 42%),
    linear-gradient(180deg, #fafaf7 0%, #c6c9cc 23%, #747980 46%, #41464c 56%, #a8adb2 74%, #555b62 100%);
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 -1px 0 rgba(255,255,255,.78)) drop-shadow(0 2px 0 rgba(42,45,49,.68)) drop-shadow(0 7px 12px rgba(45,43,35,.24));
}

@media (max-width: 980px) {
  .primary-nav.is-open a:nth-child(5) { animation-delay: 580ms; }
  .primary-nav.is-closing a:nth-child(5) { animation-delay: 0ms; }
}

/* Readability hierarchy for cursor-following liquid controls. */
.gallery-rotation__cta { color: #111214; text-shadow: none; }
.gallery-rotation__cta > span,
.lab-bridge__cta > span,
.sfa-footer__whatsapp > span,
.sfa-footer__whatsapp > svg {
  position: relative;
  z-index: 2;
}

.gallery-rotation__cta > .sfa-pointer-light__glow,
.lab-bridge__cta > .sfa-pointer-light__glow,
.sfa-footer__whatsapp > .sfa-pointer-light__glow { z-index: 0 !important; }

.lab-bridge__cta > .sfa-pointer-light__glow {
  background: radial-gradient(circle, rgba(255,255,255,.18) 0%, rgba(255,255,255,.07) 32%, transparent 68%);
  filter: blur(3px);
}

.lab-bridge__cta.is-pointer-lit > .sfa-pointer-light__glow { opacity: .48; }

.lab-bridge__cta:hover,
.lab-bridge__cta:focus-visible,
.lab-bridge__cta:active,
.lab-bridge__cta.is-pointer-lit,
.sfa-footer__whatsapp:hover,
.sfa-footer__whatsapp:focus-visible,
.sfa-footer__whatsapp:active,
.sfa-footer__whatsapp.is-pointer-lit {
  color: #111214;
  text-shadow: none;
}

.landing-page .lab-bridge__copy .eyebrow { color: #fff; }

.sfa-footer__artist-cta .micro-label {
  display: inline-flex;
  width: fit-content;
  padding: .3rem .55rem;
  border-radius: 999px;
  background: linear-gradient(135deg, #efd46f, #c99a22);
  color: #111214;
}

.sfa-footer__socials a:hover,
.sfa-footer__socials a:focus-visible,
.sfa-footer__socials a:active {
  border-color: rgba(255,239,174,.88);
  background: radial-gradient(circle at 28% 8%, rgba(255,255,255,.9), transparent 34%), linear-gradient(135deg, #efd36b, #bd8910 72%, #795200);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 8px 22px rgba(142,101,6,.34);
  color: #111214;
}

/* True translucent daylight glass: the moving page remains visible beneath it. */
.landing-page .site-header,
.landing-page .site-header.is-scrolled,
.gallery-page .site-header,
.gallery-page .site-header.is-scrolled,
.expose-page .site-header,
.expose-page .site-header.is-scrolled {
  border-color: rgba(255,255,255,.62);
  background:
    linear-gradient(128deg, rgba(255,255,255,.42), rgba(255,255,255,.12) 42%, rgba(112,116,121,.08) 100%),
    rgba(239,236,226,.34);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    inset 1px 0 0 rgba(255,255,255,.36),
    inset 0 -1px 0 rgba(31,31,33,.09),
    0 16px 42px rgba(45,43,36,.15);
  -webkit-backdrop-filter: blur(22px) saturate(150%);
  backdrop-filter: blur(22px) saturate(150%);
}

.landing-page .site-header.is-scrolled,
.gallery-page .site-header.is-scrolled,
.expose-page .site-header.is-scrolled {
  background:
    linear-gradient(128deg, rgba(255,255,255,.46), rgba(255,255,255,.14) 44%, rgba(112,116,121,.09)),
    rgba(239,236,226,.42);
}

/* The pointer utility must not change the CTA from absolute to relative. */
.gallery-rotation__cta.sfa-pointer-light {
  position: absolute;
  top: auto !important;
  right: auto !important;
  bottom: clamp(1rem, 3vw, 1.4rem) !important;
  left: 50% !important;
  min-width: min(13rem, calc(100% - 2rem));
  min-height: 3.4rem;
  padding: .85rem 1.4rem;
  border: 1px solid rgba(255,255,255,.58);
  background:
    radial-gradient(circle at 22% -32%, rgba(255,255,255,.68), transparent 48%),
    linear-gradient(132deg, rgba(255,255,255,.48), rgba(196,198,198,.2) 62%, rgba(255,255,255,.32)),
    rgba(211,211,207,.52);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86), inset 0 -1px 0 rgba(23,23,25,.1), 0 12px 30px rgba(0,0,0,.22);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  backdrop-filter: blur(20px) saturate(145%);
  color: #111214;
  line-height: 1.1;
  text-shadow: none;
  transform: translateX(-50%);
}

.gallery-rotation__cta.sfa-pointer-light:hover,
.gallery-rotation__cta.sfa-pointer-light:focus-visible {
  border-color: rgba(255,255,255,.78);
  background:
    radial-gradient(circle at 24% -30%, rgba(255,255,255,.76), transparent 48%),
    linear-gradient(132deg, rgba(255,255,255,.56), rgba(188,190,191,.26) 62%, rgba(255,255,255,.38)),
    rgba(214,214,210,.6);
  color: #111214;
  transform: translateX(-50%) scale(1.025);
}

@media (max-width: 700px) {
  .gallery-rotation__cta.sfa-pointer-light {
    bottom: 1rem !important;
    min-width: min(12rem, calc(100% - 2rem));
    min-height: 3.2rem;
    padding: .76rem 1.1rem;
    font-size: .78rem;
  }
}

/* Desktop hero: preserve a clear reading field while restoring the photograph's depth. */
@media (min-width: 761px) {
  .landing-page .hero__media {
    filter: contrast(1.18) brightness(.9) saturate(1.04);
  }

  .landing-page .hero__veil {
    background:
      radial-gradient(ellipse 58% 84% at 3% 54%,
        rgba(244, 241, 230, .96) 0%,
        rgba(244, 241, 230, .79) 38%,
        rgba(244, 241, 230, .43) 62%,
        rgba(244, 241, 230, .12) 80%,
        transparent 100%),
      linear-gradient(90deg,
        rgba(244, 241, 230, .54) 0%,
        rgba(244, 241, 230, .3) 26%,
        rgba(244, 241, 230, .1) 48%,
        transparent 72%),
      linear-gradient(180deg,
        rgba(244, 241, 230, .03) 0%,
        transparent 60%,
        rgba(244, 241, 230, .26) 100%);
  }
}

.landing-page .gallery-story h2 .gallery-title__plain {
  background: none;
  color: #111214;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #111214;
  filter: none;
  text-shadow: none;
}

/* 2026-09-07: final density, motion and alignment refinements. */
@media (min-width: 981px) {
  .landing-page .idea .process-card,
  .landing-page .idea .process-card:nth-child(2),
  .landing-page .idea .process-card:nth-child(3) {
    grid-template-rows: clamp(13rem, 18vw, 15rem) auto;
    height: auto;
    min-height: 0;
  }
  .landing-page .idea .process-card__body {
    align-self: start;
    min-height: 0;
    padding: 1.25rem 1.4rem 1.4rem;
  }
  .landing-page .idea .process-card__body h3 { margin-bottom: .7rem; }
  .landing-page .idea .process-card__body p:last-child { line-height: 1.55; }

  .landing-page .gallery-rotation { padding-bottom: clamp(1.35rem, 2vw, 2rem); }
  .landing-page .lab-bridge { padding-top: clamp(1.35rem, 2vw, 2rem); }
  .landing-page .gallery-rotation .gallery-story__inner {
    grid-template-columns: minmax(18rem,.7fr) minmax(31rem,1.3fr);
    gap: clamp(2.5rem,5vw,5rem);
  }
  .landing-page .gallery-rotation__stage {
    width: min(100%, 39rem);
    aspect-ratio: 16 / 9;
  }
}

@media (min-width: 1181px) {
  .gallery-page .filter-field { grid-template-rows: 2.65rem; align-self: center; }
  .gallery-page .artist-picker { align-self: center; }
  .gallery-page .artist-picker__trigger { height: 2.65rem; min-height: 2.65rem; }
}

@media (max-width: 980px) {
  .site-header,
  .site-header.is-scrolled {
    height: var(--header-height);
    min-height: var(--header-height);
    max-height: var(--header-height);
    align-content: center;
  }
}

@media (max-width: 760px) {
  .landing-page .idea .process-card__visual { height: 12rem; }
  .landing-page .idea .process-card__body {
    min-height: 0;
    padding: 1rem 1.05rem 1.15rem;
  }
  .landing-page .idea .process-card__body h3 { margin-bottom: .65rem; }
  .landing-page .idea .process-card__body p:last-child {
    font-size: .9rem;
    line-height: 1.55;
  }
  .landing-page .gallery-rotation { padding-bottom: 2rem; }
  .landing-page .lab-bridge { padding-top: 2rem; }

  .gallery-page .artist-picker,
  .gallery-page .filter-field--artist {
    width: 100%;
    justify-self: start;
  }
  .gallery-page .artist-picker__trigger {
    height: 2.15rem;
    min-height: 2.15rem;
    padding-block: .42rem;
    text-align: center;
  }
}

/* Candidate CTA: stronger label only, with unchanged button dimensions. */
@media (max-width: 700px) {
  .sfa-footer__whatsapp {
    font-size: 1.08rem;
  }
}


/* Final mobile override: preserve the sticky stack on short or zoomed viewports. */
@media (max-width: 760px) {
  .landing-page .idea .process-card,
  .landing-page .idea .process-card:nth-child(2),
  .landing-page .idea .process-card:nth-child(3) {
    height: min(72svh, 34rem);
    min-height: 23.5rem;
    margin-bottom: 14svh;
  }
  .landing-page .idea .process-card__visual { height: 10.75rem; min-height: 10.75rem; }
  .landing-page .idea .process-card__body { padding: .95rem 1rem 1.05rem; }
  .landing-page .idea .process-card__body h3 { margin-bottom: .6rem; }
  .landing-page .idea .process-card__body p:last-child { font-size: .9rem; line-height: 1.48; }
}

/* Final desktop hero contrast: the clear copy field remains local, not washed across the photograph. */
@media (min-width: 761px) {
  .landing-page .hero__media {
    filter: contrast(1.18) brightness(.9) saturate(1.04) !important;
  }

  .landing-page .hero__veil {
    background:
      radial-gradient(ellipse 58% 84% at 3% 54%,
        rgba(244, 241, 230, .96) 0%,
        rgba(244, 241, 230, .79) 38%,
        rgba(244, 241, 230, .43) 62%,
        rgba(244, 241, 230, .12) 80%,
        transparent 100%),
      linear-gradient(90deg,
        rgba(244, 241, 230, .54) 0%,
        rgba(244, 241, 230, .3) 26%,
        rgba(244, 241, 230, .1) 48%,
        transparent 72%),
      linear-gradient(180deg,
        rgba(244, 241, 230, .03) 0%,
        transparent 60%,
        rgba(244, 241, 230, .26) 100%) !important;
  }
}

/* 2026-09-07: native scrolling and definitive responsive geometry. */
@media (min-width: 1181px) {
  .gallery-page .filters__row { align-items: center; }
  .gallery-page .filter-field--range {
    height: 2.65rem;
    grid-template-rows: .8rem .9rem;
    align-content: center;
    gap: .18rem;
  }
  .gallery-page .filter-field__price {
    min-height: .8rem;
    line-height: .8rem;
  }
  .gallery-page .filter-field--range input[type="range"] {
    min-height: .9rem;
    align-self: center;
  }
}

/* Definitive desktop filter geometry: the inner group, not only its parent, is centered. */
@media (min-width: 1181px) {
  .gallery-page .filters {
    width: min(calc(100% - 2rem), 70rem);
    margin-inline: auto;
    padding-inline: 1.25rem;
    box-sizing: border-box;
  }
  .gallery-page .filters__row {
    display: grid;
    width: min(100%, 66.5rem);
    margin-inline: auto;
    grid-template-columns: 12rem 28rem 24rem;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
  }
  .gallery-page .content-type-switch { width: 12rem; }
  .gallery-page .category-filter { display: block; min-width: 0; padding: 0; border: 0; }
  .gallery-page .category-filter__primary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    gap: .55rem;
  }
  .gallery-page .category-filter .filter-chip { width: 100%; min-width: 0; padding-inline: .55rem; }
}

@media (max-width: 760px) {
  .landing-page .hero__media {
    background-image: url("../images/paesaggio 1 mobile.jpeg") !important;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .landing-page .hero__veil {
    display: block;
    background: linear-gradient(180deg,
      rgba(244,241,230,0) 0%,
      rgba(244,241,230,0) 32%,
      rgba(244,241,230,.04) 40%,
      rgba(244,241,230,.12) 48%,
      rgba(244,241,230,.26) 56%,
      rgba(244,241,230,.46) 64%,
      rgba(244,241,230,.68) 72%,
      rgba(244,241,230,.84) 80%,
      rgba(244,241,230,.95) 88%,
      #f4f1e6 96%,
      #f4f1e6 100%);
  }
  .landing-page .idea .process-card,
  .landing-page .idea .process-card:nth-child(2),
  .landing-page .idea .process-card:nth-child(3) {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    height: auto;
    min-height: 0;
  }
  .landing-page .idea .process-card__visual {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1;
  }
  .landing-page .idea .process-card__body {
    align-self: start;
    min-height: 0;
    padding: 1.05rem 1.05rem 1.2rem;
  }
}

@media (max-width: 700px) {
  .faq__heading h2 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .accordion__item button { min-height: 5.15rem; padding: 1rem 1rem 1rem 1.2rem; }
  .accordion__item button i { flex-basis: 2.35rem; width: 2.35rem; height: 2.35rem; }
  .accordion__item.is-open .accordion__panel p { padding: 0 3.9rem 1.25rem 1.2rem; }
  .filters { top: 4.9rem; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .art-card.is-filtered-out { opacity: 1; filter: none; transform: none; }
  .liquid-ripple { display: none; }
}

/* =========================================================
   Refined scale, anchored navigation and reference footer
   ========================================================= */
:root {
  --page: min(calc(100% - clamp(2rem, 6vw, 5.5rem)), 85rem);
  --header-height: 4rem;
  --nav-offset: clamp(.55rem, 1.4vw, 1.1rem);
}

html { scroll-behavior: auto; scroll-padding-top: 6.25rem; }

/* The navbar stays anchored to the viewport without shifting after scroll. */
.site-header,
.site-header.is-scrolled {
  position: fixed;
  top: var(--nav-offset);
  width: var(--page);
  min-height: var(--header-height);
  padding: .45rem .5rem .45rem 1.25rem;
  border-color: rgba(255,255,255,.2);
  background-color: rgba(12,12,14,.58);
}
.site-header.is-scrolled {
  border-color: var(--glass-line-strong);
  background-color: rgba(8,8,10,.72);
}
.brand__mark { min-height: 2.65rem; padding-inline: 1rem; }
.primary-nav { gap: 1.35rem; }
.primary-nav a { font-size: .82rem; }
.header-cta { min-height: 3rem; }

/* A more controlled editorial scale, aligned with stampafineart.com. */
.hero { min-height: clamp(43rem, 94svh, 57rem); }
.hero__content { padding-block: clamp(7.25rem, 11vh, 9rem) clamp(4rem, 7vh, 6rem); }
.hero h1 { max-width: 8.7ch; font-size: clamp(3.8rem, 7.25vw, 7.15rem); line-height: .86; }
.hero__copy { max-width: 34rem; font-size: clamp(.98rem, 1.15vw, 1.12rem); }
.hero__footer { display: none; }

.service,
.gallery-story,
.gallery,
.faq { padding-block: clamp(5.25rem, 8vw, 8rem); }
.section-heading--split { gap: clamp(2.5rem, 6vw, 6rem); margin-bottom: clamp(3rem, 6vw, 5rem); }
.section-heading h2 { font-size: clamp(3rem, 5.35vw, 5.35rem); line-height: .9; }
.section-heading__copy { max-width: 31rem; }
.section-heading__copy strong { font-size: 1.08rem; }
.process-card__visual { height: clamp(16rem, 21vw, 21rem); }
.process-card__body { min-height: 13.5rem; padding: clamp(1.25rem, 2vw, 1.7rem); }
.process-card__body h3 { font-size: clamp(1.55rem, 2.15vw, 2.15rem); }
.process-card__body p:last-child { font-size: .88rem; }

/* Native sticky stack: shared top rhythm, smaller cards and smoother handoff. */
.gallery-story__inner {
  grid-template-columns: minmax(18rem, .72fr) minmax(25rem, 1fr);
  gap: clamp(2.75rem, 7vw, 7rem);
}
.gallery-story__sticky { top: 6.7rem; padding-bottom: 2rem; }
.gallery-story h2 { font-size: clamp(3.15rem, 5.4vw, 5.45rem); line-height: .9; }
.gallery-story__sticky > p:not(.eyebrow) { max-width: 28rem; font-size: .96rem; }
.gallery-story__stack { gap: clamp(4.5rem, 10svh, 6.5rem); padding: 0 0 clamp(7rem, 14svh, 10rem); }
.preview-card {
  width: min(100%, 31rem);
  aspect-ratio: 4 / 5;
  justify-self: end;
  top: 6.7rem;
  border-radius: 1.65rem;
  box-shadow: 0 1.7rem 4.2rem rgba(0,0,0,.34);
  transition: border-color 420ms ease, box-shadow 620ms var(--motion-out), transform 620ms var(--motion-out);
}
.preview-card--two { top: 7.45rem; transform: rotate(.55deg); }
.preview-card--three { top: 8.2rem; transform: rotate(-.45deg); }
.preview-card:hover { border-color: rgba(255,255,255,.25); box-shadow: 0 2rem 5rem rgba(0,0,0,.44); }
.preview-card > div strong { font-size: clamp(1.3rem, 2.2vw, 2rem); }

.gallery__heading { max-width: 54rem; margin-bottom: clamp(2.7rem, 5.5vw, 4.5rem); }
.gallery__heading h2 { font-size: clamp(3.2rem, 6.4vw, 6.6rem); line-height: .88; }
.gallery__heading > p:last-child { font-size: .98rem; }

/* Compact sticky filter console. */
.filters {
  position: sticky;
  top: 5.65rem;
  width: min(100%, 68rem);
  margin: 0 auto 1.45rem;
  padding: .78rem .9rem;
  border-radius: 1.15rem;
}
.filters__topline { margin-bottom: .62rem; }
.filters__title,
.filters__reset { font-size: .64rem; }
.category-filter { gap: .38rem; padding-bottom: .68rem; }
.filter-chip { padding: .44rem .68rem; font-size: .65rem; }
.filters__controls { gap: .65rem; padding-top: .68rem; }
.filter-field { gap: .32rem; }
.filter-field > span { font-size: .58rem; }
.filter-field select { min-height: 2.35rem; border-radius: .65rem; font-size: .72rem; }
.filter-field input[type="range"] { min-height: 1.1rem; margin: 0; }
.range-scale { font-size: .56rem; }
.filters__results { margin: .52rem 0 0; font-size: .64rem; }
.art-grid { gap: clamp(.9rem, 1.7vw, 1.5rem); }
.art-card__media { aspect-ratio: 4 / 3.15; }
.art-card__body { padding: clamp(1rem, 1.7vw, 1.35rem); }
.art-card__body h3 { font-size: clamp(1.35rem, 2vw, 2.05rem); }

/* FAQ uses the exact nested overflow track used on the reference site. */
.faq { padding: clamp(5.5rem, 9vw, 9rem) 0 clamp(6.5rem, 10vw, 9rem); }
.faq__layout { width: min(calc(100% - 2rem), 50rem); gap: clamp(2.75rem, 6vw, 4.75rem); }
.faq__heading h2 { font-size: clamp(3.25rem, 5vw, 4rem); line-height: 1.08; }
.faq__heading > p:last-child { font-size: .94rem; }
.accordion { gap: clamp(.75rem, 2vw, 1rem); }
.accordion__item { border-radius: clamp(1.15rem, 3vw, 1.4rem); }
.accordion__item button { min-height: 5.15rem; padding: 1.15rem 1.15rem 1.15rem clamp(1.25rem, 4vw, 1.55rem); }
.accordion__item button span { font-size: clamp(.93rem, 2.7vw, 1.05rem); line-height: 1.35; }
.accordion__item button i { flex-basis: 2.2rem; width: 2.2rem; height: 2.2rem; }
.accordion__panel {
  grid-template-rows: 0fr;
  opacity: 0;
  transform: translate3d(0,-.3rem,0);
  will-change: grid-template-rows, opacity, transform;
  transition: grid-template-rows 780ms cubic-bezier(.65,0,.35,1), opacity 560ms ease, transform 780ms cubic-bezier(.65,0,.35,1);
}
.accordion__panel > div { min-height: 0; overflow: hidden; }
.accordion__panel p,
.accordion__item.is-open .accordion__panel p {
  max-width: 65ch;
  padding: 0 clamp(4.8rem,10vw,5.25rem) 1.45rem clamp(1.25rem,4vw,1.55rem);
  color: rgba(255,255,255,.68);
  font-size: clamp(.88rem,2.5vw,.98rem);
  line-height: 1.65;
}

/* Footer copied from the live visual and interaction system. */
.sfa-site-footer {
  position: relative;
  padding: clamp(4.5rem,9vw,8rem) clamp(1rem,3vw,2.75rem) 1.5rem;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.16);
  background: linear-gradient(180deg,rgba(255,255,255,.018),transparent 28%),#070708;
  color: var(--text);
  isolation: isolate;
}
.sfa-site-footer__glow { position: absolute; z-index: -1; width: 34rem; height: 34rem; inset: -15rem -12rem auto auto; border-radius: 50%; background: rgba(202,162,40,.09); filter: blur(105px); pointer-events: none; }
.sfa-site-footer__inner { width: min(100%,85rem); margin-inline: auto; }
.sfa-footer__brand-row { display: flex; align-items: center; justify-content: center; margin-bottom: clamp(3rem,6vw,5rem); text-align: center; }
.sfa-footer__brand { position: relative; display: flex; align-items: center; justify-content: center; width: 13rem; height: 3.8rem; overflow: visible; color: inherit; transition: transform 420ms cubic-bezier(.2,.75,.2,1); }
.sfa-brand__wordmark { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: .42rem; color: #fff; line-height: 1; text-shadow: 0 1px 10px rgba(0,0,0,.34); white-space: nowrap; }
.sfa-footer__brand .sfa-brand__editorial { position: relative; display: inline-flex; min-height: 3.3rem; align-items: center; justify-content: center; padding-inline: .85rem; overflow: hidden; border: 1px solid rgba(255,234,152,.86); border-radius: 999px; background: linear-gradient(115deg,rgba(255,218,92,.94),rgba(202,145,22,.76) 47%,rgba(244,193,56,.9)); box-shadow: inset 0 1px 0 rgba(255,249,215,.92),inset 0 -1px 0 rgba(112,67,0,.22),0 8px 22px rgba(0,0,0,.22),0 0 24px rgba(236,187,45,.2); font-family: "Iowan Old Style",Baskerville,"Bodoni 72","Times New Roman",serif; font-size: 1.45rem; font-style: italic; font-weight: 700; }
.sfa-footer__brand .sfa-brand__editorial::before { position: absolute; height: 45%; inset: 1px 12% auto; border-radius: 999px; background: linear-gradient(180deg,rgba(255,255,255,.2),transparent); content: ""; }
.sfa-footer__brand .sfa-brand__divider { display: inline-flex; width: auto; height: 1rem; align-items: center; background: none; color: rgba(255,255,255,.78); font-size: .84rem; font-weight: 600; }
.sfa-footer__brand .sfa-brand__lab { font-size: .82rem; font-weight: 750; letter-spacing: .13em; }
.sfa-footer__brand:hover { transform: scale(1.025); }
.sfa-footer__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(1rem,4vw,4.5rem); }
.sfa-footer__column h2 { margin: 0 0 1rem; color: var(--text); font-size: .72rem; font-weight: 700; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.sfa-footer__nav,
.sfa-footer__contacts { display: grid; gap: .7rem; }
.sfa-footer__glass-link,
.sfa-footer__info-card {
  position: relative;
  display: flex;
  min-height: 4rem;
  align-items: center;
  gap: .85rem;
  padding: .85rem 1.05rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 1.15rem;
  background: radial-gradient(circle at 14% -35%,rgba(255,255,255,.22),transparent 48%),linear-gradient(132deg,rgba(255,255,255,.11),rgba(255,255,255,.035) 58%,rgba(255,255,255,.075)),rgba(24,24,28,.62);
  color: var(--text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.25),inset 0 -1px 0 rgba(255,255,255,.035),0 12px 34px rgba(0,0,0,.14);
  backdrop-filter: blur(26px) saturate(165%);
  transform: scale(1);
  transition: transform 460ms cubic-bezier(.16,1,.3,1),border-color 360ms ease,background 420ms ease,box-shadow 420ms ease;
}
.sfa-footer__glass-link { justify-content: space-between; font-size: .86rem; font-weight: 650; }
.sfa-footer__glass-link > span:last-child,
.sfa-footer__arrow { margin-inline-start: auto; color: #caa228; font-size: 1rem; }
.sfa-footer__glass-link:hover,
.sfa-footer__glass-link:focus-visible,
.sfa-footer__glass-link:active,
.sfa-footer__info-card:hover,
.sfa-footer__info-card:focus-visible,
.sfa-footer__info-card:active { border-color: rgba(255,255,255,.29); background: radial-gradient(circle at 18% -30%,rgba(255,255,255,.78),transparent 48%),linear-gradient(132deg,rgba(255,255,255,.62),rgba(255,255,255,.29) 58%,rgba(255,255,255,.48)),rgba(224,224,218,.93); box-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 16px 38px rgba(0,0,0,.2); color: #171719; transform: scale(1.018); }
.sfa-footer__glass-link:hover *,
.sfa-footer__glass-link:focus-visible *,
.sfa-footer__glass-link:active *,
.sfa-footer__info-card:hover strong,
.sfa-footer__info-card:hover small,
.sfa-footer__info-card:focus-visible strong,
.sfa-footer__info-card:focus-visible small,
.sfa-footer__info-card:active strong,
.sfa-footer__info-card:active small { color: #171719; }
.sfa-footer__info-card:hover > svg,
.sfa-footer__info-card:focus-visible > svg,
.sfa-footer__info-card:active > svg { stroke: #171719; }
.sfa-footer__info-card > svg { width: 1.35rem; height: 1.35rem; flex: 0 0 auto; fill: none; stroke: #fff; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.sfa-footer__info-card > span:not(.sfa-footer__arrow,.sfa-footer__socials) { display: grid; gap: .12rem; min-width: 0; }
.sfa-footer__info-card strong { font-size: .82rem; font-weight: 650; line-height: 1.25; transition: color 260ms ease; }
.sfa-footer__info-card small { color: var(--muted); font-size: .68rem; line-height: 1.35; transition: color 260ms ease; }
.sfa-footer__socials { display: flex; gap: .45rem; margin-inline-start: auto; }
.sfa-footer__socials a { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; background: rgba(255,255,255,.06); color: #fff; transition: transform 420ms cubic-bezier(.16,1,.3,1),background-color 320ms ease,border-color 320ms ease; }
.sfa-footer__socials a:hover,
.sfa-footer__socials a:focus-visible { border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.13); transform: scale(1.08); }
.sfa-footer__socials svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.sfa-footer__socials .sfa-footer__icon-fill { fill: currentColor; stroke: none; }
.sfa-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: clamp(3rem,6vw,5rem); padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.36); font-size: .67rem; }
.sfa-footer__bottom p { margin: 0; }
.sfa-footer__bottom nav { display: flex; gap: 1.25rem; }
.sfa-footer__bottom a { color: var(--muted); }
.sfa-footer__bottom a:hover { color: var(--text); }

/* Dedicated author page. */
.expose-hero { position: relative; display: grid; min-height: clamp(42rem,88svh,55rem); overflow: hidden; background: var(--ink); }
.expose-hero__media,
.expose-hero__veil { position: absolute; inset: 0; }
.expose-hero__media { background: #111 url("../images/laboratory-inspection-v1.webp") 68% center / cover no-repeat; transform: scale(1.035); }
.expose-hero__veil { background: linear-gradient(90deg,#050506 0%,rgba(5,5,6,.96) 34%,rgba(5,5,6,.5) 66%,rgba(5,5,6,.16)),linear-gradient(180deg,rgba(5,5,6,.3),transparent 54%,rgba(5,5,6,.82)); }
.expose-hero__content { position: relative; z-index: 2; align-self: center; padding-block: 8rem 5rem; }
.expose-hero h1 { max-width: 10ch; margin: 0 0 1.5rem; font-size: clamp(3.6rem,6.7vw,6.7rem); font-weight: 680; letter-spacing: -.072em; line-height: .87; }
.expose-hero h1 em,
.expose-contact h2 span { display: inline-block; background: linear-gradient(180deg,#f9dc6b,#dfb72f 27%,#a87907 50%,#f0ca45 70%,#b88b12); background-clip: text; color: transparent; font-family: Georgia,"Times New Roman",serif; font-style: italic; -webkit-background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 2px 0 rgba(91,62,0,.66)) drop-shadow(0 8px 13px rgba(124,91,9,.2)); }
.expose-hero__content > p:not(.eyebrow) { max-width: 37rem; color: rgba(243,242,238,.72); font-size: clamp(1rem,1.25vw,1.15rem); }
.expose-process { padding-block: clamp(5.25rem,8vw,8rem); }
.expose-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.expose-step { min-height: 18rem; padding: clamp(1.35rem,2.3vw,2rem); border: 1px solid rgba(11,11,13,.13); border-radius: 1.4rem; background: rgba(255,255,255,.34); box-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 18px 48px rgba(25,25,22,.08); }
.expose-step > span { display: grid; width: 2.5rem; height: 2.5rem; place-items: center; margin-bottom: 2rem; border: 1px solid rgba(11,11,13,.14); border-radius: 50%; font-size: .68rem; font-weight: 800; }
.expose-step h3 { margin-bottom: .85rem; font-size: clamp(1.55rem,2.15vw,2.15rem); letter-spacing: -.05em; line-height: .98; }
.expose-step > p:last-child { color: #5b5b56; font-size: .9rem; }
.expose-contact { padding-block: clamp(5.5rem,9vw,8.5rem); }
.expose-contact__layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(22rem,1.15fr); align-items: center; gap: clamp(3rem,8vw,8rem); }
.expose-contact h2 { margin: 0; font-size: clamp(3rem,5vw,5rem); letter-spacing: -.07em; line-height: .9; }
.expose-contact h2 + p { max-width: 31rem; margin: 1.5rem 0 0; color: rgba(243,242,238,.62); }
.expose-contact__actions { display: grid; gap: .7rem; }

@media (max-width: 980px) {
  .site-header,
  .site-header.is-scrolled { width: calc(100% - 1rem); padding: .3rem .35rem .3rem .95rem; }
  .primary-nav { position: absolute; top: calc(100% + .55rem); right: 0; left: 0; }
  .gallery-story__inner { grid-template-columns: 1fr; }
  .gallery-story__sticky { position: static; max-width: 35rem; padding-bottom: 1rem; }
  .gallery-story__stack { width: min(100%,35rem); gap: 2rem; padding: 0; }
  .preview-card { position: relative; top: auto !important; justify-self: center; transform: none; }
  .expose-contact__layout { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  :root { --page: calc(100% - 1.2rem); }
  .hero { min-height: 43rem; }
  .hero__content { padding-top: 20rem; padding-bottom: 4.5rem; }
  .hero h1 { font-size: clamp(3.1rem,15vw,4.4rem); }
  .service,
  .gallery-story,
  .gallery,
  .faq { padding-block: 4.75rem; }
  .section-heading h2,
  .gallery-story h2,
  .gallery__heading h2 { font-size: clamp(2.8rem,12.5vw,4rem); }
  .process-card__visual { height: 16rem; }
  .process-card__body { min-height: 12rem; }
  .filters { position: relative; top: auto; width: 100%; padding: .72rem; }
  .category-filter { margin-inline: -.72rem; padding-inline: .72rem; }
  .filter-chip { padding: .42rem .64rem; }
  .filters__controls { gap: .55rem; }
  .faq__layout { width: calc(100% - 1.2rem); }
  .faq__heading h2 { font-size: clamp(2.45rem,11.5vw,3.2rem); white-space: normal; }
  .accordion__item button { min-height: 4.75rem; padding: 1rem; }
  .accordion__panel p,
  .accordion__item.is-open .accordion__panel p { padding: 0 3.75rem 1.2rem 1rem; }
  .sfa-site-footer { padding-top: 4.5rem; }
  .sfa-footer__brand-row { margin-bottom: 3rem; }
  .sfa-footer__brand { width: 10.5rem; height: 3.2rem; }
  .sfa-footer__brand .sfa-brand__editorial { min-height: 2.8rem; font-size: 1.2rem; }
  .sfa-footer__brand .sfa-brand__divider { height: .86rem; }
  .sfa-footer__brand .sfa-brand__lab { font-size: .7rem; }
  .sfa-footer__grid { grid-template-columns: 1fr; gap: 3rem; }
  .sfa-footer__glass-link,
  .sfa-footer__info-card { min-height: 3.75rem; padding: .78rem .9rem; border-radius: 1rem; }
  .sfa-footer__bottom { align-items: flex-start; flex-direction: column; }
  .sfa-footer__bottom p span { display: none; }
  .expose-hero { min-height: 43rem; }
  .expose-hero__media { background-position: 64% top; }
  .expose-hero__veil { background: linear-gradient(180deg,rgba(5,5,6,.08),rgba(5,5,6,.22) 31%,rgba(5,5,6,.92) 54%,#050506 72%); }
  .expose-hero__content { align-self: end; padding-block: 20rem 4.5rem; }
  .expose-hero h1 { font-size: clamp(3rem,14vw,4.25rem); }
  .expose-process,
  .expose-contact { padding-block: 4.75rem; }
  .expose-steps { grid-template-columns: 1fr; }
  .expose-step { min-height: 15rem; }
  .expose-contact h2 { font-size: clamp(2.8rem,12.5vw,4rem); }
}

/* Gallery split, unified metallic typography and finite sticky handoff. */
.hero h1 em,
.section-heading h2 span,
.gallery__heading h1 em,
.gallery__heading h2 em,
.contact__intro h2 em,
.faq__heading h2 span,
.expose-hero h1 em,
.expose-contact h2 span {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
  letter-spacing: inherit;
}

.gallery__heading h1 {
  margin: 0;
  font-size: clamp(3.2rem, 6.4vw, 6.6rem);
  font-weight: 680;
  letter-spacing: -.072em;
  line-height: .88;
}

.gallery__heading h1 em {
  display: inline-block;
  padding: .025em .055em .12em .015em;
  margin-block-end: -.12em;
  background:
    radial-gradient(ellipse at 36% 2%, rgba(255,255,255,.96) 0%, rgba(255,244,188,.42) 18%, transparent 42%),
    linear-gradient(180deg, #f9dc6b 0%, #dfb72f 27%, #a87907 50%, #f0ca45 70%, #b88b12 100%);
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 -1px 0 rgba(255,247,204,.72)) drop-shadow(0 2px 0 rgba(91,62,0,.66)) drop-shadow(0 8px 13px rgba(124,91,9,.2));
  text-shadow: none;
}

.gallery-page .gallery {
  min-height: 100svh;
  padding-top: clamp(8.5rem, 11vw, 10rem);
}

.gallery-page .gallery__heading {
  margin-bottom: clamp(2.4rem, 4.5vw, 3.75rem);
}

.gallery-page .filters { width: min(100%, 62rem); }

.gallery-story__stack {
  display: grid;
  gap: clamp(9rem, 22svh, 13rem);
  padding: 0;
}

.preview-card {
  position: sticky;
  top: 6.7rem;
  width: min(100%, 36rem);
  aspect-ratio: 16 / 9;
  justify-self: end;
}

.preview-card--two { top: 7.4rem; }
.preview-card--three { top: 8.1rem; }

.faq__heading h2 { white-space: nowrap; }
.art-card__body h2 { margin-bottom: .45rem; font-size: clamp(1.35rem, 2vw, 2.05rem); letter-spacing: -.055em; line-height: .98; }
.sfa-footer__brand { width: 15.5rem; }

@media (max-width: 980px) {
  .gallery-story__stack {
    display: grid;
    width: min(100%, 40rem);
    gap: clamp(10rem, 31svh, 15rem);
    padding: 0;
  }

  .preview-card {
    position: sticky;
    top: 5.2rem !important;
    width: 100%;
    aspect-ratio: 16 / 9;
    justify-self: center;
    transform: none;
  }

  .preview-card--two { top: 5.8rem !important; }
  .preview-card--three { top: 6.4rem !important; }
}

@media (max-width: 700px) {
  .gallery__heading h1 { font-size: clamp(2.8rem, 12.5vw, 4rem); }
  .gallery-page .gallery { padding-top: 7.5rem; }
  .gallery-story__stack { gap: clamp(8rem, 27svh, 12rem); }
  .preview-card { top: 5rem !important; border-radius: 1.25rem; }
  .preview-card--two { top: 5.55rem !important; }
  .preview-card--three { top: 6.1rem !important; }
  .faq__heading h2 { font-size: clamp(2.2rem, 10.8vw, 3rem); white-space: normal; }
  .sfa-footer__brand { width: 13rem; }
}

/* L'idea: the sticky narrative now belongs to the service section. */
.idea__layout {
  display: grid;
  grid-template-columns: minmax(18rem, .72fr) minmax(28rem, 1fr);
  align-items: start;
  gap: clamp(3rem, 7vw, 7rem);
}

.idea__copy {
  position: sticky;
  top: 6.7rem;
  max-width: 36rem;
}

.idea__copy > .eyebrow { margin-bottom: 1.25rem; }
.idea__copy .section-heading__copy { margin-top: 2rem; padding-bottom: 0; }
.idea__copy .section-heading__copy p + p { margin-top: .8rem; }

.idea__stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(9rem, 23svh, 13rem);
}

.idea .process-card {
  position: sticky;
  top: 6.7rem;
  display: grid;
  grid-template-columns: minmax(13rem, .88fr) minmax(16rem, 1.12fr);
  width: min(100%, 42rem);
  min-height: 21rem;
  justify-self: end;
  background: rgba(255,255,255,.76);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 1.8rem 4.2rem rgba(27,27,24,.12);
}

.idea .process-card:nth-child(2) { top: 7.45rem; }
.idea .process-card:nth-child(3) { top: 8.2rem; }
.idea .process-card__visual { height: 100%; min-height: 21rem; }
.idea .process-card__body { align-self: center; min-height: auto; }
.idea .process-card:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.96), 0 2rem 4.8rem rgba(27,27,24,.16); transform: translateY(-.18rem) scale(1.008); }

/* Gallery: timed image rotator, modeled on the live stampafineart.com sequence. */
.gallery-rotation {
  position: relative;
  min-height: clamp(43rem, 82svh, 56rem);
  display: grid;
  align-items: center;
  overflow: hidden;
}

.gallery-rotation::before {
  position: absolute;
  width: min(38rem, 72vw);
  aspect-ratio: 1;
  right: 5%;
  top: 50%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(202,162,40,.13), rgba(202,162,40,.035) 42%, transparent 70%);
  content: "";
  filter: blur(30px);
  pointer-events: none;
  transform: translateY(-50%);
}

.gallery-rotation .gallery-story__inner {
  position: relative;
  grid-template-columns: minmax(18rem, .78fr) minmax(27rem, 1fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 8rem);
}

.gallery-story__copy { max-width: 35rem; }
.gallery-story__copy > p:not(.eyebrow) { max-width: 31rem; margin: 1.5rem 0 0; color: rgba(243,242,238,.64); }

.gallery-rotation__stage {
  position: relative;
  width: min(100%, 33rem);
  aspect-ratio: 1;
  justify-self: end;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: clamp(1.45rem, 3vw, 2.15rem);
  background: #111;
  box-shadow: 0 2rem 5rem rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.12);
  isolation: isolate;
}

.gallery-rotation-card {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  border-radius: inherit;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0,0,0) scale(.94);
  transform-origin: 50% 50%;
  backface-visibility: hidden;
  contain: layout paint;
}

.gallery-rotation-card::after {
  position: absolute;
  z-index: 1;
  inset: 45% 0 0;
  background: linear-gradient(180deg, transparent, rgba(4,4,5,.68));
  content: "";
  pointer-events: none;
}

.gallery-rotation-card.is-active {
  z-index: 2;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0,0,0) scale(1);
}

.gallery-rotation-card.is-leaving {
  z-index: 2;
  visibility: visible;
  pointer-events: none;
  will-change: transform, opacity;
  animation: gallery-card-out 1650ms cubic-bezier(.45,0,.2,1) both;
}

.gallery-rotation-card.is-entering {
  z-index: 3;
  visibility: visible;
  pointer-events: auto;
  will-change: transform, opacity;
  animation: gallery-card-in 1650ms cubic-bezier(.16,1,.3,1) both;
}

.gallery-rotation-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(12px);
  transform: translate3d(0,0,0) scale(1.055);
  backface-visibility: hidden;
}

.gallery-rotation__stage.is-playing .gallery-rotation-card { will-change: transform, opacity; }
.gallery-rotation__stage.is-playing .gallery-rotation-card__image { will-change: transform, filter; }
.gallery-rotation-card.is-active .gallery-rotation-card__image { filter: blur(0); transform: translate3d(0,0,0) scale(1.015); }
.gallery-rotation-card.is-entering .gallery-rotation-card__image { animation: gallery-image-in 1650ms cubic-bezier(.16,1,.3,1) both; }
.gallery-rotation-card.is-leaving .gallery-rotation-card__image { animation: gallery-image-out 1650ms cubic-bezier(.45,0,.2,1) both; }

.gallery-rotation-card__author {
  position: absolute;
  z-index: 4;
  top: clamp(.9rem, 2.4vw, 1.3rem);
  right: clamp(.9rem, 2.4vw, 1.3rem);
  width: clamp(3.4rem, 7vw, 4.35rem);
  aspect-ratio: 1;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,.84);
  border-radius: 50%;
  object-fit: cover;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 0 0 .28rem rgba(20,20,22,.22), 0 12px 28px rgba(0,0,0,.3);
}

.gallery-rotation__cta {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: clamp(1rem, 3vw, 1.5rem);
  min-width: min(12.5rem, calc(100% - 2rem));
  min-height: 3.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .9rem;
  padding: .78rem 1.2rem;
  border: 1px solid rgba(255,255,255,.36);
  border-radius: 999px;
  background: radial-gradient(circle at 20% -40%,rgba(255,255,255,.34),transparent 52%),linear-gradient(132deg,rgba(255,255,255,.17),rgba(255,255,255,.055) 62%,rgba(255,255,255,.12)),rgba(27,27,31,.82);
  color: #fffdf8;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.46), inset 0 -1px 0 rgba(255,255,255,.08), 0 13px 34px rgba(0,0,0,.24);
  backdrop-filter: blur(24px) saturate(175%);
  font-size: .88rem;
  font-weight: 750;
  white-space: nowrap;
  text-shadow: 0 1px 5px rgba(0,0,0,.68);
  transform: translateX(-50%) scale(1);
  transition: transform 560ms var(--motion-ramp), border-color 420ms ease, background 520ms ease, box-shadow 520ms var(--motion-ramp);
}

.gallery-rotation__cta:hover,
.gallery-rotation__cta:focus-visible {
  border-color: rgba(255,255,255,.54);
  background: radial-gradient(circle at 24% -34%,rgba(255,255,255,.42),transparent 52%),linear-gradient(132deg,rgba(255,255,255,.22),rgba(255,255,255,.075) 62%,rgba(255,255,255,.15)),rgba(32,32,37,.9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.58), 0 17px 42px rgba(0,0,0,.3);
  transform: translateX(-50%) scale(1.025);
}

@keyframes gallery-card-in {
  0% { opacity: 0; transform: translate3d(0,0,0) scale(.92); }
  48% { opacity: 1; transform: translate3d(0,0,0) scale(1.022); }
  72% { transform: translate3d(0,0,0) scale(.993); }
  100% { opacity: 1; transform: translate3d(0,0,0) scale(1); }
}

@keyframes gallery-card-out {
  0% { opacity: 1; transform: translate3d(0,0,0) scale(1); }
  58% { opacity: .46; transform: translate3d(0,0,0) scale(.995); }
  100% { opacity: 0; transform: translate3d(0,0,0) scale(.985); }
}

@keyframes gallery-image-in {
  0% { filter: blur(12px); transform: translate3d(0,0,0) scale(1.055); }
  62% { filter: blur(.8px); }
  100% { filter: blur(0); transform: translate3d(0,0,0) scale(1.015); }
}

@keyframes gallery-image-out {
  0% { filter: blur(0); transform: translate3d(0,0,0) scale(1.015); }
  100% { filter: blur(11px); transform: translate3d(0,0,0) scale(1.035); }
}

/* Footer pointer halo: the light follows the cursor inside every glass box. */
.sfa-footer__glass-link[data-liquid]::after,
.sfa-footer__info-card[data-liquid]::after {
  background: radial-gradient(circle at var(--shine-x) var(--shine-y), rgba(255,255,255,.72) 0, rgba(255,255,255,.25) 8%, rgba(255,255,255,.08) 20%, transparent 42%);
  mix-blend-mode: screen;
  opacity: 0;
  transition: opacity 360ms ease;
}

.sfa-footer__glass-link[data-liquid]:hover::after,
.sfa-footer__glass-link[data-liquid]:focus-visible::after,
.sfa-footer__info-card[data-liquid]:hover::after,
.sfa-footer__info-card[data-liquid]:focus-within::after { opacity: .92; }

@media (max-width: 980px) {
  .primary-nav { right: -.35rem; left: -.35rem; width: auto; grid-template-columns: 1fr; justify-content: stretch; gap: .75rem; padding: 1rem; }
  .primary-nav a { width: 100%; min-height: 3.55rem; }

  .idea__layout { grid-template-columns: 1fr; }
  .idea__copy { position: static; max-width: 40rem; }
  .idea__stack { width: min(100%, 40rem); margin-inline: auto; gap: clamp(10rem, 31svh, 15rem); }
  .idea .process-card { position: sticky; top: 5.2rem; display: block; width: 100%; min-height: 0; justify-self: center; transform: none; }
  .idea .process-card:nth-child(2) { top: 5.8rem; }
  .idea .process-card:nth-child(3) { top: 6.4rem; }
  .idea .process-card__visual { height: 13.5rem; min-height: 0; }
  .idea .process-card__body { min-height: 11.5rem; }

  .gallery-rotation .gallery-story__inner { grid-template-columns: 1fr; }
  .gallery-story__copy { max-width: 38rem; }
  .gallery-rotation__stage { width: min(100%, 36rem); justify-self: center; }
}

@media (max-width: 700px) {
  .idea__stack { gap: clamp(8rem, 28svh, 12rem); }
  .idea .process-card { top: 5rem; border-radius: 1.25rem; }
  .idea .process-card:nth-child(2) { top: 5.55rem; }
  .idea .process-card:nth-child(3) { top: 6.1rem; }
  .idea .process-card__visual { height: 12rem; }
  .idea .process-card__body { min-height: 10.75rem; }
  .gallery-rotation { min-height: auto; }
  .gallery-rotation .gallery-story__inner { gap: 3.25rem; }
  .gallery-rotation__stage { width: 100%; border-radius: 1.35rem; }
  .gallery-rotation-card__author { width: 3.5rem; }
  .gallery-rotation__cta { min-width: min(12rem,calc(100% - 2rem)); }
}

@media (prefers-reduced-motion: reduce) {
  .gallery-rotation-card.is-entering,
  .gallery-rotation-card.is-leaving,
  .gallery-rotation-card.is-entering .gallery-rotation-card__image,
  .gallery-rotation-card.is-leaving .gallery-rotation-card__image { animation: none; }
}

/* Gallery page: first viewport and single-line filter console. */
.gallery-page .gallery {
  min-height: 100svh;
  padding-top: clamp(7rem, 8.5vw, 8.5rem);
}

.gallery-page .gallery__heading {
  max-width: none;
  margin-bottom: clamp(1.5rem, 2.8vw, 2.25rem);
}

.gallery-page .gallery__heading h1 {
  max-width: none;
  font-size: clamp(3.4rem, 5.75vw, 5.75rem);
  line-height: .92;
  white-space: nowrap;
}

.gallery-page .filters {
  position: relative;
  top: auto;
  width: 100%;
  margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
  padding: .72rem .78rem;
  border-radius: 1.15rem;
}

.filters__row {
  display: flex;
  align-items: end;
  gap: .65rem;
  min-width: 0;
}

.gallery-page .category-filter {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: .32rem;
  padding: 0;
  overflow-x: auto;
  border: 0;
  scrollbar-width: none;
}

.gallery-page .category-filter::-webkit-scrollbar { display: none; }
.gallery-page .filter-chip { flex: 0 0 auto; padding: .48rem .68rem; font-size: .64rem; }

.gallery-page .filter-field {
  display: grid;
  gap: .22rem;
  min-width: 0;
}

.gallery-page .filter-field--artist { flex: 0 0 11.5rem; }
.gallery-page .filter-field--range { flex: 1 1 13rem; min-width: 11rem; max-width: 20rem; }
.gallery-page .filter-field > span { font-size: .53rem; letter-spacing: .075em; white-space: nowrap; }
.gallery-page .filter-field select { min-height: 2.25rem; padding-block: .35rem; border-radius: .65rem; font-size: .69rem; }
.gallery-page .filter-field input[type="range"] { min-height: .75rem; margin: 0; }

.gallery-page .filters__reset {
  flex: 0 0 auto;
  align-self: end;
  min-height: 2.25rem;
  padding: .35rem .55rem;
  border: 1px solid rgba(11,11,13,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.2);
  text-decoration: none;
  white-space: nowrap;
}

.gallery-page .filters__results {
  flex: 0 0 auto;
  align-self: end;
  min-height: 2.25rem;
  display: flex;
  align-items: center;
  gap: .25rem;
  margin: 0;
  white-space: nowrap;
}

/* The animated preview stays compact in both landscape and portrait viewports. */
.gallery-rotation {
  min-height: clamp(34rem, 68svh, 44rem);
  padding-block: clamp(5.25rem, 7vw, 7rem);
}

.gallery-rotation .gallery-story__inner { grid-template-columns: minmax(18rem,.82fr) minmax(25rem,1fr); gap: clamp(3rem,7vw,7rem); }
.gallery-rotation__stage { width: min(100%,34rem); aspect-ratio: 16 / 9; border-radius: clamp(1.25rem,2.2vw,1.8rem); }
.gallery-rotation-card__author { width: clamp(3.15rem,5.5vw,4rem); }
.gallery-rotation__cta { min-height: 3.1rem; bottom: clamp(.8rem,2vw,1.2rem); }

@media (max-width: 1180px) {
  .filters__row { display: grid; grid-template-columns: minmax(0,1fr) 10.5rem minmax(11rem,15rem) auto auto; }
  .gallery-page .category-filter { min-width: 0; }
  .gallery-page .filter-field--artist,
  .gallery-page .filter-field--range { width: auto; min-width: 0; max-width: none; }
}

@media (max-width: 760px) {
  .gallery-page .gallery { padding-top: 6.75rem; }
  .gallery-page .gallery__heading { margin-bottom: 1.4rem; }
  .gallery-page .gallery__heading h1 { font-size: clamp(2.55rem,11.6vw,3.55rem); line-height: .94; white-space: normal; }
  .gallery-page .filters { padding: .62rem; border-radius: 1rem; }
  .filters__row { grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: .58rem; }
  .gallery-page .category-filter { grid-column: 1 / -1; margin-inline: -.62rem; padding-inline: .62rem; }
  .gallery-page .filter-field--artist,
  .gallery-page .filter-field--range { grid-row: 2; }
  .gallery-page .filters__reset { grid-column: 1; grid-row: 3; justify-self: start; align-self: center; min-height: 2rem; }
  .gallery-page .filters__results { grid-column: 2; grid-row: 3; justify-self: end; align-self: center; min-height: 2rem; }
  .gallery-page .filter-field > span { font-size: .5rem; }
  .gallery-page .filter-field select { min-height: 2.15rem; padding-inline: .62rem 1.6rem; }

  .gallery-rotation { min-height: auto; padding-block: 4.5rem; }
  .gallery-rotation .gallery-story__inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .gallery-rotation__stage { width: min(100%,28rem); aspect-ratio: 16 / 9; }
  .gallery-rotation__cta { min-width: min(11.25rem,calc(100% - 1.5rem)); min-height: 2.85rem; bottom: .7rem; font-size: .8rem; }
  .gallery-rotation-card__author { top: .75rem; right: .75rem; width: 3.15rem; }
}

/* =========================================================
   Reference alignment v1 — stampafineart.com motion language
   ========================================================= */

/* Metallic titles use the same material maps as the laboratory site. */
.hero h1 em,
.section-heading h2 span,
.gallery__heading h1 em,
.gallery__heading h2 em,
.contact__intro h2 em {
  padding: .025em .055em .12em .015em;
  background: linear-gradient(155deg,
    #fffbea 0%,
    #f7dc78 16%,
    #c7961c 34%,
    #855800 48%,
    #e4b83d 61%,
    #d4a52d 74%,
    #7c4d00 100%);
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter:
    drop-shadow(0 -.02em 0 rgba(255,249,211,.78))
    drop-shadow(0 .09em .16em rgba(157,104,0,.30));
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
  text-shadow: none;
}

.gallery-story h2 span,
.faq__heading h2 span {
  background:
    radial-gradient(at 38% 1%, #fff 0%, rgba(255,255,255,.42) 19%, transparent 43%),
    linear-gradient(#fff 0%, #eef1f4 25%, #abb2bb 47%, #747b84 53%, #f0f2f5 70%, #b3b9c1 100%);
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter:
    drop-shadow(0 -1px 0 rgba(255,255,255,.72))
    drop-shadow(0 2px 0 rgba(55,59,65,.76))
    drop-shadow(0 5px 7px rgba(0,0,0,.62))
    drop-shadow(0 12px 28px rgba(214,224,236,.17));
  font-family: inherit;
  font-style: normal;
}

/* The reference uses a separate cursor-following bloom above the material. */
.sfa-pointer-light {
  --sfa-pointer-x: 50%;
  --sfa-pointer-y: 50%;
  --sfa-pointer-size: 9rem;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.sfa-pointer-light__glow {
  position: absolute !important;
  z-index: 0 !important;
  top: var(--sfa-pointer-y);
  left: var(--sfa-pointer-x);
  width: var(--sfa-pointer-size);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.34) 0%, rgba(255,255,255,.16) 25%, rgba(255,255,255,.055) 48%, transparent 72%);
  filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transform: translate3d(-50%,-50%,0) scale(.82);
  transition: opacity 320ms ease, transform 520ms var(--motion-out);
  will-change: top, left, opacity, transform;
}

.sfa-pointer-light.is-pointer-lit > .sfa-pointer-light__glow {
  opacity: 1;
  transform: translate3d(-50%,-50%,0) scale(1);
}

.sfa-pointer-light > :not(.sfa-pointer-light__glow) { z-index: 1; }
.site-header.sfa-pointer-light { --sfa-pointer-size: clamp(13rem,19vw,20rem); overflow: visible; }
.site-header.sfa-pointer-light > .sfa-pointer-light__glow,
.site-header.sfa-pointer-light.is-pointer-lit > .sfa-pointer-light__glow {
  width: auto;
  aspect-ratio: auto;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(circle var(--sfa-pointer-size) at var(--sfa-pointer-x) var(--sfa-pointer-y), rgba(255,255,255,.28) 0%, rgba(255,255,255,.12) 22%, rgba(255,255,255,.04) 42%, transparent 66%);
  filter: none;
  transform: none;
}
.accordion__item.sfa-pointer-light { --sfa-pointer-size: clamp(12rem,22vw,17rem); }
.primary-nav a.sfa-pointer-light { --sfa-pointer-size: 6.5rem; }

/* Same press, release and highlight cadence used by the reference controls. */
.button,
.header-cta,
.gallery-rotation__cta,
.primary-nav a {
  transition:
    color .38s var(--motion-ramp),
    border-color .38s var(--motion-ramp),
    background .42s var(--motion-ramp),
    box-shadow .42s var(--motion-ramp),
    transform .42s var(--motion-ramp);
}

.button--gold,
.header-cta {
  background:
    radial-gradient(circle at 84% -18%, rgba(255,255,255,.48), transparent 30%),
    radial-gradient(circle at 82% 112%, rgba(255,218,94,.38), transparent 46%),
    linear-gradient(138deg, rgba(232,191,66,.94) 0%, rgba(202,162,40,.82) 52%, rgba(143,96,5,.88) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    inset 1px 0 0 rgba(255,244,193,.4),
    inset 0 -1px 0 rgba(92,54,0,.35),
    0 10px 30px rgba(138,91,0,.24),
    0 0 26px rgba(224,183,55,.18);
}

.button--gold:hover,
.button--gold:focus-visible,
.header-cta:hover,
.header-cta:focus-visible {
  background:
    radial-gradient(circle at 76% -18%, rgba(255,255,255,.86), transparent 36%),
    linear-gradient(318deg, rgba(242,205,94,.94), rgba(197,153,29,.8) 54%, rgba(134,89,3,.9));
  transform: scale(1.035);
}

.button--glass,
.gallery-rotation__cta {
  background:
    radial-gradient(circle at 18% -35%, rgba(255,255,255,.28), transparent 52%),
    linear-gradient(132deg, rgba(255,255,255,.14), rgba(255,255,255,.043) 62%, rgba(255,255,255,.1)),
    rgba(34,34,39,.78);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.34),
    inset 0 -1px 0 rgba(255,255,255,.06),
    0 10px 28px rgba(0,0,0,.18);
}

/* Native sticky stack with progressive cover and a clean final handoff. */
.idea__stack {
  --idea-sticky-top: clamp(6.7rem,14vh,8.5rem);
  display: block;
}

.idea__stack::after {
  display: block;
  height: calc(var(--idea-sticky-top) + 1rem);
  content: "";
}

.idea .process-card,
.idea .process-card:nth-child(2),
.idea .process-card:nth-child(3) {
  --sfa-cover-progress: 0;
  position: sticky;
  top: var(--idea-sticky-top);
  height: min(calc(100svh - 10rem),38rem);
  min-height: 27rem;
  margin: 0 0 20svh;
  filter:
    blur(calc(var(--sfa-cover-progress) * 7px))
    brightness(calc(1 - (var(--sfa-cover-progress) * .18)))
    saturate(calc(1 - (var(--sfa-cover-progress) * .24)));
  opacity: calc(1 - (var(--sfa-cover-progress) * .2));
  transform: scale(calc(1 - (var(--sfa-cover-progress) * .012))) translateZ(0);
  transform-origin: center;
  transition: filter 90ms linear, opacity 90ms linear, transform 90ms linear, box-shadow .52s var(--motion-out);
  will-change: filter, opacity, transform;
}

.idea .process-card:last-child { margin-bottom: 0; }
.idea .process-card:nth-child(1) { z-index: 1; }
.idea .process-card:nth-child(2) { z-index: 2; }
.idea .process-card:nth-child(3) { z-index: 3; }
.idea .process-card.is-fully-covered { opacity: 0; pointer-events: none; }
.idea .process-card__visual { min-height: 100%; }
.idea .process-card__visual > span { opacity: calc(1 - var(--sfa-cover-progress)); transition: opacity 140ms linear; }
.idea .process-card:hover { transform: scale(calc(1 - (var(--sfa-cover-progress) * .012))) translateZ(0); }

@media (max-width: 980px) {
  .idea__stack { --idea-sticky-top: 5.2rem; display: block; }
  .idea .process-card,
  .idea .process-card:nth-child(2),
  .idea .process-card:nth-child(3) {
    top: var(--idea-sticky-top);
    height: min(77svh,41rem);
    min-height: 25rem;
    margin-bottom: 16svh;
  }
  .idea .process-card:last-child { margin-bottom: 0; }
  .idea .process-card__visual { min-height: 12rem; }
}

@media (prefers-reduced-motion: reduce) {
  .sfa-pointer-light__glow { display: none; }
  .idea .process-card { --sfa-cover-progress: 0 !important; filter: none; opacity: 1; transform: none; }
}

/* =========================================================
   Stampa Fine Art Gallery — daylight palette
   A warm, inverted counterpart to the black .com identity.
   ========================================================= */
.landing-page,
.gallery-page {
  --art-ivory: #f4f1e6;
  --art-ivory-soft: #ebe7db;
  --art-ivory-deep: #dcd7ca;
  --art-graphite: #171719;
  --art-graphite-soft: #292a2d;
  --art-silver: #656a70;
  --art-silver-deep: #44484e;
  --art-copy: #555651;
  --art-gold: #a77a08;
  --art-gold-light: #d6ad2b;
  background:
    radial-gradient(circle at 82% 2%, rgba(255,255,255,.82), transparent 31rem),
    var(--art-ivory);
  color: var(--art-graphite);
}

.landing-page ::selection,
.gallery-page ::selection { background: var(--art-graphite); color: var(--art-ivory); }

.landing-page .section--paper,
.gallery-page .section--paper {
  background:
    radial-gradient(circle at 8% 4%, rgba(255,255,255,.68), transparent 32rem),
    linear-gradient(145deg, var(--art-ivory) 0%, var(--art-ivory-soft) 100%);
  color: var(--art-graphite);
}

.landing-page .section--dark,
.gallery-page .section--dark {
  background:
    radial-gradient(circle at 88% 14%, rgba(255,255,255,.72), transparent 30rem),
    linear-gradient(155deg, #f7f5ec 0%, #e7e3d7 100%);
  color: var(--art-graphite);
}

/* Light liquid navbar with graphite navigation. */
.landing-page .site-header,
.landing-page .site-header.is-scrolled,
.gallery-page .site-header,
.gallery-page .site-header.is-scrolled {
  border-color: rgba(31,31,33,.19);
  background:
    linear-gradient(128deg, rgba(255,255,255,.78), rgba(255,255,255,.28) 38%, rgba(126,127,126,.13) 100%),
    rgba(235,232,221,.74);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    inset 1px 0 0 rgba(255,255,255,.46),
    inset 0 -1px 0 rgba(31,31,33,.07),
    0 18px 54px rgba(45,43,36,.16);
  backdrop-filter: blur(28px) saturate(135%);
}

.landing-page .site-header.is-scrolled,
.gallery-page .site-header.is-scrolled {
  background-color: rgba(239,236,226,.9);
  box-shadow: inset 0 1px 0 #fff, 0 14px 42px rgba(45,43,36,.2);
}

.landing-page .brand__divider,
.gallery-page .brand__divider { background: rgba(23,23,25,.3); }
.landing-page .brand__name,
.gallery-page .brand__name { color: var(--art-graphite); }
.landing-page .primary-nav a,
.gallery-page .primary-nav a { color: rgba(23,23,25,.68); }
.landing-page .primary-nav a:hover,
.landing-page .primary-nav a:focus-visible,
.gallery-page .primary-nav a:hover,
.gallery-page .primary-nav a:focus-visible {
  border-color: rgba(23,23,25,.16);
  background: linear-gradient(135deg, rgba(255,255,255,.82), rgba(86,89,94,.1));
  box-shadow: inset 0 1px 0 #fff, 0 8px 22px rgba(45,43,36,.12);
  color: var(--art-graphite);
}

.landing-page .site-header.sfa-pointer-light > .sfa-pointer-light__glow,
.landing-page .site-header.sfa-pointer-light.is-pointer-lit > .sfa-pointer-light__glow,
.gallery-page .site-header.sfa-pointer-light > .sfa-pointer-light__glow,
.gallery-page .site-header.sfa-pointer-light.is-pointer-lit > .sfa-pointer-light__glow {
  background: radial-gradient(circle var(--sfa-pointer-size) at var(--sfa-pointer-x) var(--sfa-pointer-y), rgba(255,255,255,.86) 0%, rgba(82,85,90,.14) 25%, rgba(82,85,90,.04) 46%, transparent 68%);
}

/* A bright photographic hero, with the image emerging from an ivory wash. */
.landing-page .hero {
  background: var(--art-ivory);
  color: var(--art-graphite);
}

.landing-page .hero__media {
  background-color: var(--art-ivory-deep);
  filter: brightness(1.08) contrast(.88) saturate(.62);
}

.landing-page .hero__veil {
  background:
    linear-gradient(90deg, rgba(244,241,230,.88) 0%, rgba(244,241,230,.70) 27%, rgba(244,241,230,.34) 49%, rgba(244,241,230,.04) 76%),
    linear-gradient(180deg, rgba(244,241,230,.18) 0%, transparent 58%, rgba(244,241,230,.68) 100%);
}

.landing-page .hero__copy { color: rgba(23,23,25,.67); }
.landing-page .scroll-cue { border-color: rgba(23,23,25,.28); background: rgba(255,255,255,.28); }
.landing-page .scroll-cue span { border-color: var(--art-graphite); }
.landing-page .service::before { background: linear-gradient(180deg, rgba(244,241,230,0), var(--art-ivory)); }

/* Light controls; gold remains the family link with the .com. */
.landing-page .button--glass,
.gallery-page .button--glass {
  border-color: rgba(35,36,39,.24);
  background:
    radial-gradient(circle at 18% -35%, rgba(255,255,255,.96), transparent 52%),
    linear-gradient(132deg, rgba(255,255,255,.66), rgba(99,103,109,.12) 62%, rgba(255,255,255,.34)),
    rgba(218,216,209,.78);
  box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 rgba(35,36,39,.08), 0 12px 28px rgba(55,53,46,.14);
  color: var(--art-graphite);
}

.landing-page .button--glass:hover,
.landing-page .button--glass:focus-visible,
.gallery-page .button--glass:hover,
.gallery-page .button--glass:focus-visible {
  border-color: rgba(35,36,39,.36);
  background: linear-gradient(132deg, #fff, rgba(103,106,111,.18)), rgba(224,222,214,.94);
  box-shadow: inset 0 1px 0 #fff, 0 16px 34px rgba(55,53,46,.2);
  color: #080809;
}

/* Darker silver typography for stronger contrast on the light canvas. */
.landing-page .gallery-story h2 span,
.landing-page .faq__heading h2 span,
.gallery-page .gallery-story h2 span,
.gallery-page .faq__heading h2 span {
  background:
    radial-gradient(at 38% 1%, rgba(255,255,255,.9) 0%, rgba(255,255,255,.24) 18%, transparent 42%),
    linear-gradient(#f6f6f3 0%, #b8bcc0 23%, #70757b 46%, #3f4349 55%, #979ca1 72%, #53585f 100%);
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter:
    drop-shadow(0 -1px 0 rgba(255,255,255,.75))
    drop-shadow(0 2px 0 rgba(42,45,49,.72))
    drop-shadow(0 5px 8px rgba(45,45,42,.24));
}

.landing-page .eyebrow,
.gallery-page .eyebrow,
.landing-page .micro-label,
.gallery-page .micro-label { color: var(--art-gold); }
.landing-page .section-heading__copy,
.gallery-page .section-heading__copy { color: var(--art-copy); }
.landing-page .section-heading__copy strong,
.gallery-page .section-heading__copy strong { color: var(--art-graphite); }

/* Gallery presentation section becomes a bright exhibition wall. */
.landing-page .gallery-rotation {
  background:
    linear-gradient(180deg, #ddd8ca 0, #f4f1e6 5.5rem, #f4f1e6 calc(100% - 5.5rem), #d8d3c6 100%);
}
.landing-page .gallery-rotation::before { background: radial-gradient(circle, rgba(167,122,8,.16), rgba(167,122,8,.04) 42%, transparent 70%); }
.landing-page .gallery-story__copy > p:not(.eyebrow) { color: rgba(23,23,25,.62); }

/* FAQ: light page, smoked-silver liquid cards. */
.landing-page .faq {
  background:
    radial-gradient(circle at 50% 0%, rgba(83,87,93,.12), transparent 35rem),
    linear-gradient(180deg, #f4f1e6, #e5e1d5);
  color: var(--art-graphite);
}
.landing-page .faq::before { background: rgba(167,122,8,.08); }
.landing-page .faq__heading > p:last-child { color: rgba(23,23,25,.58); }
.landing-page .accordion__item {
  background:
    radial-gradient(circle at 12% -45%, rgba(255,255,255,.42), transparent 47%),
    linear-gradient(132deg, rgba(116,119,124,.94), rgba(64,66,71,.92) 58%, rgba(91,94,99,.94));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.48), inset 0 -1px 0 rgba(0,0,0,.14), 0 18px 44px rgba(46,44,38,.18);
  color: #fff;
}
.landing-page .accordion__item:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.58), 0 24px 56px rgba(46,44,38,.25); }
.landing-page .accordion__panel p,
.landing-page .accordion__item.is-open .accordion__panel p { color: rgba(255,255,255,.76); }

/* Gallery page: ivory canvas, dark-silver filter console, pale artwork cards. */
.gallery-page .gallery {
  background:
    radial-gradient(circle at 84% 6%, rgba(255,255,255,.88), transparent 34rem),
    linear-gradient(150deg, #f4f1e6 0%, #e8e4d8 100%);
  color: var(--art-graphite);
}
.gallery-page .gallery__heading h1 { color: var(--art-graphite); }
.gallery-page .filters {
  border-color: rgba(255,255,255,.42);
  background:
    radial-gradient(circle at 10% -35%, rgba(255,255,255,.38), transparent 38%),
    radial-gradient(circle at 92% 130%, rgba(189,148,35,.18), transparent 34%),
    linear-gradient(132deg, rgba(105,108,113,.96), rgba(50,52,56,.94) 62%, rgba(77,80,85,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.56), inset 0 -1px 0 rgba(0,0,0,.16), 0 22px 52px rgba(47,45,39,.22);
  color: #fff;
}
.gallery-page .filter-chip {
  border-color: rgba(255,255,255,.24);
  background: linear-gradient(132deg, rgba(255,255,255,.18), rgba(255,255,255,.055)), rgba(45,47,51,.56);
  color: rgba(255,255,255,.8);
}
.gallery-page .filter-chip:hover,
.gallery-page .filter-chip:focus-visible { border-color: rgba(255,255,255,.48); color: #fff; }
.gallery-page .filter-field > span,
.gallery-page .filters__results { color: rgba(255,255,255,.67); }
.gallery-page .filter-field select {
  border-color: rgba(255,255,255,.24);
  background: linear-gradient(132deg, rgba(255,255,255,.17), rgba(255,255,255,.055)), rgba(43,45,49,.82);
}
.gallery-page .filters__reset {
  border-color: rgba(255,255,255,.28);
  background: rgba(255,255,255,.12);
  color: #f0cb5b;
}
.gallery-page .art-card {
  border-color: rgba(34,34,36,.14);
  background:
    radial-gradient(circle at 12% -30%, #fff, transparent 42%),
    linear-gradient(132deg, rgba(255,255,255,.72), rgba(255,255,255,.22) 58%, rgba(255,255,255,.48)),
    rgba(229,226,216,.78);
  box-shadow: inset 0 1px 0 #fff, 0 18px 48px rgba(48,45,38,.11);
  color: var(--art-graphite);
}
.gallery-page .art-card:hover { box-shadow: inset 0 1px 0 #fff, 0 24px 60px rgba(48,45,38,.18); }
.gallery-page .art-card__body > p { color: var(--art-copy); }
.gallery-page .art-card__purchase { border-color: rgba(23,23,25,.12); }
.gallery-page .art-card__purchase > span { color: var(--art-copy); }

/* Light footer with darker silver information surfaces. */
.landing-page .sfa-site-footer,
.gallery-page .sfa-site-footer {
  border-top-color: rgba(23,23,25,.16);
  background:
    radial-gradient(circle at 90% -12%, rgba(183,140,26,.13), transparent 32rem),
    linear-gradient(180deg, #ddd8cc 0%, #f0ede3 100%);
  color: var(--art-graphite);
}
.landing-page .sfa-site-footer__glow,
.gallery-page .sfa-site-footer__glow { background: rgba(167,122,8,.1); }
.landing-page .sfa-brand__wordmark,
.gallery-page .sfa-brand__wordmark { color: var(--art-graphite); text-shadow: none; }
.landing-page .sfa-footer__brand .sfa-brand__divider,
.gallery-page .sfa-footer__brand .sfa-brand__divider { color: rgba(23,23,25,.55); }
.landing-page .sfa-footer__column h2,
.gallery-page .sfa-footer__column h2 { color: var(--art-graphite); }
.landing-page .sfa-footer__glass-link,
.landing-page .sfa-footer__info-card,
.gallery-page .sfa-footer__glass-link,
.gallery-page .sfa-footer__info-card {
  border-color: rgba(255,255,255,.44);
  background:
    radial-gradient(circle at 10% -42%, rgba(255,255,255,.42), transparent 46%),
    linear-gradient(132deg, rgba(112,115,120,.94), rgba(59,61,65,.91) 62%, rgba(84,87,92,.94));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.52), inset 0 -1px 0 rgba(0,0,0,.14), 0 14px 34px rgba(48,45,38,.14);
  color: #fff;
}
.landing-page .sfa-footer__info-card small,
.gallery-page .sfa-footer__info-card small { color: rgba(255,255,255,.67); }
.landing-page .sfa-footer__bottom,
.gallery-page .sfa-footer__bottom { border-top-color: rgba(23,23,25,.14); color: rgba(23,23,25,.58); }

@media (max-width: 980px) {
  .landing-page .primary-nav,
  .gallery-page .primary-nav {
    border-color: rgba(23,23,25,.17);
    background: linear-gradient(145deg, rgba(255,255,255,.91), rgba(219,216,207,.92));
    box-shadow: inset 0 1px 0 #fff, 0 24px 54px rgba(45,43,36,.2);
  }
  .landing-page .menu-toggle,
  .gallery-page .menu-toggle {
    border-color: rgba(23,23,25,.2);
    background: radial-gradient(circle at 24% -20%, #fff, transparent 48%), linear-gradient(132deg, rgba(255,255,255,.62), rgba(87,90,95,.14)), rgba(220,218,210,.9);
    color: var(--art-graphite);
  }
  .landing-page .menu-toggle span,
  .gallery-page .menu-toggle span { background: var(--art-graphite); }
}

/* =========================================================
   Mobile alignment — stampafineart.com proportions and rhythm
   ========================================================= */

/* The pointer-light utility must never cancel the anchored header. */
.site-header.sfa-pointer-light { position: fixed; }

@media (max-width: 700px) {
  .landing-page,
  .gallery-page { --page: calc(100% - 1.9rem); }

  .landing-page .site-header,
  .landing-page .site-header.is-scrolled,
  .gallery-page .site-header,
  .gallery-page .site-header.is-scrolled {
    top: .5rem;
    width: calc(100% - 2rem);
    min-height: 3.5rem;
    padding: .28rem .3rem .28rem .48rem;
    border-radius: 1.75rem;
  }

  .landing-page .brand,
  .gallery-page .brand { gap: .48rem; }

  .landing-page .brand__mark,
  .gallery-page .brand__mark {
    min-height: 2.25rem;
    padding: .15rem .78rem;
  }

  .landing-page .brand__name,
  .gallery-page .brand__name { font-size: .65rem; }

  .landing-page .menu-toggle,
  .gallery-page .menu-toggle {
    width: 2.45rem;
    min-width: 2.45rem;
    height: 2.45rem;
    min-height: 2.45rem;
    padding: 0;
  }

  .landing-page .primary-nav,
  .gallery-page .primary-nav {
    top: calc(100% + .75rem);
    right: auto;
    left: 50%;
    width: calc(100vw - 3.4rem);
    margin: 0;
    padding: 1rem;
    gap: 1.5rem;
    translate: -50% 0;
    border-radius: 1.5rem;
  }

  .landing-page .primary-nav a,
  .gallery-page .primary-nav a {
    width: 100%;
    min-height: 3.125rem;
    padding: .65rem .9rem;
    border: 1px solid rgba(23,23,25,.17);
    border-radius: 999px;
    font-size: .82rem;
  }

  .landing-page .hero__content {
    padding-top: 24rem;
    padding-bottom: 4rem;
  }

  .landing-page .hero h1 {
    max-width: 6.4ch;
    font-size: clamp(2.85rem, 12.2vw, 3.05rem);
    line-height: .92;
  }

  .landing-page .hero__actions {
    display: flex;
    flex-wrap: nowrap;
    gap: .5rem;
    margin-top: 1.5rem;
  }

  .landing-page .hero__actions .button {
    width: auto;
    min-height: 3.2rem;
    padding: .7rem 1rem;
    gap: .65rem;
    font-size: .73rem;
    white-space: nowrap;
  }

  .landing-page .idea { padding-block: 9rem 5rem; }
  .landing-page .idea__layout { gap: 4rem; }
  .landing-page .idea__copy h2 { font-size: clamp(3rem, 15vw, 4.85rem); }

  .landing-page .idea__stack {
    --idea-sticky-top: 5.4rem;
    width: 100%;
    gap: 0;
  }

  .landing-page .idea .process-card,
  .landing-page .idea .process-card:nth-child(2),
  .landing-page .idea .process-card:nth-child(3) {
    top: var(--idea-sticky-top);
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1.05fr) minmax(0, .95fr);
    height: min(77svh, 41rem);
    min-height: 25rem;
    margin-bottom: 16svh;
    border-radius: 1.35rem;
  }

  .landing-page .idea .process-card:last-child { margin-bottom: 0; }
  .landing-page .idea .process-card__visual { height: auto; min-height: 0; }
  .landing-page .idea .process-card__body { min-height: 0; padding: 1.35rem; }

  .landing-page .gallery-rotation {
    min-height: auto;
    padding-block: 9rem;
  }

  .landing-page .gallery-rotation .gallery-story__inner { gap: 2.4rem; }
  .landing-page .gallery-story__copy > .eyebrow { display: none; }

  .landing-page .gallery-rotation__stage {
    width: calc(100% - .8rem);
    aspect-ratio: 1;
    border-radius: 1.35rem;
  }

  .landing-page .gallery-rotation-card__author {
    top: .8rem;
    right: .8rem;
    width: 3.4rem;
  }

  .landing-page .gallery-rotation__cta {
    min-width: 11.75rem;
    min-height: 3.25rem;
    bottom: 1.2rem;
    padding: .78rem 1.15rem;
    border-color: rgba(255,230,143,.72);
    background:
      radial-gradient(circle at 28% -25%, rgba(255,255,255,.92), transparent 44%),
      linear-gradient(135deg, #e8c75a, #b9850c 72%, #7f5900);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 12px 28px rgba(142,101,6,.3);
    color: #fff;
    font-size: .8rem;
  }

  .landing-page .faq { padding-block: 5.5rem 6.5rem; }
  .landing-page .faq__layout { gap: 2.4rem; }
  .landing-page .faq__heading > p:last-child { display: none; }
  .landing-page .accordion { gap: .75rem; }

  .landing-page .accordion__item h3 > button {
    min-height: 5.125rem;
    padding: 1.15rem 1.15rem 1.15rem 1.25rem;
  }

  .landing-page .accordion__item h3 > button i {
    width: 2.2rem;
    min-width: 2.2rem;
    height: 2.2rem;
  }

  .gallery-page .gallery { padding-top: 7.25rem; }
  .gallery-page .gallery__heading h1 {
    font-size: clamp(2.75rem, 11.8vw, 3.05rem);
    line-height: .94;
  }

  .gallery-page .filter-chip { min-height: 2.5rem; padding: .55rem .72rem; }
  .gallery-page .filter-field select { min-height: 2.75rem; }
  .gallery-page .filters__reset,
  .gallery-page .filters__results { min-height: 2.5rem; }

  .gallery-page .art-card__purchase a {
    min-height: 2.75rem;
    padding: .65rem .9rem;
    font-size: .75rem;
  }
}

@media (hover: none) and (pointer: coarse) {
  .button:active,
  .gallery-rotation__cta:active,
  .primary-nav a:active,
  .filter-chip:active,
  .art-card__purchase a:active {
    transform: scale(.97) !important;
    transition-duration: 120ms !important;
  }
}

/* Fast viewport-fit correction: the complete hero always lives in screen one. */
.landing-page .hero {
  height: 100svh;
  min-height: 100svh;
}

.landing-page .hero__content {
  align-self: center;
  padding-block: clamp(6.4rem, 12svh, 8.25rem) clamp(3rem, 6svh, 4.75rem);
}

.landing-page .hero h1 {
  margin-bottom: clamp(.85rem, 2.2svh, 1.45rem);
  font-size: clamp(3.15rem, min(7.15vw, 11.5svh), 7rem);
}

.landing-page .hero__actions { margin-top: clamp(1rem, 2.8svh, 1.75rem); }

@media (max-width: 980px) {
  .landing-page .menu-toggle,
  .gallery-page .menu-toggle,
  .expose-page .menu-toggle {
    border-color: rgba(31,31,33,.2);
    background:
      radial-gradient(circle at 26% -18%, rgba(255,255,255,.98), transparent 48%),
      linear-gradient(132deg, rgba(255,255,255,.72), rgba(102,105,110,.13)),
      rgba(226,223,214,.94);
    box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 rgba(31,31,33,.08), 0 9px 24px rgba(49,47,41,.16);
    color: #171719;
  }

  .menu-toggle__icon {
    position: relative;
    display: block;
    width: 1.15rem;
    height: .8rem;
  }

  .menu-toggle__icon i {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1.5px;
    border-radius: 999px;
    background: #171719 !important;
    transform-origin: center;
    transition: top 440ms cubic-bezier(.16,1,.3,1), transform 440ms cubic-bezier(.16,1,.3,1);
  }

  .menu-toggle__icon i:first-child { top: .18rem; }
  .menu-toggle__icon i:last-child { top: .58rem; }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon i:first-child { top: calc(50% - .75px); transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-toggle__icon i:last-child { top: calc(50% - .75px); transform: rotate(-45deg); }

  .landing-page .primary-nav::before,
  .gallery-page .primary-nav::before,
  .expose-page .primary-nav::before {
    border-color: rgba(31,31,33,.18);
    background:
      radial-gradient(circle at 12% -12%, rgba(255,255,255,.94), transparent 13rem),
      radial-gradient(circle at 92% 118%, rgba(190,145,28,.12), transparent 15rem),
      linear-gradient(135deg, rgba(255,255,255,.78), rgba(215,212,203,.9) 58%, rgba(239,236,227,.92));
    box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 rgba(31,31,33,.07), 0 24px 58px rgba(49,47,41,.2);
  }

  .landing-page .primary-nav a,
  .gallery-page .primary-nav a,
  .expose-page .primary-nav a {
    border-color: rgba(31,31,33,.17);
    background:
      radial-gradient(circle at 18% -35%, rgba(255,255,255,.98), transparent 52%),
      linear-gradient(132deg, rgba(255,255,255,.68), rgba(99,103,109,.1)),
      rgba(219,217,209,.9);
    box-shadow: inset 0 1px 0 #fff, 0 8px 22px rgba(49,47,41,.12);
    color: #171719;
  }
}

@media (max-width: 700px) {
  .landing-page .hero__content {
    align-self: end;
    padding-top: clamp(5.25rem, 12svh, 6.5rem);
    padding-bottom: clamp(2.25rem, 5.5svh, 3.5rem);
  }

  .landing-page .hero .eyebrow { margin-bottom: clamp(.55rem, 1.7svh, .9rem); }

  .landing-page .hero h1 {
    max-width: 10.5ch;
    margin-bottom: clamp(.65rem, 1.8svh, 1rem);
    font-size: clamp(2.35rem, min(11.2vw, 8.2svh), 2.9rem);
    line-height: .91;
    text-wrap: balance;
  }

  .landing-page .hero__copy {
    max-width: 32rem;
    font-size: clamp(.82rem, min(3.8vw, 2.2svh), .95rem);
    line-height: 1.45;
  }

  .landing-page .hero__actions {
    margin-top: clamp(.85rem, 2.3svh, 1.35rem);
  }

  .landing-page .hero__actions .button {
    min-height: clamp(2.75rem, 6.2svh, 3.2rem);
    padding: .58rem clamp(.78rem, 3.2vw, 1rem);
  }
}

@media (max-width: 980px) {
  .landing-page .menu-toggle .menu-toggle__icon,
  .gallery-page .menu-toggle .menu-toggle__icon,
  .expose-page .menu-toggle .menu-toggle__icon {
    background: transparent !important;
  }

  .landing-page .menu-toggle .menu-toggle__icon i,
  .gallery-page .menu-toggle .menu-toggle__icon i,
  .expose-page .menu-toggle .menu-toggle__icon i {
    display: block;
    background: #171719 !important;
  }
}

/* Final CTA material and continuous Gallery-to-LAB gold field. */
.landing-page .hero__actions .button--glass,
.landing-page .gallery-rotation__cta.sfa-pointer-light {
  border: 1px solid rgba(255,255,255,.52);
  background: radial-gradient(circle at 22% -42%,rgba(255,255,255,.42),transparent 52%),linear-gradient(145deg,rgba(118,119,123,.7),rgba(58,59,63,.76) 68%,rgba(76,77,81,.72));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(0,0,0,.24),0 10px 24px rgba(0,0,0,.18);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
  backdrop-filter: blur(24px) saturate(145%);
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,.55);
}

.landing-page .hero__actions .button--glass:hover,
.landing-page .hero__actions .button--glass:focus-visible,
.landing-page .gallery-rotation__cta.sfa-pointer-light:hover,
.landing-page .gallery-rotation__cta.sfa-pointer-light:focus-visible {
  border-color: rgba(255,255,255,.72);
  background: radial-gradient(circle at 24% -40%,rgba(255,255,255,.5),transparent 52%),linear-gradient(145deg,rgba(132,133,137,.76),rgba(67,68,72,.8) 68%,rgba(86,87,91,.78));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.62),inset 0 -1px 0 rgba(0,0,0,.25),0 14px 30px rgba(0,0,0,.22);
  color: #fff;
}

.landing-page .gallery-rotation__cta > .sfa-pointer-light__glow,
.landing-page .hero__actions .button--glass > .sfa-pointer-light__glow { background: radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,.055) 34%,transparent 68%); }

.landing-page .gallery-rotation {
  background: radial-gradient(circle at 82% 50%,rgba(255,240,170,.34),transparent 30rem),linear-gradient(180deg,#ebe7db 0%,#ebe7db 18%,#eadca9 34%,#dfc577 50%,#d1ad45 68%,#c89b2b 84%,#c89b2b 100%);
}
.landing-page .gallery-rotation::after { background: linear-gradient(90deg,rgba(255,248,215,.12),transparent 38%,rgba(99,63,0,.04)); }
.landing-page .lab-bridge {
  background: radial-gradient(circle at 16% 35%,rgba(255,238,155,.3),transparent 28rem),linear-gradient(180deg,#c89b2b 0%,#c89b2b 48%,#d5b34e 66%,#e5cf89 82%,#f4f1e6 100%);
}

.landing-page .gallery-story__copy > p:not(.eyebrow),
.landing-page .lab-bridge__copy > p:last-child { color: rgba(255,255,255,.9); }

/* Artist CTA: high-contrast label and recognisable WhatsApp mark. */
.sfa-footer__artist-cta .micro-label {
  display: block;
  width: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #111214;
}

.sfa-footer__whatsapp,
.sfa-footer__whatsapp:hover,
.sfa-footer__whatsapp:focus-visible,
.sfa-footer__whatsapp:active,
.sfa-footer__whatsapp.is-pointer-lit {
  border-color: rgba(255,244,198,.82);
  background: radial-gradient(circle at 24% -30%,rgba(255,255,255,.62),transparent 46%),linear-gradient(135deg,#f0d46c,#c99817 72%,#9a6900);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88),inset 0 -1px 0 rgba(99,61,0,.24),0 12px 28px rgba(98,65,0,.26);
  color: #111214;
  font-weight: 850;
  text-shadow: none;
}

.sfa-footer__whatsapp svg {
  width: 1.28rem;
  height: 1.28rem;
  fill: currentColor;
  stroke: none;
}

/* Exact same colour at the join: no visible boundary between both gold sections. */
.landing-page .gallery-rotation {
  background: linear-gradient(180deg,#ebe7db 0%,#ebe7db 18%,#eadca9 34%,#dfc577 50%,#d1ad45 68%,#cfa42f 84%,#cfa42f 100%);
}
.landing-page .gallery-rotation::after { display: none; }
.landing-page .lab-bridge {
  background: linear-gradient(180deg,#cfa42f 0%,#cfa42f 58%,#d8b857 72%,#e6d08a 86%,#f4f1e6 100%);
}

/* Final state polish requested for Gallery, LAB and artist contact. */
.sfa-footer__whatsapp {
  color: #fff;
  text-shadow: 0 1px 4px rgba(82,52,0,.35);
}
.sfa-footer__whatsapp svg { color: #fff; fill: #fff; }

.sfa-gallery-return-wrap {
  display: flex;
  justify-content: center;
  margin-top: clamp(2.2rem,4vw,3.5rem);
  padding: 0 1rem;
}
.sfa-gallery-return {
  display: inline-flex;
  min-height: 3.15rem;
  align-items: center;
  justify-content: center;
  padding: .75rem 1.4rem;
  border: 1px solid rgba(255,244,198,.86);
  border-radius: 999px;
  background: radial-gradient(circle at 25% -25%, rgba(255,255,255,.78), transparent 45%), linear-gradient(135deg,#f4dc77,#c99817 70%,#966600);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.84), inset 0 -1px 0 rgba(99,61,0,.22), 0 .75rem 1.9rem rgba(98,65,0,.22);
  color: #fff;
  font-size: .78rem;
  font-weight: 850;
  text-shadow: 0 1px 3px rgba(82,52,0,.34);
  transition: transform 420ms cubic-bezier(.16,1,.3,1), box-shadow 360ms ease, color 260ms ease, background 360ms ease;
}
.sfa-gallery-return:hover,
.sfa-gallery-return:focus-visible { color: #171719; text-shadow: none; transform: translateY(-.16rem) scale(1.025); }
.sfa-gallery-return:active { color: #171719; text-shadow: none; transform: scale(.97); }
.sfa-gallery-return > span { position: relative; z-index: 2; }
.sfa-gallery-return > .sfa-pointer-light__glow { z-index: 0 !important; }
.sfa-footer__whatsapp:hover svg,
.sfa-footer__whatsapp:focus-visible svg,
.sfa-footer__whatsapp:active svg,
.sfa-footer__whatsapp.is-pointer-lit svg { fill: #171719; }

/* Footer cards invert every text layer together, including the smaller descriptive copy. */
.landing-page .sfa-footer__glass-link:hover,
.landing-page .sfa-footer__glass-link:focus-visible,
.landing-page .sfa-footer__glass-link:active,
.landing-page .sfa-footer__info-card:hover,
.landing-page .sfa-footer__info-card:focus-visible,
.landing-page .sfa-footer__info-card:active,
.gallery-page .sfa-footer__glass-link:hover,
.gallery-page .sfa-footer__glass-link:focus-visible,
.gallery-page .sfa-footer__glass-link:active,
.gallery-page .sfa-footer__info-card:hover,
.gallery-page .sfa-footer__info-card:focus-visible,
.gallery-page .sfa-footer__info-card:active { color: #171719; }
.landing-page .sfa-footer__glass-link:hover *,
.landing-page .sfa-footer__glass-link:focus-visible *,
.landing-page .sfa-footer__glass-link:active *,
.landing-page .sfa-footer__info-card:hover *,
.landing-page .sfa-footer__info-card:focus-visible *,
.landing-page .sfa-footer__info-card:active *,
.gallery-page .sfa-footer__glass-link:hover *,
.gallery-page .sfa-footer__glass-link:focus-visible *,
.gallery-page .sfa-footer__glass-link:active *,
.gallery-page .sfa-footer__info-card:hover *,
.gallery-page .sfa-footer__info-card:focus-visible *,
.gallery-page .sfa-footer__info-card:active * { color: #171719; }
.sfa-footer__whatsapp:hover,
.sfa-footer__whatsapp:focus-visible,
.sfa-footer__whatsapp:active,
.sfa-footer__whatsapp.is-pointer-lit {
  color: #111214;
  text-shadow: none;
}
.sfa-footer__whatsapp:hover svg,
.sfa-footer__whatsapp:focus-visible svg,
.sfa-footer__whatsapp:active svg,
.sfa-footer__whatsapp.is-pointer-lit svg { color: #111214; }

.landing-page .gallery-rotation__stage {
  border: 0;
  box-shadow: 0 2rem 5rem rgba(82,57,3,.22), inset 0 1px 0 rgba(255,255,255,.08);
}

.landing-page .lab-bridge__cta {
  background: radial-gradient(circle at 24% -30%,rgba(255,255,255,.26),transparent 46%),linear-gradient(135deg,#e5c454,#b7830d 70%,#7e5800);
  color: #fff;
  text-shadow: 0 1px 4px rgba(77,47,0,.38);
}
.landing-page .lab-bridge__cta > .sfa-pointer-light__glow {
  background: radial-gradient(circle,rgba(255,255,255,.1),rgba(255,255,255,.025) 34%,transparent 68%);
  filter: blur(2px);
}
.landing-page .lab-bridge__cta.is-pointer-lit > .sfa-pointer-light__glow { opacity: .24; }
.landing-page .lab-bridge__cta:hover,
.landing-page .lab-bridge__cta:focus-visible,
.landing-page .lab-bridge__cta:active,
.landing-page .lab-bridge__cta.is-pointer-lit { color: #111214; text-shadow: none; }

/* Cross-fade overlaps both surfaces, removing the visible horizontal join. */
.landing-page .lab-bridge { z-index: 2; overflow: visible; }
.landing-page .lab-bridge__inner { position: relative; z-index: 2; }
.landing-page .lab-bridge::after {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: -7rem;
  left: 0;
  height: 16rem;
  background: linear-gradient(180deg,transparent 0%,rgba(244,241,230,.74) 34%,#f4f1e6 50%,rgba(244,241,230,.78) 66%,transparent 100%);
  content: "";
  pointer-events: none;
}
.landing-page .faq { position: relative; z-index: 1; margin-top: -1px; }

/* Dedicated 3:4 mobile artwork: show the complete scene instead of cover-cropping either artist. */
@media (max-width: 700px) {
  .landing-page .hero__media {
    background-color: var(--art-ivory);
    background-image: url("../images/hero-fine-art-lab-mobile-v1.webp");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% auto;
  }
}

/* Hero image visibility: preserve both creators on desktop and mobile. */
.landing-page .hero__veil {
  background:
    linear-gradient(90deg,rgba(244,241,230,.98) 0%,rgba(244,241,230,.94) 27%,rgba(244,241,230,.68) 47%,rgba(244,241,230,.32) 62%,rgba(244,241,230,.06) 82%),
    linear-gradient(180deg,rgba(244,241,230,.12) 0%,transparent 54%,rgba(244,241,230,.7) 100%);
}

@media (max-width: 700px) {
  .landing-page .hero__veil {
    background: linear-gradient(180deg,rgba(244,241,230,0) 0%,rgba(244,241,230,.02) 38%,rgba(244,241,230,.12) 47%,rgba(244,241,230,.42) 60%,rgba(244,241,230,.72) 74%,rgba(244,241,230,.9) 100%);
  }
}

/* Definitive responsive timing overrides. */
.landing-page .gallery-rotation { background: linear-gradient(180deg,#ebe7db 0%,#e4d49d 4%,#dabe62 11%,#d1ac42 19%,#cfa42f 31%,#cfa42f 100%); }

.sfa-footer__whatsapp,
.sfa-footer__whatsapp:hover,
.sfa-footer__whatsapp:focus-visible,
.sfa-footer__whatsapp:active,
.sfa-footer__whatsapp.is-pointer-lit { background: radial-gradient(circle at 20% -34%,rgba(255,255,255,.18),transparent 42%),linear-gradient(135deg,#efd36a,#c99716 72%,#986800); }
.sfa-footer__whatsapp > .sfa-pointer-light__glow { background: radial-gradient(circle,rgba(255,255,255,.07),rgba(255,255,255,.018) 34%,transparent 68%); filter: blur(2px); }
.sfa-footer__whatsapp.is-pointer-lit > .sfa-pointer-light__glow { opacity: .16; }

@media (max-width: 700px) {
  .landing-page .lab-bridge__copy { order: 1; }
  .landing-page .lab-bridge__media { order: 2; }
  .landing-page .hero__media {
    -webkit-mask-image: linear-gradient(180deg,#000 0%,#000 calc(133.333vw - 6rem),rgba(0,0,0,.9) calc(133.333vw - 4.5rem),rgba(0,0,0,.62) calc(133.333vw - 2.5rem),rgba(0,0,0,.28) calc(133.333vw - .5rem),transparent calc(133.333vw + 2rem));
    mask-image: linear-gradient(180deg,#000 0%,#000 calc(133.333vw - 6rem),rgba(0,0,0,.9) calc(133.333vw - 4.5rem),rgba(0,0,0,.62) calc(133.333vw - 2.5rem),rgba(0,0,0,.28) calc(133.333vw - .5rem),transparent calc(133.333vw + 2rem));
  }
  .landing-page .hero__veil { background: none; }
}

/* Authoritative end-of-file spacing and seamless gold join. */
.landing-page .gallery-rotation {
  min-height: 0;
  padding-top: clamp(4.5rem,7vw,6.5rem);
  padding-bottom: clamp(2.25rem,3vw,3rem);
  border-bottom: 0;
}

.landing-page .lab-bridge {
  margin-top: -2px;
  padding-top: clamp(2.25rem,3vw,3rem);
  padding-bottom: clamp(4.5rem,7vw,7rem);
  border-top: 0;
}

.landing-page .gallery-rotation::after { display: none; }

@media (max-width: 700px) {
  .landing-page .gallery-rotation {
    padding-top: 3.75rem;
    padding-bottom: 3rem;
  }

  .landing-page .lab-bridge {
    margin-top: -2px;
    padding-top: 3rem;
    padding-bottom: 3.75rem;
  }
}

/* Definitive mobile hero dissolve: the fade finishes before the 3:4 bitmap ends. */
@media (max-width: 700px) {
  .landing-page .hero .eyebrow {
    display: none;
  }

  .landing-page .hero {
    background: #f4f1e6;
  }

  .landing-page .hero__media {
    z-index: 0;
    background-color: #f4f1e6;
    background-image: url("../images/hero-fine-art-lab-mobile-v1.webp");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% auto;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .landing-page .hero__veil {
    z-index: 1;
    display: block;
    background: linear-gradient(180deg,
      rgba(244,241,230,0) 0,
      rgba(244,241,230,0) calc(133.333vw - 11rem),
      rgba(244,241,230,.08) calc(133.333vw - 9rem),
      rgba(244,241,230,.28) calc(133.333vw - 7rem),
      rgba(244,241,230,.62) calc(133.333vw - 5rem),
      rgba(244,241,230,.88) calc(133.333vw - 3rem),
      #f4f1e6 calc(133.333vw - 1rem),
      #f4f1e6 100%);
  }

  .landing-page .hero__content {
    z-index: 2;
    align-self: end;
    padding-bottom: clamp(5.5rem,12svh,6.5rem);
  }
}

/* Dynamic mobile composition: content stays low and remains fully visible. */
@media (max-width: 700px) {
  .landing-page .hero {
    height: auto;
    min-height: 100svh;
  }

  .landing-page .hero__content {
    box-sizing: border-box;
    width: 100%;
    align-self: end;
    padding-top: clamp(20rem,52svh,31rem);
    padding-bottom: calc(clamp(1.75rem,4svh,3rem) + env(safe-area-inset-bottom));
  }

  .landing-page .hero__actions {
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 700px) and (max-height: 680px) {
  .landing-page .hero__content {
    padding-top: clamp(17rem,47svh,20rem);
    padding-bottom: calc(1.25rem + env(safe-area-inset-bottom));
  }

  .landing-page .hero h1 {
    margin-bottom: .65rem;
    font-size: clamp(2.05rem,10.2vw,2.55rem);
  }

  .landing-page .hero__copy {
    font-size: .86rem;
    line-height: 1.38;
  }

  .landing-page .hero__actions {
    gap: .45rem;
    margin-top: .85rem;
  }

  .landing-page .hero__actions .button {
    min-height: 2.8rem;
    padding: .6rem .85rem;
    font-size: .68rem;
  }
}

/* Gallery headline semantics. */
.mobile-only { display: none; }
.gallery-story h2 .gallery-title__plain {
  margin: 0;
  padding: 0;
  background: none;
  color: #111214;
  -webkit-text-fill-color: #111214;
  filter: none;
  text-shadow: none;
}

/* Compact single-row filters with reset as the first action. */
.gallery-page .filters {
  padding: .72rem;
}

.gallery-page .filters__row {
  display: flex;
  align-items: end;
  gap: .58rem;
}

.gallery-page .category-filter {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: .42rem;
  min-width: 0;
}

.gallery-page .category-filter > .filters__reset {
  order: -1;
  align-self: center;
  min-height: 2.15rem;
  padding: .48rem .7rem;
  border-color: rgba(23,23,25,.18);
  background: rgba(255,255,255,.3);
  color: rgba(23,23,25,.7);
  font-size: .62rem;
  font-weight: 800;
}

.gallery-page .filter-field--artist { flex-basis: 10.5rem; }
.gallery-page .filter-field--range { flex-basis: 12rem; max-width: 15rem; }

/* Artwork cards: clean price and right-aligned product trigger. */
.gallery-page .art-card__number { display: none; }
.gallery-page .art-card__purchase {
  align-self: center;
  margin-left: auto;
}

.gallery-page .art-card__purchase button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  min-width: 5.25rem;
  padding: .62rem .86rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: linear-gradient(145deg,#35363a,#171719);
  color: #fff;
  cursor: pointer;
  font-size: .7rem;
  font-weight: 800;
  transition: background 280ms ease,box-shadow 280ms ease,transform 280ms var(--ease);
}

.gallery-page .art-card__purchase button:hover,
.gallery-page .art-card__purchase button:focus-visible {
  background: linear-gradient(135deg,var(--gold-light),var(--gold),var(--gold-deep));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8),0 .7rem 1.6rem rgba(134,88,0,.25);
  color: #111214;
  transform: translateY(-2px);
}

.gallery-page .art-card__purchase button i {
  font-style: normal;
  transition: transform 280ms var(--ease);
}

.gallery-page .art-card__purchase button:hover i { transform: translate(.12rem,-.12rem); }

/* Product bottom sheet. */
body.is-product-open { overflow: hidden; }
.gallery-page .site-header { z-index: 300; }

.product-sheet {
  position: fixed;
  z-index: 250;
  inset: 0;
  display: grid;
  align-items: end;
  padding-top: clamp(6.2rem,8vw,7.2rem);
  pointer-events: none;
}

.product-sheet[hidden],
.art-lightbox[hidden] { display: none; }

.product-sheet__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(20,20,18,.24);
  opacity: 0;
  cursor: pointer;
  backdrop-filter: blur(7px);
  transition: opacity 420ms ease;
}

.product-sheet__panel {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 2rem),92rem);
  max-height: calc(100dvh - clamp(6.2rem,8vw,7.2rem));
  margin-inline: auto;
  padding: clamp(1.25rem,2.8vw,2.4rem);
  overflow: auto;
  border: 1px solid rgba(255,255,255,.72);
  border-bottom: 0;
  border-radius: clamp(1.65rem,3vw,2.5rem) clamp(1.65rem,3vw,2.5rem) 0 0;
  background:
    radial-gradient(circle at 16% -18%,rgba(255,255,255,.96),transparent 34rem),
    linear-gradient(145deg,rgba(247,244,234,.96),rgba(224,220,207,.93));
  box-shadow: 0 -1.5rem 5rem rgba(38,35,27,.24),inset 0 1px 0 #fff;
  transform: translate3d(0,105%,0);
  transition: transform 620ms cubic-bezier(.16,1,.3,1);
  overscroll-behavior: contain;
}

.product-sheet.is-open { pointer-events: auto; }
.product-sheet.is-open .product-sheet__backdrop { opacity: 1; }
.product-sheet.is-open .product-sheet__panel { transform: translate3d(0,0,0); }
.product-sheet.is-dragging .product-sheet__panel,
.product-sheet.is-dragging .product-sheet__backdrop { transition: none; }

.product-sheet__drag-handle {
  display: grid;
  place-items: center;
  width: min(13rem,48vw);
  height: 2rem;
  margin: -.7rem auto .55rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.product-sheet__drag-handle:active { cursor: grabbing; }
.product-sheet__drag-handle span {
  width: 3.8rem;
  height: .3rem;
  border-radius: 999px;
  background: rgba(23,23,25,.25);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
}

.product-sheet__close,
.art-lightbox__close {
  position: absolute;
  z-index: 5;
  top: 1rem;
  right: 1rem;
  display: grid;
  place-items: center;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid rgba(23,23,25,.16);
  border-radius: 50%;
  background: rgba(255,255,255,.58);
  box-shadow: inset 0 1px 0 #fff,0 .55rem 1.3rem rgba(0,0,0,.12);
  cursor: pointer;
  backdrop-filter: blur(18px);
}

.product-sheet__close .product-sheet__close-stroke,
.art-lightbox__close span {
  position: absolute;
  width: 1rem;
  height: 1.5px;
  border-radius: 99px;
  background: #171719;
}
.product-sheet__close .product-sheet__close-stroke--first,
.art-lightbox__close span:first-child { transform: rotate(45deg); }
.product-sheet__close .product-sheet__close-stroke--second,
.art-lightbox__close span:last-child { transform: rotate(-45deg); }

.product-sheet__layout {
  display: grid;
  grid-template-columns: minmax(22rem,1.08fr) minmax(20rem,.92fr);
  align-items: start;
  gap: clamp(2rem,5vw,5rem);
}

.product-sheet__visual {
  display: grid;
  align-content: start;
  gap: 1rem;
  min-width: 0;
}

.product-sheet__media {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: clamp(1.15rem,2vw,1.75rem);
  background: #111214;
  box-shadow: 0 1.5rem 3.5rem rgba(30,27,20,.2);
  cursor: zoom-in;
}

.product-sheet__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 800ms cubic-bezier(.16,1,.3,1),filter 500ms ease;
}

.product-sheet__media:hover img { filter: brightness(.86); transform: scale(1.025); }
.product-sheet__media > span {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  display: inline-flex;
  gap: .5rem;
  padding: .65rem .85rem;
  border: 1px solid rgba(255,255,255,.38);
  border-radius: 999px;
  background: rgba(28,28,31,.52);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
  backdrop-filter: blur(16px);
}
.product-sheet__media i { font-style: normal; }

.product-sheet__content { padding: clamp(.5rem,2vw,1.5rem) .25rem 1rem; }
.product-sheet__category {
  margin: 0 0 .8rem;
  color: #9a700a;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.product-sheet__title-row { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.product-sheet__title-row h2 {
  margin: 0;
  font-size: clamp(2.5rem,5vw,5.25rem);
  letter-spacing: -.065em;
  line-height: .9;
}
.product-sheet__title-row > strong { flex: 0 0 auto; font-size: clamp(1.2rem,2vw,1.7rem); }
.product-sheet__edition { margin: .85rem 0 0; color: rgba(23,23,25,.5); font-size: .72rem; font-weight: 750; }
.product-sheet__description { max-width: 41rem; margin: 1.45rem 0 0; color: rgba(23,23,25,.7); font-size: clamp(.95rem,1.25vw,1.08rem); line-height: 1.65; }

.product-sheet__author {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 1rem;
  margin-top: 0;
  padding: 1rem;
  border: 1px solid rgba(23,23,25,.12);
  border-radius: 1.25rem;
  background: rgba(255,255,255,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86);
}
.product-sheet__author img { width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; }
.product-sheet__author p { margin: 0 0 .25rem; color: #98700f; font-size: .58rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.product-sheet__author h3 { margin: 0; font-size: 1.2rem; }
.product-sheet__author blockquote { margin: .65rem 0 0; color: rgba(23,23,25,.68); font-size: .85rem; line-height: 1.55; }

.product-sheet__purchase-form { margin-top: 1.35rem; }

.product-sheet__buy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  min-height: 3.35rem;
  margin: 0;
  padding: .75rem 1.25rem;
  border: 1px solid rgba(255,239,174,.84);
  border-radius: 999px;
  background: linear-gradient(135deg,#efd36b,#c49113 72%,#8f6100);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82),0 .8rem 1.8rem rgba(109,73,0,.26);
  color: #fff;
  font-size: .78rem;
  font-weight: 850;
  font-family: inherit;
  cursor: pointer;
}

/* Fullscreen artwork viewer. */
.art-lightbox {
  position: fixed;
  z-index: 500;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(1rem,4vw,3rem);
  opacity: 0;
  pointer-events: none;
  transition: opacity 320ms ease;
}
.art-lightbox.is-open { opacity: 1; pointer-events: auto; }
.art-lightbox__backdrop { position: absolute; inset: 0; border: 0; background: rgba(5,5,6,.9); backdrop-filter: blur(18px); }
.art-lightbox > img { position: relative; z-index: 2; max-width: 100%; max-height: 100%; object-fit: contain; filter: drop-shadow(0 2rem 5rem rgba(0,0,0,.5)); transform: scale(.96); transition: transform 420ms cubic-bezier(.16,1,.3,1); }
.art-lightbox.is-open > img { transform: scale(1); }
.art-lightbox__close { z-index: 3; border-color: rgba(255,255,255,.24); background: rgba(255,255,255,.86); }

@media (max-width: 760px) {
  .desktop-only { display: none; }
  .mobile-only { display: block; }
  .gallery-story h2 .gallery-title__plain { margin-left: .16em; }

  .gallery-page .filters { padding: .58rem; }
  .gallery-page .filters__row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .55rem; }
  .gallery-page .category-filter { grid-column: 1 / -1; margin-inline: -.58rem; padding-inline: .58rem; gap: .38rem; }
  .gallery-page .category-filter > .filters__reset { min-height: 2rem; padding: .42rem .62rem; }
  .gallery-page .filter-field--artist,
  .gallery-page .filter-field--range { grid-row: 2; }
  .gallery-page .filters__results { grid-column: 1 / -1; grid-row: 3; justify-self: end; min-height: 1.5rem; }

  .gallery-page .art-card__body { align-items: center; }
  .gallery-page .art-card__purchase { display: grid; grid-template-columns: 1fr auto; align-items: center; justify-items: start; width: 100%; margin-left: 0; }
  .gallery-page .art-card__purchase button { justify-self: end; }

  .product-sheet { padding-top: 4.8rem; }
  .product-sheet__panel {
    width: 100%;
    max-height: calc(100dvh - 4.8rem);
    padding: 1rem 1rem calc(1.5rem + env(safe-area-inset-bottom));
    border-right: 0;
    border-left: 0;
    border-radius: 1.65rem 1.65rem 0 0;
  }
  .product-sheet__drag-handle { margin-bottom: .35rem; }
  .product-sheet__close { top: .72rem; right: .72rem; width: 2.55rem; height: 2.55rem; }
  .product-sheet__layout { grid-template-columns: 1fr; gap: 1.25rem; }
  .product-sheet__media { aspect-ratio: 4 / 3.35; border-radius: 1.15rem; }
  .product-sheet__content { padding: 0 .15rem; }
  .product-sheet__title-row { align-items: start; }
  .product-sheet__title-row h2 { max-width: 8ch; font-size: clamp(2.35rem,12vw,3.35rem); }
  .product-sheet__description { margin-top: 1rem; font-size: .9rem; line-height: 1.55; }
  .product-sheet__visual { gap: 1rem; }
  .product-sheet__author { grid-template-columns: 3.75rem 1fr; padding: .85rem; }
  .product-sheet__author img { width: 3.75rem; height: 3.75rem; }
  .product-sheet__author blockquote { font-size: .8rem; }
  .product-sheet__buy { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .product-sheet__panel,
  .product-sheet__backdrop,
  .art-lightbox,
  .art-lightbox > img { transition-duration: 1ms; }
}

/* 2026-08-06: final landing alignment for hero, mobile navigation and gold field. */
.primary-nav__gallery-cta { display: none !important; }

.landing-page .hero__actions {
  position: relative;
  top: clamp(.8rem, 1.8svh, 1.35rem);
}

.landing-page .gallery-rotation {
  background: linear-gradient(180deg,
    #f4f1e6 0%,
    #f2ead0 8%,
    #ebdca9 18%,
    #e1c879 31%,
    #d6b552 44%,
    #cfa42f 58%,
    #cfa42f 100%);
}

.landing-page .gallery-rotation__stage {
  border: 0;
  outline: 0;
  background: transparent;
  box-shadow: 0 2rem 5rem rgba(82,57,3,.22);
}

.landing-page .gallery-rotation-card,
.landing-page .gallery-rotation-card__image { border: 0; outline: 0; }

.landing-page .gallery-rotation__cta.sfa-pointer-light,
.landing-page .gallery-rotation__cta.sfa-pointer-light:hover,
.landing-page .gallery-rotation__cta.sfa-pointer-light:focus-visible,
.landing-page .gallery-rotation__cta.sfa-pointer-light:active,
.landing-page .gallery-rotation__cta.sfa-pointer-light.is-pointer-lit {
  border-color: rgba(255,239,174,.84);
  background:
    radial-gradient(circle at 24% -30%,rgba(255,255,255,.36),transparent 46%),
    linear-gradient(135deg,#efd36b,#c49113 72%,#8f6100);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82),0 .8rem 1.8rem rgba(109,73,0,.26);
  color: #fff;
  text-shadow: 0 1px 4px rgba(77,47,0,.38);
}

.landing-page .gallery-rotation__cta > .sfa-pointer-light__glow {
  background: radial-gradient(circle,rgba(255,255,255,.1),rgba(255,255,255,.025) 34%,transparent 68%);
}

.landing-page .lab-bridge__cta,
.landing-page .lab-bridge__cta:hover,
.landing-page .lab-bridge__cta:focus-visible,
.landing-page .lab-bridge__cta:active,
.landing-page .lab-bridge__cta.is-pointer-lit {
  border-color: rgba(255,255,255,.5);
  background:
    radial-gradient(circle at 22% -42%,rgba(255,255,255,.32),transparent 50%),
    linear-gradient(145deg,rgba(118,119,123,.72),rgba(58,59,63,.8) 68%,rgba(76,77,81,.76));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(0,0,0,.24),0 10px 24px rgba(0,0,0,.2);
  color: #fff;
  text-shadow: 0 1px 4px rgba(0,0,0,.5);
}

.landing-page .lab-bridge__cta > .sfa-pointer-light__glow {
  background: radial-gradient(circle,rgba(255,255,255,.075),rgba(255,255,255,.018) 34%,transparent 68%);
}

.landing-page .lab-bridge__cta:hover,
.landing-page .lab-bridge__cta:focus-visible,
.landing-page .lab-bridge__cta:active,
.landing-page .lab-bridge__cta.is-pointer-lit {
  background:
    radial-gradient(circle at 22% -42%,rgba(255,255,255,.52),transparent 50%),
    linear-gradient(145deg,rgba(173,174,177,.82),rgba(112,113,117,.82) 68%,rgba(137,138,142,.8));
  color: #111214;
  text-shadow: none;
}

.landing-page .gallery-rotation__cta.sfa-pointer-light:hover,
.landing-page .gallery-rotation__cta.sfa-pointer-light:focus-visible,
.landing-page .gallery-rotation__cta.sfa-pointer-light:active,
.landing-page .gallery-rotation__cta.sfa-pointer-light.is-pointer-lit {
  color: #111214;
  text-shadow: none;
}

@media (max-width: 980px) {
  .landing-page .primary-nav .primary-nav__gallery-cta,
  .gallery-page .primary-nav .primary-nav__gallery-cta {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-color: rgba(255,239,174,.88);
    background:
      radial-gradient(circle at 22% -36%,rgba(255,255,255,.5),transparent 48%),
      linear-gradient(135deg,#efd36b,#c49113 72%,#8f6100);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.88),0 .8rem 1.8rem rgba(109,73,0,.24);
    color: #fff;
    text-shadow: 0 1px 4px rgba(77,47,0,.34);
  }

  .primary-nav.is-open a:nth-child(6) { animation-delay: 680ms; }
  .primary-nav.is-closing a:nth-child(6) { animation-delay: 0ms; }
}

@media (max-width: 700px) {
  .landing-page .hero h1 {
    max-width: 11ch;
    font-size: clamp(2.65rem,12.5vw,3.25rem);
  }

  .landing-page .hero__copy {
    box-sizing: border-box;
    width: 100%;
    max-width: 32rem;
    padding-inline: clamp(1rem,5vw,1.5rem);
  }

  .landing-page .hero__actions {
    top: clamp(.65rem,1.8svh,1rem);
    margin-top: clamp(1.1rem,2.7svh,1.65rem);
  }

  .landing-page .hero__actions.reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .landing-page .hero__actions .button,
  .landing-page .hero__actions .button::before,
  .landing-page .hero__actions .button::after,
  .landing-page .hero__actions .button > * {
    animation: none !important;
    transition: none !important;
  }

  .landing-page .gallery-rotation {
    background: linear-gradient(180deg,
      #f4f1e6 0%,
      #f2ead0 9%,
      #ead9a0 20%,
      #dfc46f 33%,
      #d5b34d 45%,
      #cfa42f 57%,
      #cfa42f 100%);
  }
}

@media (max-width: 700px) and (max-height: 680px) {
  .landing-page .hero h1 { font-size: clamp(2.3rem,11vw,2.8rem); }
}

/* Keep image CTAs centred in every pointer state. */
.landing-page .gallery-rotation__cta,
.landing-page .lab-bridge__cta {
  transform: translateX(-50%) !important;
}

.landing-page .gallery-rotation__cta:hover,
.landing-page .gallery-rotation__cta:focus-visible,
.landing-page .gallery-rotation__cta.is-pointer-lit,
.landing-page .lab-bridge__cta:hover,
.landing-page .lab-bridge__cta:focus-visible,
.landing-page .lab-bridge__cta.is-pointer-lit {
  transform: translateX(-50%) scale(1.018) !important;
}

.landing-page .gallery-rotation__cta:active,
.landing-page .lab-bridge__cta:active {
  transform: translateX(-50%) scale(.985) !important;
}

.landing-page .gallery-rotation__cta.is-pressed,
.landing-page .lab-bridge__cta.is-pressed {
  transform: translateX(-50%) scale(.985) !important;
  transition-duration: 120ms !important;
}

@media (hover: none), (pointer: coarse) {
  .landing-page .gallery-rotation__cta,
  .landing-page .lab-bridge__cta,
  .landing-page .gallery-rotation__cta:hover,
  .landing-page .lab-bridge__cta:hover,
  .landing-page .gallery-rotation__cta:focus,
  .landing-page .lab-bridge__cta:focus {
    transform: translateX(-50%) !important;
  }

  .landing-page .gallery-rotation__cta.is-pressed,
  .landing-page .lab-bridge__cta.is-pressed,
  .landing-page .gallery-rotation__cta:active,
  .landing-page .lab-bridge__cta:active {
    transform: translateX(-50%) scale(.985) !important;
  }
}

/* 2026-08-06: refined Gallery filters, cards and product sheet hierarchy. */
.gallery-page .filters {
  background:
    radial-gradient(circle at 10% -35%,rgba(255,255,255,.34),transparent 38%),
    linear-gradient(132deg,rgba(105,108,113,.96),rgba(50,52,56,.95) 62%,rgba(77,80,85,.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(0,0,0,.16),0 18px 42px rgba(47,45,39,.17);
}

.gallery-page .category-filter {
  display: grid;
  align-content: end;
  gap: 0;
  overflow: visible;
}

.gallery-page .category-filter__primary,
.gallery-page .category-filter__extra {
  display: flex;
  align-items: center;
  gap: .38rem;
  min-width: 0;
}

.gallery-page .category-filter__extra {
  max-height: 0;
  margin-top: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-.45rem);
  transition: max-height 520ms cubic-bezier(.16,1,.3,1),margin-top 420ms ease,opacity 320ms ease,transform 520ms cubic-bezier(.16,1,.3,1);
}

.gallery-page .category-filter__extra.is-open {
  max-height: 3rem;
  margin-top: .48rem;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.gallery-page .category-filter__toggle {
  display: grid;
  place-items: center;
  flex: 0 0 2.15rem;
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 50%;
  background: linear-gradient(145deg,rgba(255,255,255,.18),rgba(28,29,32,.48));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
  color: #fff;
  cursor: pointer;
}

.gallery-page .category-filter__toggle span {
  display: block;
  font-size: 1rem;
  line-height: 1;
  transform: translateY(-.08rem) rotate(0);
  transition: transform 480ms cubic-bezier(.16,1,.3,1);
}

.gallery-page .category-filter__toggle[aria-expanded="true"] span {
  transform: translateY(.08rem) rotate(180deg);
}

.gallery-page .category-filter > .category-filter__primary > .filters__reset {
  order: 0;
  min-height: 2.15rem;
  padding: .48rem .72rem;
  border-color: rgba(255,239,174,.82);
  background:
    radial-gradient(circle at 22% -36%,rgba(255,255,255,.42),transparent 48%),
    linear-gradient(135deg,#efd36b,#c49113 72%,#8f6100);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82),0 .45rem 1rem rgba(85,57,0,.18);
  color: #fff;
  text-shadow: 0 1px 3px rgba(76,47,0,.34);
}

.gallery-page .art-card__body {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  align-content: space-between;
  min-height: 9rem;
}

.gallery-page .art-card__body > div:first-child { align-self: start; }

.gallery-page .art-card__purchase {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  justify-items: start;
  align-self: end;
  width: 100%;
  margin: 1rem 0 0;
}

.gallery-page .art-card__purchase button { justify-self: end; }

.product-sheet__layout { padding-top: .35rem; }
.product-sheet__author { margin-top: clamp(1.4rem,2.5vw,2rem); }
.product-sheet__purchase-form { margin-top: 1.25rem; }

@media (max-width: 1180px) {
  .gallery-page .filters__row {
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr);
    align-items: start;
  }

  .gallery-page .category-filter { grid-column: 1 / -1; }
  .gallery-page .filter-field--artist,
  .gallery-page .filter-field--range { grid-row: 2; }
}

@media (max-width: 760px) {
  .gallery-page .category-filter {
    margin-inline: 0;
    padding-inline: 0;
  }

  .gallery-page .category-filter__primary {
    gap: .3rem;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .gallery-page .category-filter__primary::-webkit-scrollbar { display: none; }
  .gallery-page .category-filter__extra { flex-wrap: wrap; }
  .gallery-page .filter-chip { min-height: 2.15rem; padding: .45rem .62rem; font-size: .6rem; }
  .gallery-page .category-filter__toggle { flex-basis: 2.05rem; width: 2.05rem; height: 2.05rem; }

  .gallery-page .art-card__body { min-height: 8.2rem; }
  .gallery-page .art-card__purchase { margin-top: .85rem; }

  .product-sheet__close {
    top: .72rem;
    right: .82rem;
    width: 2.15rem;
    height: 2.15rem;
  }

  .product-sheet__close span { width: .82rem; }
  .product-sheet__layout { padding-top: 1.4rem; }
  .product-sheet__author { margin-top: 1.35rem; }
}

/* Responsive filter capacity and independent product-sheet columns. */
.gallery-page .filter-field {
  grid-template-rows: .9rem 2.25rem;
  align-content: start;
}

.gallery-page .filter-field > span {
  align-items: center;
  min-height: .9rem;
  line-height: .9rem;
}

.gallery-page .filter-field select { height: 2.25rem; }
.gallery-page .filter-field--range input[type="range"] { align-self: center; }

.gallery-page .category-filter__toggle svg {
  display: block;
  width: .82rem;
  height: .82rem;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.product-sheet__layout {
  grid-template-areas:
    "media details"
    "author purchase";
  grid-template-rows: auto auto;
  column-gap: clamp(2rem,5vw,5rem);
  row-gap: 1rem;
}

.product-sheet__media { grid-area: media; }
.product-sheet__content { grid-area: details; }
.product-sheet__author {
  grid-area: author;
  align-self: start;
  margin-top: 0;
}
.product-sheet__purchase-form {
  grid-area: purchase;
  align-self: start;
  margin-top: 0;
}

.product-sheet__title-row {
  display: grid;
  justify-items: start;
  gap: 0;
}

.product-sheet__title-row > strong {
  margin-top: 1rem;
  font-size: clamp(1.3rem,2vw,1.7rem);
}

@media (min-width: 1181px) {
  .gallery-page .category-filter {
    display: flex;
    align-items: end;
    flex: 1 1 auto;
    gap: .55rem;
  }

  .gallery-page .category-filter__primary,
  .gallery-page .category-filter__extra {
    display: contents;
  }

  .gallery-page .category-filter__toggle { display: none; }

  .gallery-page .category-filter .filters__reset,
  .gallery-page .category-filter .filter-chip {
    flex: 1 1 0;
    min-width: 5.4rem;
    height: 2.65rem;
    min-height: 2.65rem;
    padding: 0 .9rem;
    font-size: .7rem;
    justify-content: center;
  }
}

@media (max-width: 1180px) {
  .gallery-page .category-filter,
  .gallery-page .category-filter__primary,
  .gallery-page .category-filter__extra { width: 100%; }

  .gallery-page .category-filter__primary { justify-content: space-between; }
}

@media (max-width: 760px) {
  .gallery-page .category-filter__primary { overflow: visible; }

  .gallery-page .category-filter__primary > .filters__reset {
    flex: 1.15 1 0;
    min-width: 0;
    padding-inline: .34rem;
  }

  .gallery-page .category-filter__primary > .filter-chip {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: .25rem;
  }

  .gallery-page .category-filter__primary > .category-filter__toggle {
    flex: 0 0 2.05rem;
  }

  .gallery-page .filter-field {
    grid-template-rows: .9rem 2.25rem;
    width: 100%;
  }

  .gallery-page .filter-field--range input[type="range"] {
    width: calc(100% - .35rem);
    margin-inline: auto;
  }

  .gallery-page .filter-field--artist {
    width: calc(100% - .55rem);
    justify-self: start;
  }

  .product-sheet__layout {
    grid-template-areas:
      "media"
      "details"
      "author"
      "purchase";
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .product-sheet__title-row > strong { margin-top: .75rem; }
  .product-sheet__author { margin-top: .15rem; }
  .product-sheet__purchase-form { margin-top: .15rem; }
}

/* Keep the cursor bloom inside the material and underneath every label. */
.button.sfa-pointer-light,
.header-cta.sfa-pointer-light,
.gallery-rotation__cta.sfa-pointer-light,
.product-sheet__buy.sfa-pointer-light,
.art-card__purchase button.sfa-pointer-light {
  isolation: isolate;
}

.button.sfa-pointer-light > .sfa-pointer-light__glow,
.header-cta.sfa-pointer-light > .sfa-pointer-light__glow,
.gallery-rotation__cta.sfa-pointer-light > .sfa-pointer-light__glow,
.product-sheet__buy.sfa-pointer-light > .sfa-pointer-light__glow,
.art-card__purchase button.sfa-pointer-light > .sfa-pointer-light__glow {
  z-index: 0 !important;
}

.product-sheet__content,
.product-sheet__purchase-form {
  width: min(100%,41rem);
}

.product-sheet__buy {
  width: 100%;
  min-height: 3.65rem;
  justify-content: center;
  font-size: .9rem;
  font-weight: 850;
}

/* One uninterrupted material behind Gallery and LAB. */
.landing-page .gold-flow {
  position: relative;
  z-index: 0;
  margin-top: -1px;
  background:
    radial-gradient(ellipse 56% 25% at 84% 25%,rgba(255,244,185,.34),transparent 76%),
    radial-gradient(ellipse 48% 24% at 14% 72%,rgba(255,232,132,.18),transparent 78%),
    linear-gradient(180deg in oklab,
      var(--art-ivory-soft) 0%,
      #ece3ca 5%,
      #e7d9a8 11%,
      #dfc779 18%,
      #d7b552 25%,
      #d0a735 34%,
      #cfa42f 48%,
      #cfa42f 68%,
      #d4ae40 77%,
      #dec36c 85%,
      #e8d9a4 92%,
      #f0e9d2 97%,
      var(--art-ivory) 100%);
}

.landing-page .gold-flow .gallery-rotation,
.landing-page .gold-flow .lab-bridge {
  background: transparent !important;
}

.landing-page .gold-flow .gallery-rotation::after {
  background: linear-gradient(90deg,rgba(255,255,255,.08),transparent 42%,rgba(121,82,0,.025));
}

/* A quieter, longer transition keeps Gallery and LAB on one continuous gold surface. */
@media (min-width: 701px) {
  .landing-page .gold-flow {
    background:
      radial-gradient(ellipse 62% 30% at 84% 25%, rgba(255,244,185,.30), transparent 80%),
      radial-gradient(ellipse 56% 28% at 14% 72%, rgba(255,232,132,.15), transparent 82%),
      linear-gradient(180deg in oklab,
        var(--art-ivory-soft) 0%,
        #ece3ca 6%,
        #e7d9a8 13%,
        #dfc779 21%,
        #d7b552 30%,
        #d0a735 40%,
        #cfa42f 53%,
        #cfa42f 64%,
        #d3ac3c 73%,
        #dbc05f 81%,
        #e5d391 89%,
        #eee5cb 96%,
        var(--art-ivory) 100%);
  }

  .landing-page .gallery-rotation { min-height: clamp(44rem, 83svh, 57rem); }
  .landing-page .lab-bridge { padding-top: clamp(5.5rem, 8vw, 7.5rem); }
}

/* Desktop cards in L'idea: landscape image first, then the supporting copy. */
@media (min-width: 981px) {
  .landing-page .idea { padding-block: clamp(6rem, 8vw, 8rem) clamp(5rem, 7vw, 7rem); }
  .landing-page .idea__layout { align-items: center; }
  .landing-page .idea__copy { position: sticky; top: max(6.5rem, calc(50svh - 10rem)); align-self: center; }

  .landing-page .idea .process-card,
  .landing-page .idea .process-card:nth-child(2),
  .landing-page .idea .process-card:nth-child(3) {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(13.5rem, 1.08fr) minmax(11rem, .92fr);
    height: min(calc(100svh - 14rem), 30rem);
    min-height: 26rem;
  }

  .landing-page .idea .process-card__visual { height: auto; min-height: 0; }
  .landing-page .idea .process-card__body { align-self: stretch; min-height: 0; padding: clamp(1.5rem, 2.2vw, 2rem); }
}

/* Andrea Fadini's original photograph is the landing hero on every viewport. */
.landing-page .hero__media {
  background-image: url("../images/grano e cielo - Andrea.png") !important;
  background-position: center center;
  background-size: cover;
}

/* Artist catalogue: selectable works stay directly beneath the main image. */
.product-sheet__layout {
  grid-template-areas:
    "visual details"
    "author purchase";
}

.product-sheet__visual { grid-area: visual; }
.product-sheet__media { grid-area: auto; }
.product-sheet__variants {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .7rem;
}
.product-sheet__variants button {
  display: grid;
  grid-template-columns: 4.4rem 1fr;
  align-items: center;
  gap: .7rem;
  min-width: 0;
  padding: .35rem;
  border: 1px solid rgba(23,23,25,.12);
  border-radius: .85rem;
  background: rgba(255,255,255,.32);
  color: #171719;
  font: inherit;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.15;
  text-align: left;
  cursor: pointer;
  transition: border-color 220ms ease, background 220ms ease, transform 220ms var(--motion-out);
}
.product-sheet__variants button:hover { transform: translateY(-2px); }
.product-sheet__variants button.is-active { border-color: rgba(180,133,16,.7); background: rgba(238,208,111,.35); }
.product-sheet__variants img { width: 4.4rem; height: 3rem; border-radius: .58rem; object-fit: cover; }
.product-sheet__variants span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-sheet__specs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
  margin: 1.35rem 0 0;
}
.product-sheet__specs div { padding: .75rem; border-top: 1px solid rgba(23,23,25,.12); }
.product-sheet__specs dt { color: #98700f; font-size: .57rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.product-sheet__specs dd { margin: .38rem 0 0; color: rgba(23,23,25,.76); font-size: .76rem; line-height: 1.35; }

@media (min-width: 701px) {
  .gallery-page .art-card__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 1rem;
    padding-block: 1rem;
  }
  .gallery-page .art-card__purchase { display: contents; }
  .gallery-page .art-card__purchase > span { white-space: nowrap; }
  .gallery-page .art-card__purchase button { justify-self: end; white-space: nowrap; }
}

@media (max-width: 980px) {
  .product-sheet__layout { grid-template-areas: "visual" "details" "author" "purchase"; }
}

@media (max-width: 700px) {
  .product-sheet__variants { gap: .5rem; }
  .product-sheet__variants button { grid-template-columns: 3.65rem 1fr; gap: .55rem; font-size: .66rem; }
  .product-sheet__variants img { width: 3.65rem; height: 2.6rem; }
  .product-sheet__specs { grid-template-columns: 1fr; gap: 0; }
  .product-sheet__specs div { padding: .65rem 0; }
}

/* Raise only labels above the bloom; never alter menu/layout positioning. */
.button.sfa-pointer-light > span,
.header-cta.sfa-pointer-light > span,
.gallery-rotation__cta.sfa-pointer-light > span,
.product-sheet__buy.sfa-pointer-light > span,
.art-card__purchase button.sfa-pointer-light > span,
.art-card__purchase button.sfa-pointer-light > i {
  position: relative;
  z-index: 2 !important;
}

.landing-page .gallery-story__copy h2 {
  overflow: visible;
  padding-bottom: .13em;
  line-height: .94;
}

@media (min-width: 761px) {
  .gallery-page .art-grid {
    width: min(100%,82rem);
    margin-inline: auto;
  }

  .gallery-page .art-card__media { aspect-ratio: 16 / 10; }
  .gallery-page .art-card__body { min-height: 7.5rem; padding: 1rem 1.15rem; }
  .gallery-page .art-card__body h2 { font-size: clamp(1.35rem,1.8vw,1.8rem); }

  .product-sheet__purchase-form { align-self: end; }

  .product-sheet__media {
    aspect-ratio: 16 / 10;
    max-height: 23rem;
  }
}

.product-sheet__buy:hover,
.product-sheet__buy:focus-visible,
.product-sheet__buy:active,
.product-sheet__buy.is-pointer-lit {
  color: #111214;
  text-shadow: none;
}

.product-sheet__buy > .sfa-pointer-light__glow {
  z-index: 0 !important;
  opacity: .72;
}

.product-sheet__buy > span {
  position: relative;
  z-index: 2 !important;
}

.product-sheet__buy {
  transition: transform .38s cubic-bezier(.16,1,.3,1),box-shadow .38s ease,color .3s ease;
}

.product-sheet__buy:hover,
.product-sheet__buy:focus-visible,
.product-sheet__buy.is-pointer-lit {
  transform: translateY(-3px) scale(1.012);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9),0 1.05rem 2.25rem rgba(109,73,0,.3);
}

.product-sheet__buy:active { transform: translateY(0) scale(.985); }

.landing-page .gallery-story h2 .gallery-title__plain,
.landing-page .gallery-story h2 .gallery-title__silver {
  display: inline-block;
  overflow: visible;
  padding-bottom: .22em;
  margin-bottom: -.1em;
}

@media (prefers-reduced-motion: no-preference) {
  html.smooth-scroll { scroll-behavior: smooth; }
}

#esponi { scroll-margin-top: 7rem; }

/* In-page legal policies: large daylight liquid-glass card. */
.sfa-legal-trigger {
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}

.sfa-footer__bottom .sfa-legal-trigger:hover,
.sfa-footer__bottom .sfa-legal-trigger:focus-visible { color: #fff; }

html.sfa-legal-open { overflow: hidden; }

.sfa-legal-dialog {
  position: fixed;
  inset: 0;
  width: min(calc(100% - 2rem),72rem);
  max-width: none;
  max-height: min(91svh,58rem);
  margin: auto;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: clamp(1.5rem,3vw,2.6rem);
  background: transparent;
  color: #f5f4f0;
}

.sfa-legal-dialog:not([open]) { display: none; }

.sfa-legal-dialog::backdrop {
  background: rgba(2,2,3,.72);
  -webkit-backdrop-filter: blur(16px) saturate(118%);
  backdrop-filter: blur(16px) saturate(118%);
}

.sfa-legal-dialog__shell {
  position: relative;
  max-height: min(91svh,58rem);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: inherit;
  background:
    radial-gradient(circle at 11% -18%,rgba(255,255,255,.25),transparent 37%),
    radial-gradient(circle at 96% 8%,rgba(221,186,84,.1),transparent 30rem),
    linear-gradient(138deg,rgba(255,255,255,.13),rgba(255,255,255,.035) 58%,rgba(202,162,40,.07)),
    rgba(14,14,17,.91);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3),inset 0 -1px 0 rgba(0,0,0,.48),0 2rem 6rem rgba(0,0,0,.58);
  -webkit-backdrop-filter: blur(38px) saturate(145%);
  backdrop-filter: blur(38px) saturate(145%);
  transform-origin: 50% 56%;
  animation: sfa-legal-card-in .56s cubic-bezier(.16,1,.3,1) both;
}

.sfa-legal-dialog__header {
  position: sticky;
  z-index: 3;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(1.3rem,3vw,2.2rem) clamp(1.25rem,4vw,3rem) 1.15rem;
  background: linear-gradient(180deg,rgba(16,16,19,.99) 56%,rgba(16,16,19,.88) 78%,transparent);
}

.sfa-legal-dialog__header h2,
.sfa-legal-dialog__content h3 {
  display: inline-block;
  width: fit-content;
  margin: 0;
  padding: .035em .08em .17em .025em;
  background:
    radial-gradient(ellipse at 36% 2%,rgba(255,255,255,.98) 0%,rgba(255,255,255,.35) 18%,transparent 43%),
    linear-gradient(180deg,#f7f7f4 0%,#b9bec3 23%,#72777d 46%,#3f4349 55%,#9ca1a6 72%,#555a60 100%);
  background-clip: text;
  color: transparent;
  font-family: inherit;
  font-style: normal;
  font-weight: 830;
  letter-spacing: -.055em;
  line-height: 1;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 -1px 0 rgba(255,255,255,.78)) drop-shadow(0 2px 0 rgba(55,59,65,.68)) drop-shadow(0 5px 7px rgba(0,0,0,.28)) drop-shadow(0 12px 28px rgba(90,96,103,.12));
}

.sfa-legal-dialog__header h2 { font-size: clamp(2.35rem,5vw,4.5rem); }
.sfa-legal-dialog__content h3 { margin-bottom: .85rem; font-size: clamp(1.35rem,2.6vw,2rem); }

.sfa-legal-dialog__close {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 3rem;
  height: 3rem;
  border: 1px solid rgba(255,255,255,.27);
  border-radius: 50%;
  background: radial-gradient(circle at 30% 0%,rgba(255,255,255,.3),transparent 48%),rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35),0 .75rem 1.7rem rgba(0,0,0,.3);
  cursor: pointer;
  transition: transform .4s cubic-bezier(.16,1,.3,1),background .35s ease;
}

.sfa-legal-dialog__close span { position: absolute; width: 1rem; height: 1.5px; border-radius: 99px; background: #fff; }
.sfa-legal-dialog__close span:first-child { transform: rotate(45deg); }
.sfa-legal-dialog__close span:last-child { transform: rotate(-45deg); }
.sfa-legal-dialog__close:hover,
.sfa-legal-dialog__close:focus-visible { background-color: rgba(255,255,255,.17); transform: scale(1.055) rotate(3deg); }

.sfa-legal-dialog__content {
  max-height: calc(min(91svh,58rem) - clamp(5.8rem,10vw,8.2rem));
  padding: 0 clamp(1.25rem,4vw,3rem) clamp(2rem,5vw,3.5rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: rgba(64,66,70,.32) transparent;
}

.sfa-legal-dialog__content[hidden] { display: none !important; }
.sfa-legal-dialog__content section { margin-block: clamp(2rem,4vw,3.2rem); }
.sfa-legal-dialog__content p,
.sfa-legal-dialog__content li { color: rgba(245,244,240,.76); font-size: clamp(.93rem,1.35vw,1.06rem); line-height: 1.72; }
.sfa-legal-dialog__content p { margin: 0 0 1rem; }
.sfa-legal-dialog__content ul { display: grid; gap: .68rem; margin: 0; padding-inline-start: 1.25rem; }
.sfa-legal-dialog__content strong { color: #fff; }
.sfa-legal-dialog__content a,
.sfa-legal-inline { color: #e3c453; font-weight: 720; text-decoration: underline; text-underline-offset: .18em; }
.sfa-legal-inline { padding: 0; border: 0; background: transparent; font: inherit; cursor: pointer; }
.sfa-legal-dialog__updated { margin-bottom: 1.5rem !important; color: rgba(245,244,240,.46) !important; font-size: .74rem !important; font-weight: 780; letter-spacing: .09em; text-transform: uppercase; }

@keyframes sfa-legal-card-in {
  from { opacity: 0; transform: translateY(1rem) scale(.965); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 700px) {
  .sfa-legal-dialog { width: calc(100% - .75rem); max-height: 94svh; border-radius: 1.45rem; }
  .sfa-legal-dialog__shell { max-height: 94svh; }
  .sfa-legal-dialog__header { padding: 1.15rem 1rem .9rem 1.15rem; }
  .sfa-legal-dialog__header h2 { font-size: clamp(2rem,11vw,3rem); }
  .sfa-legal-dialog__close { width: 2.55rem; height: 2.55rem; }
  .sfa-legal-dialog__content { max-height: calc(94svh - 5rem); padding: .15rem 1.15rem 2.25rem; }
  .sfa-legal-dialog__content section { margin-block: 2rem; }
  .sfa-legal-dialog__content h3 { font-size: clamp(1.35rem,8vw,1.8rem); }
}

@media (prefers-reduced-motion: reduce) {
  .sfa-legal-dialog__shell { animation: none; }
}

/* Final density and readability pass. */
@media (min-width: 701px) {
  .landing-page .hero__veil {
    background:
      linear-gradient(90deg, rgba(244,241,230,.72) 0%, rgba(244,241,230,.48) 25%, rgba(244,241,230,.18) 47%, rgba(244,241,230,0) 70%),
      linear-gradient(180deg, rgba(244,241,230,.08) 0%, transparent 64%, rgba(244,241,230,.42) 100%);
  }

  .gallery-page .art-card__body { min-height: 6.15rem; padding-block: .82rem; }
}

.product-sheet__buy > .sfa-pointer-light__glow { opacity: .24; }

@media (max-width: 760px) {
  .landing-page .hero__media {
    background-image: url("../images/paesaggio 1 mobile.jpeg") !important;
    background-position: center top;
    background-size: 100% auto;
  }

  .gallery-page .filter-field--artist {
    width: calc(100% - 1rem);
    justify-self: center;
  }

  .gallery-page .filter-field--artist select {
    height: 2.08rem;
    padding-inline: .8rem 2rem;
    border-radius: 999px;
  }
}

/* Hero contrast is deliberate: artwork remains visible, copy keeps a clear reading field. */
@media (min-width: 701px) {
  .landing-page .hero__veil {
    background:
      linear-gradient(90deg, rgba(244,241,230,.88) 0%, rgba(244,241,230,.68) 25%, rgba(244,241,230,.34) 48%, rgba(244,241,230,.05) 74%),
      linear-gradient(180deg, rgba(244,241,230,.16) 0%, transparent 56%, rgba(244,241,230,.58) 100%);
  }
}

@media (max-width: 760px) {
  .landing-page .hero__veil {
    display: block;
    background: linear-gradient(180deg,
      rgba(244,241,230,0) 0%,
      rgba(244,241,230,.02) 34%,
      rgba(244,241,230,.15) 47%,
      rgba(244,241,230,.48) 59%,
      rgba(244,241,230,.80) 71%,
      #f4f1e6 84%);
  }
}

/* Stable opening state for the Idea narrative: visible from the first card onward. */
@media (min-width: 981px) {
  .landing-page .idea__layout { align-items: start; }
  .landing-page .idea__copy {
    position: sticky !important;
    top: 7.5rem;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    align-self: start !important;
  }
}

.landing-page .lab-bridge__copy > p:last-child { color: #171719 !important; }

/* Filters use controls, not redundant labels: central, compact and calm on every viewport. */
.gallery-page .filter-field { grid-template-rows: 2.25rem; justify-items: center; }
.gallery-page .filter-field--artist select {
  width: min(100%, 12rem);
  height: 2.25rem;
  border-radius: 999px;
  text-align: center;
}
.gallery-page .filter-field--range {
  grid-template-rows: auto 1.15rem;
  gap: .35rem;
  justify-items: center;
}
.gallery-page .filter-field__price {
  display: block;
  width: 100%;
  color: var(--gold-light);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .08em;
  line-height: 1;
  text-align: center;
}
.gallery-page .filter-field--range input[type="range"] { width: min(100%, 14rem); margin-inline: auto; }

/* Custom artist picker: the system select is replaced by a consistent liquid-glass menu. */
.gallery-page .artist-picker {
  position: relative;
  z-index: 20;
  width: min(100%, 12rem);
}
.gallery-page .artist-picker > input[type="hidden"] { display: none; }
.gallery-page .artist-picker__trigger {
  position: relative;
  width: 100%;
  min-height: 2.25rem;
  padding: .55rem 2.75rem .55rem 1rem;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  background:
    radial-gradient(circle at 18% -30%, rgba(255,255,255,.25), transparent 48%),
    linear-gradient(135deg, rgba(108,111,117,.72), rgba(35,37,41,.82));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 .55rem 1.4rem rgba(10,10,12,.12);
  color: #fff;
  font: inherit;
  font-size: .69rem;
  font-weight: 760;
  text-align: left;
  backdrop-filter: blur(18px) saturate(135%);
  cursor: pointer;
}
.gallery-page .artist-picker__trigger svg {
  position: absolute;
  top: 50%;
  right: 1rem;
  width: .85rem;
  height: .85rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: translateY(-50%);
  transition: transform 360ms cubic-bezier(.16,1,.3,1);
}
.gallery-page .artist-picker.is-open .artist-picker__trigger svg { transform: translateY(-50%) rotate(180deg); }
.gallery-page .artist-picker__menu {
  position: absolute;
  z-index: 40;
  top: calc(100% + .42rem);
  right: 0;
  left: 0;
  padding: .38rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 1rem;
  background:
    radial-gradient(circle at 14% -10%, rgba(255,255,255,.2), transparent 48%),
    linear-gradient(145deg, rgba(79,82,88,.92), rgba(24,25,29,.94));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1rem 2.5rem rgba(4,4,6,.32);
  backdrop-filter: blur(24px) saturate(140%);
}
.gallery-page .artist-picker__menu[hidden] { display: none; }
.gallery-page .artist-picker__menu button {
  width: 100%;
  padding: .62rem .72rem;
  border: 0;
  border-radius: .68rem;
  background: transparent;
  color: rgba(255,255,255,.9);
  font: inherit;
  font-size: .7rem;
  font-weight: 690;
  text-align: left;
  cursor: pointer;
  transition: color 180ms ease, background 180ms ease;
}
.gallery-page .artist-picker__menu button:hover,
.gallery-page .artist-picker__menu button:focus-visible,
.gallery-page .artist-picker__menu button.is-selected {
  outline: 0;
  background: rgba(255,255,255,.13);
  color: var(--gold-light);
}

@media (max-width: 760px) {
  .gallery-page .filters { padding: .8rem .7rem .9rem; }
  .gallery-page .filters__row { justify-items: center; row-gap: .75rem; }
  .gallery-page .filter-field--artist { width: calc(100% - 1.35rem); justify-self: center; }
  .gallery-page .artist-picker { width: calc(100% - 1.35rem); justify-self: center; }
  .gallery-page .artist-picker__trigger { padding-right: 2.9rem; }
  .gallery-page .artist-picker__trigger svg { right: 1.15rem; }
  .gallery-page .category-filter__primary > .category-filter__toggle { margin-right: .35rem; }
  .gallery-page .filter-field--range { width: calc(100% - 1rem); justify-self: center; }
  .gallery-page .filter-field--range input[type="range"] { width: 100%; }

  .gallery-page .art-card__body {
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    align-content: center;
    min-height: 0;
    gap: .65rem;
    padding: .82rem .9rem;
  }
  .gallery-page .art-card__body > div:first-child { min-width: 0; align-self: center; }
  .gallery-page .art-card__body h2 { margin-bottom: .28rem; }
  .gallery-page .art-card__purchase { display: contents; }
  .gallery-page .art-card__purchase > span { display: none; }
  .gallery-page .art-card__purchase button {
    grid-column: 2;
    align-self: center;
    justify-self: end;
    white-space: nowrap;
  }
}

/* Authoritative final overrides: compact narrative cards and aligned controls. */
@media (min-width: 981px) {
  .landing-page .idea .process-card,
  .landing-page .idea .process-card:nth-child(2),
  .landing-page .idea .process-card:nth-child(3) {
    grid-template-rows: clamp(13rem, 18vw, 15rem) auto;
    height: auto;
    min-height: 0;
  }
  .landing-page .idea .process-card__body {
    align-self: start;
    min-height: 0;
    padding: 1.25rem 1.4rem 1.4rem;
  }
  .landing-page .idea .process-card__body h3 { margin-bottom: .7rem; }
  .landing-page .idea .process-card__body p:last-child { line-height: 1.55; }
  .landing-page .gallery-rotation { padding-bottom: clamp(1.35rem, 2vw, 2rem); }
  .landing-page .lab-bridge { padding-top: clamp(1.35rem, 2vw, 2rem); }
  .landing-page .gallery-rotation .gallery-story__inner {
    grid-template-columns: minmax(18rem,.7fr) minmax(31rem,1.3fr);
    gap: clamp(2.5rem,5vw,5rem);
  }
  .landing-page .gallery-rotation__stage {
    width: min(100%, 39rem);
    aspect-ratio: 16 / 9;
  }
}

@media (min-width: 1181px) {
  .gallery-page .filters__row { align-items: center; }
  .gallery-page .filter-field--artist { grid-template-rows: 2.65rem; align-self: center; }
  .gallery-page .artist-picker { align-self: center; }
  .gallery-page .artist-picker__trigger { height: 2.65rem; min-height: 2.65rem; }
  .gallery-page .filter-field--range {
    height: 2.65rem;
    grid-template-rows: .8rem .9rem;
    align-content: center;
    gap: .18rem;
  }
  .gallery-page .filter-field__price { min-height: .8rem; line-height: .8rem; }
  .gallery-page .filter-field--range input[type="range"] { min-height: .9rem; align-self: center; }
}

@media (max-width: 760px) {
  .landing-page .hero__media {
    background-image: url("../images/paesaggio 1 mobile.jpeg") !important;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .landing-page .hero__veil {
    display: block;
    background: linear-gradient(180deg,
      rgba(244,241,230,0) 0%,
      rgba(244,241,230,0) 32%,
      rgba(244,241,230,.04) 40%,
      rgba(244,241,230,.12) 48%,
      rgba(244,241,230,.26) 56%,
      rgba(244,241,230,.46) 64%,
      rgba(244,241,230,.68) 72%,
      rgba(244,241,230,.84) 80%,
      rgba(244,241,230,.95) 88%,
      #f4f1e6 96%,
      #f4f1e6 100%);
  }
  .landing-page .idea .process-card,
  .landing-page .idea .process-card:nth-child(2),
  .landing-page .idea .process-card:nth-child(3) {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    height: auto;
    min-height: 0;
  }
  .landing-page .idea .process-card__visual {
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1;
  }
  .landing-page .idea .process-card__body {
    align-self: start;
    min-height: 0;
    padding: 1.05rem 1.05rem 1.2rem;
  }
  .landing-page .idea .process-card__body h3 { margin-bottom: .65rem; }
  .landing-page .idea .process-card__body p:last-child {
    font-size: .9rem;
    line-height: 1.55;
  }
  .landing-page .gallery-rotation { padding-bottom: 2rem; }
  .landing-page .lab-bridge { padding-top: 2rem; }
  .gallery-page .artist-picker,
  .gallery-page .filter-field--artist {
    width: 100%;
    justify-self: start;
  }
  .gallery-page .artist-picker__trigger {
    height: 2.15rem;
    min-height: 2.15rem;
    padding-block: .42rem;
    text-align: center;
  }
}
