/*
 * CURATORIART 2026
 * Brand palette: Wine #6E1223 · Light beige #F3ECE2
 * Direction: kinetic editorial gallery + precise spatial UI.
 */
:root {
  --ca-wine: #6e1223;
  --ca-beige: #f3ece2;
  --ca-wine-deep: #25060c;
  --ca-wine-dark: #430b16;
  --ca-paper: #fbf7f1;
  --ca-ink: #341018;
  --ca-muted: rgba(52, 16, 24, .62);
  --ca-line: rgba(110, 18, 35, .16);
  --ca-line-strong: rgba(110, 18, 35, .3);
  --ca-shadow: 0 24px 70px rgba(65, 8, 20, .1);
  --ca-shadow-hover: 0 32px 90px rgba(65, 8, 20, .16);
  --ca-radius-sm: 12px;
  --ca-radius-md: 22px;
  --ca-radius-lg: 34px;
  --ca-ease: cubic-bezier(.16, 1, .3, 1);
  --accent: var(--ca-wine) !important;
  --bg: var(--ca-beige);
  --surface: var(--ca-paper);
  --surface-2: #eee4d8;
  --text: var(--ca-ink);
  --muted: var(--ca-muted);
  --line: var(--ca-line);
  --market-bg: var(--ca-beige);
  --market-card: rgba(255,255,255,.48);
  --market-text: var(--ca-ink);
  --market-muted: var(--ca-muted);
  --market-line: var(--ca-line);
  color-scheme: light;
}

html {
  background: var(--ca-beige);
  scroll-padding-top: 90px;
}

body,
body.market-page,
body.admin-console,
body.auth-page,
body.profile-page,
body.dashboard {
  background:
    radial-gradient(circle at 12% 0%, rgba(110,18,35,.055), transparent 28rem),
    var(--ca-beige) !important;
  color: var(--ca-ink) !important;
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  cursor: auto;
  text-rendering: optimizeLegibility;
}

body::before,
body::after,
.market-page::before,
.admin-console::before,
.auth-page::before {
  pointer-events: none;
}

button,
a,
label,
select,
input[type="checkbox"],
input[type="radio"],
input[type="file"] {
  cursor: pointer !important;
}

input,
textarea,
select {
  cursor: text;
  font: inherit;
}

button,
a,
input,
textarea,
select {
  -webkit-tap-highlight-color: transparent;
}

:where(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 3px solid rgba(110,18,35,.42) !important;
  outline-offset: 3px;
}

::selection {
  color: var(--ca-beige);
  background: var(--ca-wine);
}

.skip-link {
  position: fixed;
  z-index: 20000;
  top: 12px;
  left: 12px;
  padding: 12px 16px;
  border-radius: 10px;
  color: var(--ca-beige) !important;
  background: var(--ca-wine) !important;
  box-shadow: 0 12px 32px rgba(37,6,12,.24);
  transform: translateY(-160%);
  transition: transform .2s ease;
}

.skip-link:focus {
  transform: translateY(0);
}

:where(button, input, textarea, select):disabled {
  cursor: not-allowed !important;
  opacity: .46 !important;
  filter: grayscale(.2);
}

:where(a, button):active {
  transform: scale(.985);
}

.noise {
  opacity: .035 !important;
  mix-blend-mode: multiply;
}

.cursor-dot,
.cursor-ring {
  display: none;
}

.eyebrow,
.section-index,
.kicker {
  color: var(--ca-wine) !important;
  font-weight: 750;
  letter-spacing: .21em;
}

h1,
h2,
h3,
.panel-title,
.shop-title {
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

/* Brand */
.brand__image {
  width: auto !important;
  height: clamp(31px, 2.5vw, 43px) !important;
  max-width: min(290px, 42vw) !important;
  border-radius: 0 !important;
  object-fit: contain;
}

/* Tek ve doğru CURATORIART imzası: açık zeminde bordo, koyu zeminde krem. */
.brand__image--curatoriart {
  width: auto !important;
  height: clamp(30px, 2.25vw, 40px) !important;
  max-width: min(300px, 48vw) !important;
  object-fit: contain;
}

.panel-dock-header .brand__image--curatoriart,
.market-guest-header .brand__image--curatoriart {
  filter: none !important;
}

.site-header .brand__image--curatoriart,
.site-footer .brand__image--curatoriart {
  filter: brightness(0) invert(94%) sepia(11%) saturate(258%) hue-rotate(338deg) brightness(106%) !important;
}

.preloader {
  color: var(--ca-beige) !important;
  background: var(--ca-wine-deep) !important;
}

.preloader::before {
  content: "";
  position: absolute;
  width: min(48vw, 680px);
  aspect-ratio: 1;
  border: 1px solid rgba(243,236,226,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(243,236,226,.025), 0 0 0 160px rgba(243,236,226,.018);
}

.preloader__brand,
.preloader__line {
  position: relative;
  z-index: 1;
}

.preloader__line {
  background: rgba(243,236,226,.18);
}

.preloader__line span {
  background: var(--ca-beige);
}

/* Main navigation */
.site-header {
  height: 90px;
  color: var(--ca-beige);
  background: linear-gradient(180deg, rgba(37,6,12,.92), rgba(37,6,12,.55), transparent) !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none;
}

.site-header.is-scrolled {
  height: 72px;
  background: rgba(37,6,12,.9) !important;
  border-bottom: 1px solid rgba(243,236,226,.11) !important;
  box-shadow: 0 18px 50px rgba(37,6,12,.18) !important;
  backdrop-filter: blur(24px) saturate(125%);
}

.site-header .brand__image {
  filter: brightness(0) invert(94%) sepia(11%) saturate(258%) hue-rotate(338deg) brightness(106%);
}

.main-nav {
  gap: clamp(20px, 2.5vw, 40px);
}

.main-nav > a,
.site-header .nav-user-trigger {
  color: rgba(243,236,226,.82) !important;
}

.main-nav > a {
  font-size: 10px;
  letter-spacing: .16em;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  touch-action: manipulation;
  transition: color .25s ease;
}
.main-nav > a[aria-current="page"]{color:var(--ca-beige)!important}.main-nav > a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}

.main-nav > a:hover {
  color: var(--ca-beige) !important;
}

.main-nav > a::after {
  height: 2px;
  bottom: -9px;
  background: var(--ca-beige) !important;
}

.main-nav .nav-login {
  padding: 11px 18px;
  border: 1px solid rgba(243,236,226,.28);
  background: rgba(243,236,226,.05) !important;
  color: var(--ca-beige) !important;
  transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease;
}

.main-nav .nav-login:hover {
  color: var(--ca-wine) !important;
  border-color: var(--ca-beige);
  background: var(--ca-beige) !important;
  transform: translateY(-2px);
}

.nav-user-trigger {
  background: rgba(243,236,226,.07) !important;
  border-color: rgba(243,236,226,.16) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.08) !important;
}

.nav-user-copy strong {
  color: var(--ca-beige) !important;
}

.nav-user-copy small,
.nav-user-chevron {
  color: rgba(243,236,226,.54) !important;
  stroke: currentColor;
}

.nav-user-popover {
  color: var(--ca-ink) !important;
  border: 1px solid rgba(110,18,35,.14) !important;
  background: rgba(251,247,241,.97) !important;
  box-shadow: 0 28px 80px rgba(37,6,12,.25) !important;
}

.nav-user-popover::before {
  border-color: var(--ca-line) !important;
  background: var(--ca-paper) !important;
}

.nav-user-popover .nav-user-action,
.nav-user-popover .nav-user-action strong {
  color: var(--ca-ink) !important;
}

.nav-user-popover .nav-user-action:hover {
  background: rgba(110,18,35,.06) !important;
}

.menu-toggle span {
  background: var(--ca-beige);
}

/* Hero — immersive wine field */
.hero {
  min-height: 100svh;
  color: var(--ca-beige);
  background-image:
    radial-gradient(ellipse 42% 54% at var(--mx, 50%) var(--my, 40%), rgba(255,239,218,.105), transparent 70%),
    radial-gradient(ellipse 62% 78% at 50% 48%, rgba(108,18,35,.34), rgba(12,1,4,.18) 68%, rgba(7,0,2,.5) 100%),
    linear-gradient(90deg, rgba(8,0,2,.54), rgba(63,7,19,.04) 30%, rgba(63,7,19,.05) 70%, rgba(8,0,2,.58)),
    url("../images/hero/cosmic-night-v2.webp") !important;
  background-color: #0d0104 !important;
  background-repeat: no-repeat !important;
  background-size: auto, cover, cover, cover !important;
  background-position:
    center,
    center,
    center,
    calc(50% + var(--sky-shift-x, 0px)) calc(50% + var(--sky-shift-y, 0px)) !important;
  transition: background-position .8s var(--ca-ease);
}

.brand__text{display:block;color:#6e1223;font:600 clamp(18px,1.55vw,25px)/1 Georgia,"Times New Roman",serif;letter-spacing:.13em;white-space:nowrap}.site-header .brand__text{color:#f3ece2;text-shadow:0 2px 16px rgba(0,0,0,.22)}

@media (max-width:700px) {
}

.hero::before {
  content: "";
  position: absolute;
  inset: -10%;
  z-index: 0;
  background:
    linear-gradient(116deg, transparent 12%, rgba(255,237,218,.035) 30%, transparent 48%),
    linear-gradient(74deg, transparent 52%, rgba(255,227,210,.028) 68%, transparent 86%),
    radial-gradient(ellipse 31% 78% at 23% -10%, rgba(255,244,226,.15), transparent 72%),
    radial-gradient(ellipse 36% 90% at 76% -16%, rgba(255,232,214,.12), transparent 74%),
    radial-gradient(ellipse 64% 30% at 50% 92%, rgba(221,94,119,.12), transparent 74%);
  filter: blur(28px);
  mix-blend-mode: screen;
  opacity: .78;
  animation: ca-gallery-light 18s var(--ca-ease) infinite alternate;
}

.hero::after {
  z-index: 2;
  background:
    radial-gradient(ellipse 68% 72% at 50% 48%, transparent 54%, rgba(18,1,5,.2) 100%),
    linear-gradient(90deg, rgba(20,2,6,.58), transparent 25%, transparent 75%, rgba(20,2,6,.6)),
    linear-gradient(180deg, rgba(18,1,5,.24), transparent 22%, transparent 75%, rgba(18,1,5,.42));
  pointer-events: none;
}

.hero-lights {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  mix-blend-mode: screen;
}

.hero-lights::before {
  content: "";
  position: absolute;
  inset: -12% -8% 0;
  background:
    radial-gradient(ellipse 24% 92% at 18% -12%, rgba(255,241,224,.17), transparent 69%),
    radial-gradient(ellipse 28% 98% at 52% -18%, rgba(255,234,216,.12), transparent 72%),
    radial-gradient(ellipse 23% 88% at 86% -10%, rgba(255,239,222,.14), transparent 70%);
  filter: blur(24px);
  opacity: .72;
  animation: ca-light-breathe 14s ease-in-out infinite alternate;
}

.hero-lights::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 3%;
  width: min(62vw, 920px);
  height: min(16vw, 220px);
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255,229,207,.13), rgba(173,42,66,.07) 44%, transparent 74%);
  filter: blur(24px);
  transform: translateX(-50%);
  animation: ca-gallery-pool 8s ease-in-out infinite alternate;
}

.hero-beam {
  position: absolute;
  top: -13%;
  width: 31%;
  height: 112%;
  opacity: .36;
  clip-path: polygon(41% 0, 59% 0, 100% 100%, 0 100%);
  background: linear-gradient(180deg, rgba(255,247,232,.38), rgba(255,224,205,.14) 48%, transparent 92%);
  filter: blur(17px);
  transform-origin: 50% 0;
  will-change: transform, opacity;
}

.hero-beam--left {
  left: 4%;
  transform: rotate(8deg);
  animation: ca-beam-left 13s ease-in-out infinite alternate;
}

.hero-beam--center {
  left: 34.5%;
  width: 31%;
  opacity: .28;
  animation: ca-beam-center 16s ease-in-out infinite alternate;
}

.hero-beam--right {
  right: 4%;
  transform: rotate(-8deg);
  animation: ca-beam-right 14s ease-in-out infinite alternate;
}

.hero-light-dust {
  position: absolute;
  inset: 5% 8%;
  opacity: .18;
  background-image:
    radial-gradient(circle, rgba(255,244,226,.58) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgba(255,244,226,.36) 0 1px, transparent 1.6px);
  background-position: 0 0, 37px 53px;
  background-size: 97px 89px, 131px 127px;
  mask-image: radial-gradient(ellipse at 50% 42%, #000, transparent 72%);
  animation: ca-dust-drift 34s linear infinite;
}

@keyframes ca-gallery-light {
  from { transform: translate3d(-.7%, -.4%, 0) scale(1); opacity: .68; }
  to { transform: translate3d(.7%, .4%, 0) scale(1.025); opacity: .88; }
}
@keyframes ca-light-breathe { to { transform: translate3d(.8%, 0, 0) scaleX(1.025); opacity: .86; } }

@keyframes ca-beam-left { to { transform: rotate(3deg) translateX(4%); opacity: .5; } }
@keyframes ca-beam-center { to { transform: rotate(-2deg) scaleX(1.08); opacity: .4; } }
@keyframes ca-beam-right { to { transform: rotate(-3deg) translateX(-4%); opacity: .48; } }
@keyframes ca-gallery-pool { to { transform: translateX(-50%) scale(1.08); opacity: .72; } }
@keyframes ca-hero-glow { to { transform: scale(1.07); opacity: .76; } }
@keyframes ca-dust-drift { to { background-position: 97px 89px, -94px 180px; } }

.hero-glow {
  width: min(66vw, 920px);
  z-index: 1;
  background:
    radial-gradient(ellipse, rgba(255,238,218,.13), rgba(181,53,75,.12) 38%, rgba(110,18,35,.06) 58%, transparent 73%);
  filter: blur(30px);
  animation: ca-hero-glow 14s ease-in-out infinite alternate;
}

.orbit {
  z-index: 2;
  border-color: rgba(243,236,226,.13) !important;
}

.orbit--outer {
  width: min(57vw, 860px);
  box-shadow: 0 0 90px rgba(243,236,226,.025);
}

.orbit--inner {
  width: min(41vw, 620px);
}

.orbit-dot {
  width: 9px;
  height: 9px;
  background: var(--ca-beige);
  box-shadow: 0 0 0 7px rgba(243,236,226,.08), 0 0 28px rgba(243,236,226,.45);
}

.hero-content {
  width: min(960px, 92vw);
  padding-top: 70px;
}

.availability {
  color: rgba(243,236,226,.72);
  border-color: rgba(243,236,226,.19);
  background: rgba(243,236,226,.07);
  box-shadow: inset 0 1px rgba(255,255,255,.07), 0 10px 30px rgba(37,6,12,.18);
  backdrop-filter: blur(14px);
}

.availability span {
  background: var(--ca-beige);
  box-shadow: 0 0 0 4px rgba(243,236,226,.08), 0 0 16px rgba(243,236,226,.55);
}

.hero h1 {
  margin: clamp(36px, 5vh, 64px) 0 30px;
  filter: drop-shadow(0 18px 42px rgba(37,6,12,.18));
}

.hero-title-sans {
  color: var(--ca-beige);
  font-size: clamp(100px, 14vw, 225px);
  font-weight: 760;
}

.hero-title-serif {
  color: rgba(243,236,226,.64) !important;
  font-family: "Iowan Old Style", Baskerville, Georgia, serif;
  font-size: clamp(86px, 11.8vw, 188px);
}

.hero-notes {
  color: rgba(243,236,226,.62);
}

.hero-divider {
  background: rgba(243,236,226,.2);
}

.scroll-cue {
  color: rgba(243,236,226,.52);
}

.scroll-cue i {
  background: linear-gradient(to bottom, rgba(243,236,226,.4), transparent);
}

/* Home editorial sections */
.section {
  border-color: var(--ca-line);
}

.works {
  color: var(--ca-ink);
  background:
    radial-gradient(ellipse 34% 18% at 82% 6%, rgba(110,18,35,.055), transparent 72%),
    var(--ca-beige) !important;
  background-size: auto;
}

.section-head h2,
.about h2,
.service-row h3 {
  color: var(--ca-ink);
}

.section-head em,
.about em {
  color: var(--ca-wine) !important;
}

.project-media {
  border-radius: var(--ca-radius-sm);
  background: rgba(110,18,35,.08);
  box-shadow: var(--ca-shadow);
}

.project-media::after {
  border: 1px solid rgba(243,236,226,.32);
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(110,18,35,.06);
}

.project-card {
  transition: transform .55s var(--ca-ease);
}

.project-card:hover {
  transform: translateY(-8px);
}

.project-card:hover .project-media {
  box-shadow: var(--ca-shadow-hover);
}

.project-meta {
  color: rgba(110,18,35,.58);
}

.project-card h3 {
  color: var(--ca-ink);
}

.about {
  color: var(--ca-beige);
  background:
    radial-gradient(circle at 78% 25%, rgba(243,236,226,.08), transparent 26rem),
    var(--ca-wine) !important;
}

.about .eyebrow,
.about .section-index,
.about h2,
.about h2 em {
  color: var(--ca-beige) !important;
}

.about-body,
.about-body p,
.about-body p + p {
  color: rgba(243,236,226,.72) !important;
}

.stats {
  border-color: rgba(243,236,226,.2);
}

.stats > div {
  border-color: rgba(243,236,226,.16);
  transition: background .3s ease;
}

.stats > div:hover {
  background: rgba(243,236,226,.06);
}

.stats strong,
.stats small {
  color: var(--ca-beige) !important;
}

.services {
  color: var(--ca-ink);
  background: var(--ca-paper) !important;
}

.service-row {
  border-color: var(--ca-line);
  transition: color .32s ease, background .32s ease, padding .32s var(--ca-ease);
}

.service-row:hover {
  color: var(--ca-beige);
  padding-inline: 24px;
  background: var(--ca-wine);
  border-color: var(--ca-wine);
}

.service-row:hover h3,
.service-row:hover p,
.service-row:hover span,
.service-row:hover i {
  color: var(--ca-beige) !important;
}

.service-row p {
  color: var(--ca-muted);
}

.contact {
  color: var(--ca-beige);
  background:
    radial-gradient(circle at 50% 50%, rgba(243,236,226,.09), transparent 32%),
    var(--ca-wine-deep) !important;
}

.contact::before {
  content: "";
  position: absolute;
  inset: -12%;
  background:
    radial-gradient(ellipse 18% 85% at 24% -8%, rgba(255,244,226,.13), transparent 72%),
    radial-gradient(ellipse 20% 90% at 76% -10%, rgba(255,244,226,.1), transparent 74%),
    radial-gradient(ellipse 58% 28% at 50% 92%, rgba(232,117,135,.1), transparent 72%);
  background-size: auto;
  filter: blur(18px);
  mask-image: radial-gradient(ellipse 82% 92% at 50% 45%, #000 18%, transparent 88%);
  animation: ca-gallery-light 14s ease-in-out infinite alternate;
}

.contact-content {
  position: relative;
  z-index: 1;
}

.contact .eyebrow,
.contact h2,
.contact h2 em {
  color: var(--ca-beige) !important;
}

.contact-link {
  color: var(--ca-beige) !important;
  border-color: rgba(243,236,226,.24) !important;
}

.contact-link:hover {
  color: var(--ca-wine) !important;
  background: var(--ca-beige) !important;
}

.contact-orbit {
  border-color: rgba(243,236,226,.12) !important;
}

.site-footer {
  color: var(--ca-beige) !important;
  background: var(--ca-wine-deep) !important;
  border-color: rgba(243,236,226,.12) !important;
}

.site-footer p,
.site-footer a,
.site-footer span {
  color: rgba(243,236,226,.68) !important;
}

.site-footer a:hover {
  color: var(--ca-beige) !important;
}

.site-footer .brand__image {
  filter: brightness(0) invert(94%) sepia(11%) saturate(258%) hue-rotate(338deg) brightness(106%);
}

/* Floating navigation for marketplace and account areas */
.panel-dock-header,
.market-nav-shell {
  color: var(--ca-ink) !important;
  background: rgba(243,236,226,.86) !important;
  border-color: var(--ca-line) !important;
  box-shadow: 0 18px 55px rgba(65,8,20,.1) !important;
  backdrop-filter: blur(24px) saturate(140%);
}

.panel-dock {
  padding: 5px !important;
  border: 1px solid var(--ca-line) !important;
  border-radius: 20px !important;
  background: rgba(251,247,241,.9) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.6), 0 16px 42px rgba(65,8,20,.08) !important;
}

.panel-dock__item {
  color: var(--ca-ink) !important;
  border-radius: 15px !important;
  transition: color .24s ease, background .24s ease, transform .24s ease !important;
}

.panel-dock__item:hover,
.panel-dock__item.is-active {
  color: var(--ca-beige) !important;
  background: var(--ca-wine) !important;
  transform: translateY(-1px);
}

.panel-dock__icon {
  color: currentColor !important;
  border-color: transparent !important;
  background: transparent !important;
}

.panel-dock__item:hover .panel-dock__icon,
.panel-dock__item.is-active .panel-dock__icon {
  color: var(--ca-beige) !important;
  background: transparent !important;
}

.panel-dock__item.is-profile .panel-dock__icon {
  color: var(--ca-wine) !important;
  background: rgba(110,18,35,.08) !important;
}

.panel-dock__item.is-profile:hover .panel-dock__icon,
.panel-dock__item.is-profile.is-active .panel-dock__icon {
  color: var(--ca-beige) !important;
  background: rgba(243,236,226,.12) !important;
}

.panel-dock__badge {
  color: var(--ca-beige) !important;
  border-color: var(--ca-paper) !important;
  background: var(--ca-wine) !important;
}

.panel-dock__item.is-active .panel-dock__badge {
  color: var(--ca-wine) !important;
  background: var(--ca-beige) !important;
}

.panel-dock__separator {
  background: var(--ca-line) !important;
}

.panel-dock-status {
  color: rgba(52,16,24,.58) !important;
}

.panel-dock-status i {
  background: var(--ca-wine) !important;
  box-shadow: 0 0 0 4px rgba(110,18,35,.08) !important;
}

/* Marketplace */
.market-shell {
  width: min(1480px, calc(100% - clamp(36px, 8vw, 120px)));
  padding-top: clamp(58px, 7vw, 100px);
}

.market-hero {
  min-height: min(68vh, 700px);
  align-items: center;
  padding: clamp(42px, 6vw, 86px);
  border: 1px solid rgba(243,236,226,.12);
  border-radius: var(--ca-radius-lg);
  color: var(--ca-beige);
  background:
    radial-gradient(circle at 78% 22%, rgba(243,236,226,.12), transparent 24rem),
    var(--ca-wine) !important;
  box-shadow: 0 30px 90px rgba(65,8,20,.18);
  overflow: hidden;
  position: relative;
}

.market-hero::after {
  content: "";
  position: absolute;
  right: -10%;
  bottom: -55%;
  width: 62%;
  aspect-ratio: 1;
  border: 1px solid rgba(243,236,226,.14);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(243,236,226,.025), 0 0 0 140px rgba(243,236,226,.018);
}

.market-hero > * {
  position: relative;
  z-index: 1;
}

.market-hero h1,
.market-hero h1 em,
.market-hero p,
.market-hero .eyebrow {
  color: var(--ca-beige) !important;
}

.market-search {
  padding: 8px;
  border: 1px solid rgba(243,236,226,.22);
  border-radius: 999px;
  background: rgba(243,236,226,.07);
  backdrop-filter: blur(14px);
}

.market-search input {
  min-width: 0;
  padding: 10px 14px;
  color: var(--ca-beige) !important;
}

.market-search input::placeholder {
  color: rgba(243,236,226,.55);
}

.market-search button {
  padding: 11px 17px;
  border-radius: 999px;
  color: var(--ca-wine) !important;
  background: var(--ca-beige) !important;
}

.market-section {
  padding: clamp(28px, 4vw, 54px);
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-lg);
  background: rgba(251,247,241,.58) !important;
  box-shadow: 0 18px 60px rgba(65,8,20,.055) !important;
}

.market-section-head {
  padding-bottom: 22px;
  border-bottom: 1px solid var(--ca-line);
}

.market-section-head h2,
.market-section-head p {
  color: var(--ca-ink) !important;
}

.art-grid {
  gap: clamp(14px, 1.7vw, 26px);
}

.art-card,
.artist-card {
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-md);
  color: var(--ca-ink) !important;
  background: rgba(255,255,255,.45) !important;
  box-shadow: 0 14px 40px rgba(65,8,20,.06) !important;
  overflow: hidden;
  transition: transform .35s var(--ca-ease), box-shadow .35s var(--ca-ease), border-color .35s ease !important;
}

.art-card:hover,
.artist-card:hover {
  transform: translateY(-8px);
  border-color: var(--ca-line-strong) !important;
  box-shadow: var(--ca-shadow-hover) !important;
}

.art-card-media {
  background: rgba(110,18,35,.06) !important;
}

.art-card-copy {
  padding: clamp(18px, 2vw, 28px);
}

.art-card-copy > span,
.art-card-foot,
.artist-card p,
.artist-card > span {
  color: var(--ca-muted) !important;
}

.art-card-copy h3,
.art-card-foot strong,
.artist-card h3 {
  color: var(--ca-ink) !important;
}

.sale-badge {
  color: var(--ca-beige) !important;
  border: 1px solid rgba(243,236,226,.22) !important;
  background: rgba(110,18,35,.88) !important;
  box-shadow: 0 8px 24px rgba(65,8,20,.18);
}

.artist-card {
  min-height: 250px;
}

.artist-card img,
.artist-avatar {
  color: var(--ca-beige) !important;
  border: 5px solid rgba(255,255,255,.68);
  background: var(--ca-wine) !important;
  box-shadow: 0 12px 30px rgba(65,8,20,.14);
}

.empty-market {
  border: 1px dashed var(--ca-line-strong) !important;
  border-radius: var(--ca-radius-md);
  color: var(--ca-muted) !important;
  background: rgba(255,255,255,.26);
}

/* Artwork / artist detail */
.detail-layout,
.artist-profile-head {
  padding: clamp(24px, 4vw, 56px);
  border: 1px solid var(--ca-line);
  border-radius: var(--ca-radius-lg);
  background: rgba(251,247,241,.62);
  box-shadow: var(--ca-shadow);
}

.detail-image img {
  border-radius: var(--ca-radius-md);
  background: rgba(110,18,35,.06) !important;
}

.detail-copy h1,
.detail-price,
.artist-profile-head h1 {
  color: var(--ca-ink) !important;
}

.detail-description,
.shipping-copy,
.artist-profile-head p {
  color: var(--ca-muted) !important;
}

.owner-link {
  border-color: var(--ca-line) !important;
}

.owner-link img,
.owner-link > span {
  color: var(--ca-beige) !important;
  background: var(--ca-wine) !important;
}

.action-row button,
.social-action,
.purchase-button,
.inquiry-submit,
.comment-form button,
.request-form button,
.lesson-box a {
  min-height: 48px;
  border: 1px solid var(--ca-line-strong) !important;
  border-radius: var(--ca-radius-sm);
  color: var(--ca-wine) !important;
  background: transparent !important;
  font-weight: 750;
  transition: color .24s ease, background .24s ease, transform .24s ease;
}

.action-row button:hover,
.social-action:hover,
.purchase-button:hover,
.inquiry-submit:hover,
.comment-form button:hover,
.request-form button:hover,
.lesson-box a:hover {
  color: var(--ca-beige) !important;
  background: var(--ca-wine) !important;
  transform: translateY(-2px);
}

.action-row .buy-button,
.purchase-button {
  color: var(--ca-beige) !important;
  background: var(--ca-wine) !important;
}

.comment-form textarea,
.request-form textarea,
.request-form input,
.request-form select,
.checkout-form input,
.checkout-form textarea,
.checkout-form select {
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-sm);
  color: var(--ca-ink) !important;
  background: rgba(255,255,255,.58) !important;
}

.comment-list article {
  border-color: var(--ca-line) !important;
}

.comment-list p {
  color: var(--ca-muted) !important;
}

.lesson-box,
.request-form,
.purchase-inquiry-box,
.purchase-panel,
.report-box,
.commerce-trust {
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-md);
  color: var(--ca-ink) !important;
  background: rgba(255,255,255,.42) !important;
  box-shadow: 0 14px 44px rgba(65,8,20,.06);
}

/* Authentication */
.auth-page {
  background: var(--ca-wine-deep) !important;
}

.auth-shell {
  width: min(1320px, calc(100% - 40px));
  margin-inline: auto;
}

.auth-story {
  color: var(--ca-beige) !important;
  border: 1px solid rgba(243,236,226,.13) !important;
  border-radius: var(--ca-radius-lg) 0 0 var(--ca-radius-lg);
  background:
    radial-gradient(circle at 70% 20%, rgba(243,236,226,.12), transparent 22rem),
    var(--ca-wine) !important;
}

.auth-story h1,
.auth-story h1 em,
.auth-story p,
.auth-story span,
.auth-story strong,
.auth-story .eyebrow {
  color: var(--ca-beige) !important;
}

.art-plane {
  border-color: rgba(243,236,226,.18) !important;
  background: rgba(243,236,226,.04) !important;
}

.auth-card {
  color: var(--ca-ink) !important;
  border: 1px solid rgba(110,18,35,.12) !important;
  border-radius: 0 var(--ca-radius-lg) var(--ca-radius-lg) 0;
  background: var(--ca-beige) !important;
  box-shadow: 0 30px 90px rgba(37,6,12,.28) !important;
}

.auth-card h2,
.auth-card p,
.auth-card label,
.form-meta,
.back-home,
.reset-back {
  color: var(--ca-ink) !important;
}

.auth-card input,
.auth-card select,
.auth-card textarea {
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-sm);
  color: var(--ca-ink) !important;
  background: rgba(255,255,255,.56) !important;
}

.password-field button {
  min-width: 44px !important;
  min-height: 44px !important;
}

.login-submit,
.auth-card button[type="submit"] {
  min-height: 54px;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--ca-beige) !important;
  background: var(--ca-wine) !important;
  box-shadow: 0 16px 36px rgba(65,8,20,.18);
  transition: transform .24s ease, box-shadow .24s ease !important;
}

.login-submit:hover,
.auth-card button[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 44px rgba(65,8,20,.24);
}

.auth-status-pill,
.auth-trust,
.form-alert {
  border-color: var(--ca-line) !important;
  color: var(--ca-wine) !important;
  background: rgba(110,18,35,.055) !important;
}

/* Shared forms and cards */
:where(.panel-card, .studio-card, .profile-card, .member-stats > article,
.member-activity > article, .seller-orders article, .order-list > article,
.cart-summary, .checkout-note, .bank-preview, .payment-card, .admin-section,
.admin-metrics article, .admin-rail, .request-board, .request-item) {
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-md) !important;
  color: var(--ca-ink) !important;
  background: rgba(251,247,241,.64) !important;
  box-shadow: 0 16px 50px rgba(65,8,20,.06) !important;
}

:where(.panel-card, .studio-card, .member-stats > article, .member-activity > article,
.seller-orders article, .order-list > article, .request-item) {
  transition: border-color .28s ease, transform .28s var(--ca-ease), box-shadow .28s ease;
}

:where(.panel-card, .studio-card, .member-stats > article, .member-activity > article,
.seller-orders article, .order-list > article, .request-item):hover {
  border-color: var(--ca-line-strong) !important;
  transform: translateY(-3px);
  box-shadow: var(--ca-shadow) !important;
}

:where(.panel-page, .studio-page, .profile-page, .member-page, .admin-console) h1,
:where(.panel-page, .studio-page, .profile-page, .member-page, .admin-console) h2,
:where(.panel-page, .studio-page, .profile-page, .member-page, .admin-console) h3 {
  color: var(--ca-ink) !important;
}

:where(.panel-page, .studio-page, .profile-page, .member-page, .admin-console) p,
:where(.panel-page, .studio-page, .profile-page, .member-page, .admin-console) small {
  color: var(--ca-muted) !important;
}

:where(.panel-page, .studio-page, .profile-page, .member-page, .admin-console)
:where(input, textarea, select) {
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-sm) !important;
  color: var(--ca-ink) !important;
  background: rgba(255,255,255,.58) !important;
}

:where(.panel-page, .studio-page, .profile-page, .member-page, .admin-console)
:where(button, .site-save, .quick-actions a) {
  border-radius: var(--ca-radius-sm);
}

.panel-page button[type="submit"],
.profile-page button[type="submit"],
.admin-console button:not(.ghost):not(.danger),
.site-save,
.quick-actions a:first-child {
  color: var(--ca-beige) !important;
  border-color: var(--ca-wine) !important;
  background: var(--ca-wine) !important;
}

.panel-message,
.profile-message,
.flash,
.admin-flash,
.studio-alert,
.order-success {
  border: 1px solid var(--ca-line-strong) !important;
  border-radius: var(--ca-radius-sm);
  color: var(--ca-wine) !important;
  background: rgba(110,18,35,.06) !important;
}

.studio-orb,
.profile-orb,
.admin-orbit,
.art-orbit {
  border-color: var(--ca-line) !important;
  background: radial-gradient(circle, rgba(110,18,35,.07), transparent 65%) !important;
  box-shadow: none !important;
}

.metric-icon,
.artwork-count,
.request-status,
.status-chip {
  color: var(--ca-wine) !important;
  border-color: var(--ca-line) !important;
  background: rgba(110,18,35,.07) !important;
}

.progress,
.chart {
  background: rgba(110,18,35,.07) !important;
}

.progress i,
.chart i {
  background: var(--ca-wine) !important;
}

/* Cart, checkout, payment and orders */
.cart-list {
  border-color: var(--ca-line) !important;
}

.cart-list article {
  border-color: var(--ca-line) !important;
}

.cart-list img,
.order-products img {
  border-radius: var(--ca-radius-sm);
}

.cart-list span,
.cart-list small,
.cart-summary small,
.orders-head p,
.order-status,
.seller-copy {
  color: var(--ca-muted) !important;
}

.cart-list form button,
.order-list button {
  color: var(--ca-wine) !important;
  border: 1px solid var(--ca-line-strong) !important;
  border-radius: var(--ca-radius-sm);
  background: transparent !important;
}

.cart-summary {
  top: 112px !important;
}

.cart-summary > div,
.order-status,
.order-list header {
  border-color: var(--ca-line) !important;
}

.cart-summary > a,
.checkout-form button,
.payment-shell a,
.orders-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  border-radius: var(--ca-radius-sm);
  color: var(--ca-beige) !important;
  background: var(--ca-wine) !important;
}

.order-products a {
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-sm);
  color: var(--ca-ink) !important;
  background: rgba(255,255,255,.45) !important;
}

.payment-choice {
  border: 1px solid var(--ca-line) !important;
  border-radius: var(--ca-radius-sm);
  background: rgba(255,255,255,.36) !important;
}

/* Admin console */
.admin-shell,
.admin-workspace,
.admin-content {
  color: var(--ca-ink) !important;
}

.admin-hero {
  padding: clamp(36px, 5vw, 70px);
  border: 1px solid rgba(243,236,226,.12) !important;
  border-radius: var(--ca-radius-lg);
  color: var(--ca-beige) !important;
  background:
    radial-gradient(circle at 75% 20%, rgba(243,236,226,.11), transparent 24rem),
    var(--ca-wine) !important;
  box-shadow: 0 26px 80px rgba(65,8,20,.17);
}

.admin-hero h1,
.admin-hero h1 em,
.admin-hero p,
.admin-hero .eyebrow {
  color: var(--ca-beige) !important;
}

.admin-section > header {
  border-color: var(--ca-line) !important;
}

.admin-row,
.admin-art-grid article,
.admin-comment-list article,
.admin-report-list article,
.audit-list article,
.notification-item,
.payment-method-card,
.site-control-group {
  border-color: var(--ca-line) !important;
  color: var(--ca-ink) !important;
  background: rgba(255,255,255,.4) !important;
}

.admin-row:hover,
.admin-art-grid article:hover,
.notification-item:hover {
  background: rgba(255,255,255,.72) !important;
}

.admin-row button,
.report-review-form button,
.site-save {
  color: var(--ca-beige) !important;
  background: var(--ca-wine) !important;
}

.danger,
.report-delete,
.panel-dock__logout:hover {
  color: #fff !important;
  background: #7c1c2e !important;
}

.admin-chart i,
.admin-metrics i {
  background: var(--ca-wine) !important;
}

/* Responsive refinements */
@media (max-width: 1100px) {
  .main-nav {
    gap: 18px;
  }
  .main-nav > a {
    font-size: 9px;
  }
  .market-hero {
    min-height: auto;
    padding: 50px 34px;
  }
}

@media (max-width: 900px) {
  .site-header {
    height: 76px;
    background: rgba(37,6,12,.9) !important;
    backdrop-filter: blur(20px);
  }
  .main-nav {
    color: var(--ca-beige);
    background: rgba(37,6,12,.985) !important;
  }
  .main-nav > a {
    color: var(--ca-beige) !important;
  }
  .hero-content {
    padding-top: 90px;
  }
  .orbit--outer {
    width: min(86vw, 760px);
  }
  .orbit--inner {
    width: min(66vw, 580px);
  }
  .about-grid,
  .market-hero,
  .shop-shell,
  .detail-layout {
    grid-template-columns: 1fr !important;
  }
  .about-body {
    padding-top: 20px;
  }
  .stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .stats > div:nth-child(2) {
    border-right: 0;
  }
  .market-hero {
    gap: 30px;
  }
  .auth-shell {
    width: min(760px, calc(100% - 28px));
  }
  .auth-story,
  .auth-card {
    border-radius: var(--ca-radius-lg) !important;
  }
  .auth-card {
    order: -1;
  }
  .auth-story {
    min-height: 380px;
  }
}

@supports (content-visibility: auto) {
  .portfolio-teaser,
  .about,
  .services,
  .contact,
  .site-footer {
    content-visibility: auto;
    contain-intrinsic-size: 1px 900px;
  }
}

@media (max-width: 700px) {
  .brand__image {
    height: 30px !important;
    max-width: 190px !important;
  }
  .hero {
    min-height: 900px;
  }
  .hero h1 {
    margin-top: 54px;
  }
  .hero-title-sans {
    font-size: clamp(88px, 30vw, 145px);
  }
  .hero-title-serif {
    font-size: clamp(76px, 26vw, 128px);
  }
  .hero-notes {
    grid-template-columns: 1fr;
    gap: 12px;
    width: min(420px, 82vw);
  }
  .hero::before {
    inset: -12%;
    background:
      radial-gradient(ellipse 30% 80% at 22% -8%, rgba(255,244,226,.2), transparent 72%),
      radial-gradient(ellipse 34% 86% at 78% -10%, rgba(255,244,226,.16), transparent 74%),
      radial-gradient(ellipse 70% 30% at 50% 88%, rgba(232,117,135,.12), transparent 72%);
  }
  .hero-beam {
    width: 48%;
    opacity: .28;
  }
  .hero-beam--left {
    left: -8%;
  }
  .hero-beam--center {
    left: 26%;
    opacity: .2;
  }
  .hero-beam--right {
    right: -8%;
  }
  .hero-light-dust {
    opacity: .22;
  }
  .hero-notes p:first-child,
  .hero-notes p:last-child {
    text-align: center;
  }
  .hero-divider {
    width: 60px;
    height: 1px;
    margin: 5px auto;
  }
  .project-grid,
  .art-grid,
  .artist-grid {
    grid-template-columns: 1fr !important;
  }
  .project-card:nth-child(3),
  .project-card--wide {
    width: 100%;
    margin: 0;
    grid-column: auto;
  }
  .project-media,
  .project-card--large .project-media,
  .project-card--wide .project-media {
    aspect-ratio: 4 / 5;
  }
  .stats {
    grid-template-columns: 1fr;
  }
  .stats > div {
    border-right: 0;
    border-bottom: 1px solid rgba(243,236,226,.16);
  }
  .service-row:hover {
    padding-inline: 12px;
  }
  .market-shell {
    width: calc(100% - 24px);
  }
  .market-hero,
  .market-section,
  .detail-layout,
  .artist-profile-head {
    padding: 26px 20px;
    border-radius: 24px;
  }
  .market-hero h1 {
    font-size: clamp(64px, 23vw, 108px) !important;
  }
  .market-search {
    border-radius: 16px;
    flex-wrap: wrap;
  }
  .market-search button {
    width: 100%;
  }
  .detail-layout {
    display: grid;
  }
  .detail-image {
    position: static;
  }
  .action-row {
    grid-template-columns: 1fr !important;
  }
  .action-row .buy-button {
    grid-column: auto !important;
  }
  .contact-pair,
  .form-pair {
    grid-template-columns: 1fr !important;
  }
  .panel-dock-header,
  .market-nav-shell {
    padding-inline: 12px !important;
  }
  .panel-dock-status {
    display: none !important;
  }
}

/* 2026 finish pass — consistent soft geometry */
:root {
  --ca-radius-control: 16px;
  --ca-radius-card: 26px;
  --ca-radius-feature: 38px;
}

:where(
  .project-media,
  .project-card > a,
  .art-card,
  .art-card-media,
  .artist-card,
  .market-hero,
  .market-section,
  .detail-image,
  .detail-image img,
  .artist-profile-head,
  .lesson-box,
  .request-form,
  .empty-market,
  .service-row,
  .stats
) {
  border-radius: var(--ca-radius-card) !important;
}

:where(
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
  textarea,
  select,
  button,
  .file-label > span
) {
  border-radius: var(--ca-radius-control) !important;
}

.project-card > a,
.project-media,
.art-card,
.art-card-media,
.artist-card,
.detail-image,
.stats {
  overflow: hidden;
}

/* Marketplace search — a single clean capsule, not a rectangular input in a shell */
.market-search {
  min-height: 64px;
  padding: 6px !important;
  overflow: hidden;
  border: 1px solid rgba(110,18,35,.28) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.3) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 16px 38px rgba(65,8,20,.09);
}

.market-search input {
  min-width: 0;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--ca-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.market-search input::placeholder {
  color: rgba(110,18,35,.46);
}

.market-search button {
  flex: 0 0 auto;
  min-width: 76px;
  min-height: 50px;
  padding-inline: 18px !important;
  border: 1px solid rgba(110,18,35,.12) !important;
  border-radius: 999px !important;
  color: var(--ca-wine) !important;
  background: var(--ca-paper) !important;
  box-shadow:
    0 8px 18px rgba(65,8,20,.12),
    inset 0 1px 0 #fff;
  transition: transform .24s var(--ca-ease), box-shadow .24s ease, color .24s ease, background .24s ease;
}

.market-search button:hover {
  color: var(--ca-beige) !important;
  background: var(--ca-wine) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 25px rgba(65,8,20,.2);
}

/* Artist dashboard — clean light surface with restrained 3D depth */
.studio-page .metric-grid {
  padding: 10px !important;
  gap: 10px !important;
  overflow: visible !important;
  border: 1px solid rgba(110,18,35,.17) !important;
  border-radius: var(--ca-radius-feature) !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.72), rgba(230,216,205,.62)) !important;
  box-shadow:
    0 28px 70px rgba(65,8,20,.12),
    inset 0 1px 0 rgba(255,255,255,.9) !important;
  backdrop-filter: blur(22px) saturate(120%);
}

.studio-page .metric-grid > article {
  min-height: 176px;
  overflow: hidden;
  border: 1px solid rgba(110,18,35,.12) !important;
  border-radius: 28px !important;
  color: var(--ca-ink) !important;
  background:
    radial-gradient(circle at var(--spatial-x, 20%) var(--spatial-y, 0%), rgba(255,255,255,.96), transparent 34%),
    linear-gradient(145deg, rgba(251,247,241,.98), rgba(239,228,217,.9)) !important;
  box-shadow:
    0 12px 24px rgba(65,8,20,.08),
    inset 0 1px 0 #fff,
    inset 0 -1px 0 rgba(110,18,35,.08) !important;
}

.studio-page .metric-grid > article::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(112deg, rgba(255,255,255,.52), transparent 34%, rgba(110,18,35,.025));
  pointer-events: none;
}

.studio-page .metric-grid :where(span, small) {
  position: relative;
  z-index: 1;
  color: var(--ca-muted) !important;
}

.studio-page .metric-grid strong {
  position: relative;
  z-index: 1;
  color: var(--ca-ink) !important;
}

.studio-page .metric-icon {
  z-index: 2;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(110,18,35,.13) !important;
  border-radius: 13px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.studio-page .chart {
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(110,18,35,.025), rgba(110,18,35,.055)) !important;
}

/* Floating panel navigation — clearer, elevated and tactile */
.panel-dock {
  padding: 7px !important;
  gap: 5px !important;
  overflow: visible;
  border: 1px solid rgba(110,18,35,.2) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(238,227,217,.9)) !important;
  box-shadow:
    0 4px 0 rgba(110,18,35,.08),
    0 20px 42px rgba(65,8,20,.16),
    inset 0 1px 0 #fff,
    inset 0 -1px 0 rgba(110,18,35,.08) !important;
  transform: perspective(1100px) rotateX(2deg) translateZ(0);
  transform-style: preserve-3d;
}

.panel-dock::before {
  inset: 2px !important;
  border-radius: 21px !important;
  background:
    radial-gradient(circle at 24% 0%, rgba(255,255,255,.92), transparent 35%),
    linear-gradient(90deg, rgba(110,18,35,.035), transparent 45%) !important;
}

.panel-dock::after {
  width: 24% !important;
  height: 100% !important;
  left: -28% !important;
  top: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.65), transparent) !important;
  transform: skewX(-18deg) !important;
  animation: ca-dock-sheen 7s ease-in-out infinite !important;
}

.panel-dock__item {
  height: 50px;
  min-width: 50px;
  border: 1px solid transparent;
  border-radius: 17px !important;
  color: rgba(52,16,24,.8) !important;
  transform-style: preserve-3d;
}

.panel-dock__item:hover {
  border-color: rgba(110,18,35,.11);
  color: var(--ca-wine) !important;
  background: rgba(255,255,255,.62) !important;
  box-shadow:
    0 8px 18px rgba(65,8,20,.1),
    inset 0 1px 0 #fff;
  transform: translateY(-3px) translateZ(18px) !important;
}

.panel-dock__item.is-active {
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 17px !important;
  color: var(--ca-beige) !important;
  background:
    linear-gradient(145deg, #86172c, #65101f) !important;
  box-shadow:
    0 4px 0 #470a15,
    0 12px 24px rgba(65,8,20,.28),
    inset 0 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(0,0,0,.18) !important;
  transform: translateY(-2px) translateZ(22px) !important;
}

.panel-dock__badge {
  border-color: var(--ca-paper) !important;
  color: var(--ca-wine) !important;
  background: var(--ca-beige) !important;
  box-shadow: 0 5px 12px rgba(65,8,20,.18);
}

.panel-dock__separator {
  background: rgba(110,18,35,.16) !important;
}

@keyframes ca-dock-sheen {
  0%, 58% { left: -28%; opacity: 0; }
  68% { opacity: .8; }
  86%, 100% { left: 106%; opacity: 0; }
}

/* Fixed 3D return control — appears only after the first stage */
.back-to-top {
  --back-rx: 0deg;
  --back-ry: 0deg;
  position: fixed;
  z-index: 120;
  right: clamp(18px, 3vw, 46px);
  bottom: clamp(18px, 3vw, 42px);
  width: 70px;
  height: 82px;
  padding: 0;
  display: grid;
  place-items: start center;
  border: 0 !important;
  border-radius: 24px !important;
  color: var(--ca-beige);
  background: transparent;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, 28px, 0) scale(.84);
  transition:
    opacity .35s ease,
    visibility .35s ease,
    transform .55s var(--ca-ease);
  perspective: 900px;
}

.back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate3d(0, 0, 0) scale(1);
}

.back-to-top__face {
  position: relative;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(243,236,226,.34);
  border-radius: 21px;
  background:
    radial-gradient(circle at 30% 18%, rgba(255,255,255,.25), transparent 30%),
    linear-gradient(145deg, #8d1b31, #530b19);
  box-shadow:
    0 6px 0 #35060f,
    0 18px 34px rgba(37,6,12,.34),
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -1px 0 rgba(0,0,0,.24);
  transform: rotateX(var(--back-rx)) rotateY(var(--back-ry)) translateZ(20px);
  transform-style: preserve-3d;
  transition: transform .18s ease, box-shadow .24s ease;
  animation: ca-back-float 3.2s ease-in-out infinite;
}

.back-to-top__face::before {
  content: "";
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(243,236,226,.23);
  border-radius: 15px;
  transform: translateZ(13px);
}

.back-to-top__face i {
  position: absolute;
  inset: -35%;
  background: conic-gradient(from 0deg, transparent, rgba(243,236,226,.28), transparent 28%);
  animation: ca-back-spin 4.5s linear infinite;
}

.back-to-top__face b {
  position: relative;
  z-index: 2;
  font: 400 25px/1 Georgia, serif;
  transform: translateZ(28px);
  text-shadow: 0 5px 12px rgba(37,6,12,.36);
}

.back-to-top__label {
  margin-top: 8px;
  color: rgba(52,16,24,.78);
  font: 800 7px/1 ui-monospace, monospace;
  letter-spacing: .18em;
}

.back-to-top:hover .back-to-top__face {
  box-shadow:
    0 8px 0 #35060f,
    0 24px 42px rgba(37,6,12,.42),
    inset 0 1px 0 rgba(255,255,255,.34);
}

@keyframes ca-back-float {
  50% { translate: 0 -4px; }
}

@keyframes ca-back-spin {
  to { transform: rotate(360deg); }
}

.brand--footer .brand__image {
  height: 34px !important;
  max-width: min(260px, 62vw) !important;
}

@media (max-width: 760px) {
  .panel-dock-header,
  .market-nav-shell {
    backdrop-filter: none !important;
  }
  .panel-dock {
    gap: 2px !important;
    border-radius: 22px !important;
    transform: none;
  }
  .panel-dock__item,
  .panel-dock__item.is-active {
    min-width: 0 !important;
    flex: 1 1 0;
    padding-inline: 6px !important;
    border-radius: 15px !important;
    transform: none !important;
  }
  .back-to-top {
    right: 14px;
    bottom: 96px;
    width: 60px;
    height: 72px;
  }
  .back-to-top__face {
    width: 54px;
    height: 54px;
    border-radius: 18px;
  }
  .market-search {
    min-height: 58px;
  }
  .market-search button {
    min-height: 46px;
  }
}

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

/* Keep this final override last: header blur otherwise becomes a fixed-position containing block. */
@media (max-width: 900px) {
  html.menu-open,
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.menu-open .site-header .main-nav {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
  }
}

/* Mobile home hero: keep the opening content anchored below the fixed header. */
@media (max-width: 700px) {
  .hero {
    display: block !important;
    min-height: max(700px, 100svh) !important;
    height: auto !important;
    padding: clamp(118px, 16svh, 138px) 16px 118px;
    background-position: center, center, center, center !important;
  }

  .hero-content {
    width: 100% !important;
    max-width: 460px !important;
    margin: 0 auto;
    padding-top: 0 !important;
    transform: none !important;
  }

  .hero h1 {
    margin: clamp(34px, 4.8svh, 46px) 0 clamp(30px, 4svh, 38px) !important;
  }

  .hero-notes {
    width: min(390px, 88vw) !important;
    gap: 10px !important;
    line-height: 1.65;
  }

  .hero-divider {
    margin: 2px auto !important;
  }

  .scroll-cue {
    height: 90px;
  }
}

@media (max-width: 700px) and (max-height: 720px) {
  .hero {
    min-height: 700px !important;
    padding-top: 104px;
  }

  .hero h1 {
    margin: 24px 0 22px !important;
  }

  .hero-title-sans {
    font-size: clamp(82px, 28vw, 118px);
  }

  .hero-title-serif {
    font-size: clamp(72px, 24vw, 102px);
  }

  .hero-notes {
    font-size: 11px;
    gap: 8px !important;
  }

  .scroll-cue {
    height: 72px;
  }
}

/* 2026 home chrome: quieter return control and a more editorial navigation rail. */
.hero + .about {
  padding-top: clamp(110px, 10vw, 180px);
  border-top: 1px solid rgba(110,18,35,.09);
}

.back-to-top {
  right: clamp(16px,2vw,30px) !important;
  bottom: clamp(18px,2vw,30px) !important;
  width: 54px !important;
  height: 54px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden;
  border: 1px solid rgba(110,18,35,.16) !important;
  border-radius: 50% !important;
  color: var(--ca-wine) !important;
  background: rgba(250,246,240,.82) !important;
  box-shadow: 0 12px 30px rgba(65,8,20,.12), inset 0 1px 0 rgba(255,255,255,.92) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  backdrop-filter: blur(16px) saturate(120%);
  perspective: none !important;
}

.back-to-top.is-visible {
  transform: translate3d(0,0,0) scale(1) !important;
}

.back-to-top__face {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  animation: none !important;
}

.back-to-top__face::before {
  inset: 8px !important;
  border-color: rgba(110,18,35,.12) !important;
  border-radius: 50% !important;
  transform: none !important;
}

.back-to-top__face i,
.back-to-top__label {
  display: none !important;
}

.back-to-top__face svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  transform: translateY(-1px);
}

.back-to-top:hover {
  border-color: rgba(110,18,35,.28) !important;
  background: rgba(255,252,247,.96) !important;
  box-shadow: 0 16px 34px rgba(65,8,20,.16), inset 0 1px 0 #fff !important;
  transform: translate3d(0,-3px,0) scale(1) !important;
}

@media (min-width: 901px) {
  .site-header {
    height: 88px;
    padding-inline: clamp(28px,3.4vw,64px);
    border-bottom: 1px solid rgba(243,236,226,.07);
    transition: height .3s ease, background-color .3s ease, border-color .3s ease;
  }

  .site-header.is-scrolled {
    height: 76px;
    border-color: rgba(243,236,226,.1);
    background: rgba(27,3,8,.78) !important;
    -webkit-backdrop-filter: blur(22px) saturate(120%);
    backdrop-filter: blur(22px) saturate(120%);
  }

  .main-nav {
    gap: 3px !important;
    padding: 5px !important;
    border: 1px solid rgba(243,236,226,.11);
    border-radius: 999px;
    background: rgba(20,2,6,.28);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.045), 0 12px 34px rgba(6,0,2,.1);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
  }

  .main-nav > a {
    min-height: 38px;
    padding: 0 13px !important;
    display: inline-flex;
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    color: rgba(255,246,237,.7) !important;
    font-size: 12px !important;
    font-weight: 620 !important;
    line-height: 1;
    letter-spacing: .015em !important;
    text-transform: none !important;
    transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .22s ease;
  }

  .main-nav > a::after {
    display: none !important;
  }

  .main-nav > a:hover,
  .main-nav > a:focus-visible {
    border-color: rgba(243,236,226,.12);
    color: #fff9f1 !important;
    background: rgba(243,236,226,.09);
    transform: translateY(-1px);
  }

  .main-nav .nav-login {
    padding-inline: 16px !important;
    border-color: rgba(243,236,226,.24) !important;
    color: #fff9f1 !important;
    background: rgba(243,236,226,.08);
  }

  .nav-user-menu {
    margin-left: 5px;
    padding-left: 8px;
    border-left: 1px solid rgba(243,236,226,.1);
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .site-header { padding-inline: 24px; }
  .main-nav > a {
    padding-inline: 9px !important;
    font-size: 11px !important;
    letter-spacing: .01em !important;
  }
}

@media (max-width: 900px) {
  .site-header .main-nav > a {
    min-height: 54px !important;
    justify-content: flex-start !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(243,236,226,.11) !important;
    border-radius: 0 !important;
    font-size: clamp(19px,5.5vw,25px) !important;
    font-weight: 560 !important;
    letter-spacing: -.015em !important;
  }

  .site-header .main-nav > a:hover,
  .site-header .main-nav > a:focus-visible {
    padding-left: 26px !important;
    background: rgba(243,236,226,.055) !important;
  }

  .back-to-top {
    right: 14px !important;
    bottom: 88px !important;
    width: 48px !important;
    height: 48px !important;
  }
}

/* Button typography and cross-device alignment safety. */
:where(button, .button, .btn, [role="button"]) {
  font-family: inherit;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
}

/* Keep the return control clearly visible above the WhatsApp shortcut. */
.back-to-top {
  right: 24px !important;
  bottom: 92px !important;
  width: 54px !important;
  height: 54px !important;
  border: 2px solid rgba(255,255,255,.88) !important;
  color: #fff !important;
  background: linear-gradient(145deg,#9a203a,#681020) !important;
  box-shadow: 0 14px 34px rgba(52,5,15,.38),0 0 0 4px rgba(255,255,255,.16) !important;
}

.back-to-top__face svg {
  width: 24px !important;
  height: 24px !important;
  stroke-width: 2 !important;
}

.back-to-top:hover {
  color: #fff !important;
  background: linear-gradient(145deg,#ad2946,#751426) !important;
}

@media (max-width:600px) {
  .back-to-top {
    right: 16px !important;
    bottom: 78px !important;
    width: 50px !important;
    height: 50px !important;
  }
}

:where(
  .profile-card button[type="submit"],
  .portfolio-save,
  .site-save,
  .checkout-form button,
  .contact-request-form > button,
  .inquiry-submit,
  .purchase-button,
  .comment-form button,
  .request-form button,
  .admin-row button,
  .admin-art-grid button,
  .cart-list form button,
  .order-list button
) {
  align-items: center;
  min-height: 44px;
  line-height: 1.25;
}

:where(
  .checkout-form button,
  .contact-request-form > button,
  .inquiry-submit,
  .purchase-button,
  .comment-form button,
  .request-form button,
  .admin-row button,
  .admin-art-grid button,
  .cart-list form button,
  .order-list button
) {
  display: inline-flex;
  justify-content: center;
  gap: 8px;
}

@media (max-width: 600px) {
  :where(button, .button, .btn, [role="button"]) {
    max-width: 100%;
    white-space: normal;
  }

  :where(
    .profile-card button[type="submit"],
    .portfolio-save,
    .site-save,
    .checkout-form button,
    .contact-request-form > button,
    .inquiry-submit,
    .purchase-button,
    .comment-form button,
    .request-form button
  ) {
    min-height: 48px;
    padding-block: 12px;
  }
}

/* Mobile navigation: a true viewport layer with stable focus and touch targets. */
@media (max-width: 900px) {
  html.menu-open,
  body.menu-open {
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  .site-header .main-nav {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: max(104px, env(safe-area-inset-top)) 24px max(36px, env(safe-area-inset-bottom)) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    z-index: 1001 !important;
    color: var(--ca-beige) !important;
    background:
      radial-gradient(circle at 50% 32%, rgba(153,29,54,.28), transparent 38%),
      linear-gradient(155deg, #210309 0%, #3a0712 54%, #180205 100%) !important;
    box-shadow: none !important;
    backdrop-filter: blur(26px) saturate(125%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(0,-14px,0) scale(.992) !important;
    transition: opacity .28s ease, transform .42s cubic-bezier(.2,.75,.2,1), visibility .28s !important;
  }

  .site-header .main-nav::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: .35;
    background: radial-gradient(circle at 50% 45%, rgba(255,236,219,.1), transparent 52%);
  }

  .site-header .main-nav.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate3d(0,0,0) scale(1) !important;
  }

  .site-header .main-nav > a {
    width: min(100%, 380px) !important;
    min-height: 54px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,235,218,.13) !important;
    border-radius: 0 !important;
    color: #fff4e9 !important;
    font-size: clamp(19px,5.5vw,25px) !important;
    font-weight: 560 !important;
    line-height: 1.2 !important;
    letter-spacing: -.015em !important;
    text-align: left !important;
    text-transform: none !important;
    transition: padding-left .22s ease, background-color .22s ease, color .22s ease !important;
  }

  .site-header .main-nav > a:hover,
  .site-header .main-nav > a:focus-visible {
    padding-left: 26px !important;
    border-bottom-color: rgba(255,235,218,.36) !important;
    background: rgba(255,246,237,.09) !important;
    outline: none !important;
    transform: none !important;
  }

  .site-header .main-nav > a::after {
    display: none !important;
  }

  .site-header .menu-toggle {
    position: relative;
    z-index: 1003 !important;
    border: 1px solid rgba(255,239,224,.2) !important;
    border-radius: 16px !important;
    background: rgba(61,8,20,.62) !important;
    box-shadow: 0 12px 28px rgba(16,0,4,.24), inset 0 1px 0 rgba(255,255,255,.1);
    backdrop-filter: blur(16px);
  }

  .site-header .menu-toggle.is-open {
    position: fixed !important;
    top: max(16px, env(safe-area-inset-top)) !important;
    right: max(18px, env(safe-area-inset-right)) !important;
    background: #861a31 !important;
  }
}

@media (max-width: 480px) and (max-height: 720px) {
  .site-header .main-nav {
    justify-content: flex-start !important;
    padding-top: 88px !important;
  }
  .site-header .main-nav > a {
    min-height: 46px !important;
    font-size: 17px !important;
  }
}

@media (forced-colors: active) {
  :where(a, button, input, textarea, select):focus-visible {
    outline: 2px solid CanvasText !important;
  }
}

/* 2026 interactive museum layer — ringless, cursor-revealed and spatial. */
.orbit,
.orbit-dot,
.contact-orbit {
  display: none !important;
}

.hero {
  perspective: 1500px;
  isolation: isolate;
}

.hero-artscape {
  position: absolute;
  z-index: 2;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  perspective: 1400px;
  transform-style: preserve-3d;
}

.hero-art {
  --art-rx: 0deg;
  --art-ry: 0deg;
  --art-shift-x: 0px;
  --art-shift-y: 0px;
  position: absolute;
  margin: 0;
  opacity: 0;
  pointer-events: auto;
  filter: blur(8px) saturate(.7);
  transform-style: preserve-3d;
  transform:
    translate3d(var(--art-shift-x), var(--art-shift-y), -90px)
    rotateX(var(--art-rx))
    rotateY(var(--art-ry))
    scale(.88);
  transition:
    opacity .72s var(--ca-ease),
    filter .72s var(--ca-ease),
    transform .24s ease-out;
  will-change: transform, opacity, filter;
}

.hero-art::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 12%;
  right: 12%;
  bottom: 1%;
  height: 8%;
  border-radius: 50%;
  background: rgba(16,0,4,.72);
  filter: blur(20px);
  transform: translateZ(-45px) rotateX(74deg);
}

.hero-art.is-revealed {
  opacity: .86;
  filter: blur(0) saturate(.94);
  transform:
    translate3d(var(--art-shift-x), var(--art-shift-y), 32px)
    rotateX(var(--art-rx))
    rotateY(var(--art-ry))
    scale(1);
}

.hero-art img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  filter:
    drop-shadow(0 32px 34px rgba(15,0,4,.52))
    drop-shadow(0 0 26px rgba(243,236,226,.08));
  transform: translateZ(34px);
}

.hero-art__aura {
  position: absolute;
  z-index: 0;
  inset: 12% 6%;
  border-radius: 45%;
  background: radial-gradient(circle, rgba(243,236,226,.16), rgba(146,34,56,.1) 45%, transparent 72%);
  filter: blur(34px);
  opacity: .85;
  transform: translateZ(-25px);
}

.hero-art__plinth {
  position: absolute;
  z-index: 1;
  left: 24%;
  right: 24%;
  bottom: -1%;
  height: 7%;
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(243,236,226,.34), rgba(73,8,20,.7));
  box-shadow: 0 18px 30px rgba(17,0,4,.48);
  transform: translateZ(8px) rotateX(72deg);
}

.hero-art--muse {
  left: clamp(-190px, -9vw, -90px);
  bottom: -10%;
  width: clamp(300px, 25vw, 480px);
  height: min(71vh, 680px);
  transform-origin: 35% 80%;
}

.hero-art--sculpture {
  right: clamp(-35px, 2vw, 38px);
  top: 18%;
  width: clamp(150px, 14vw, 270px);
  height: min(57vh, 550px);
  transform-origin: 55% 80%;
}

.hero-art-hint {
  position: absolute;
  left: clamp(26px, 4vw, 76px);
  bottom: clamp(40px, 5vw, 82px);
  padding-left: 24px;
  color: rgba(243,236,226,.28);
  font: 750 8px/1 ui-monospace, monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.hero-art-hint::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 14px;
  height: 1px;
  background: currentColor;
  box-shadow: 0 0 12px rgba(243,236,226,.5);
}

.hero-content,
.scroll-cue {
  z-index: 4;
}

.hero-content {
  max-width: 860px;
}

.hero-beam {
  opacity: .18;
  filter: blur(2px);
}

.hero-beam--center {
  opacity: .13;
}

@media (max-width: 1120px) {
  .hero-art--muse { left: -150px; opacity: 0; }
  .hero-art--sculpture { right: -20px; }
}

@media (max-width: 760px), (pointer: coarse) {
  .hero-artscape { display: none; }
  .hero-art-hint { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-art {
    transition: opacity .15s linear !important;
    transform: none !important;
  }
  .hero-art.is-revealed { transform: none !important; }
}

.theme-toggle {
  display: block !important;
}

/* Night-gallery atmosphere: restrained stars, slow parallax and rare shooting trails. */
.hero-stars {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
  opacity: .72;
  mask-image: linear-gradient(180deg, #000 4%, #000 76%, transparent 100%);
}

.hero-stars::before,
.hero-stars::after {
  content: "";
  position: absolute;
  inset: -10%;
  background-repeat: repeat;
  will-change: transform, opacity;
}

.hero-stars::before {
  inset: -20%;
  opacity: .48;
  background:
    radial-gradient(ellipse 35% 42% at 18% 30%, rgba(187,48,72,.2), transparent 72%),
    radial-gradient(ellipse 28% 36% at 83% 68%, rgba(151,28,51,.18), transparent 74%);
  filter: blur(36px);
  mix-blend-mode: screen;
  animation: ca-nebula-drift 28s ease-in-out infinite alternate;
}

.hero-stars::after {
  inset: 0;
  opacity: .78;
  background:
    radial-gradient(ellipse 42% 58% at 50% 47%, rgba(91,12,29,.1), transparent 72%),
    linear-gradient(180deg, rgba(3,0,1,.08), transparent 38%, rgba(5,0,2,.22));
  animation: ca-stars-breathe 10s ease-in-out infinite alternate;
}

.hero-sky-canvas {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: .9;
  pointer-events: none;
  mix-blend-mode: screen;
}

.shooting-star {
  --shoot-x: 68vw;
  --shoot-y: 25vh;
  position: absolute;
  width: clamp(110px, 12vw, 190px);
  height: 1px;
  opacity: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255,235,222,.18) 38%, rgba(255,250,240,.96));
  box-shadow: 0 0 8px rgba(255,231,219,.38);
  transform: rotate(19deg);
  transform-origin: right center;
}

.shooting-star::after {
  content: "";
  position: absolute;
  right: -1px;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #fff8ed;
  box-shadow: 0 0 8px rgba(255,244,230,.9);
  transform: translateY(-50%);
}

.shooting-star--one {
  left: -14%;
  top: 18%;
  animation: ca-shooting-star 18s 2s linear infinite;
}

.shooting-star--two {
  --shoot-x: 58vw;
  --shoot-y: 22vh;
  left: 14%;
  top: 38%;
  animation: ca-shooting-star 24s 9s linear infinite;
}

.shooting-star--three {
  --shoot-x: 49vw;
  --shoot-y: 18vh;
  left: 42%;
  top: 11%;
  animation: ca-shooting-star 31s 17s linear infinite;
}

@keyframes ca-stars-drift {
  to { transform: translate3d(48px, 28px, 0); }
}

@keyframes ca-nebula-drift {
  from { transform: translate3d(-1.2%, -.6%, 0) scale(1); }
  to { transform: translate3d(1.2%, .7%, 0) scale(1.035); }
}

@keyframes ca-stars-breathe {
  from { transform: translate3d(-6px, -3px, 0); opacity: .24; }
  to { transform: translate3d(8px, 5px, 0); opacity: .44; }
}

@keyframes ca-shooting-star {
  0%, 72% { opacity: 0; transform: translate3d(0,0,0) rotate(19deg); }
  74% { opacity: .9; }
  82% { opacity: 0; transform: translate3d(var(--shoot-x),var(--shoot-y),0) rotate(19deg); }
  100% { opacity: 0; transform: translate3d(var(--shoot-x),var(--shoot-y),0) rotate(19deg); }
}

/* Guest marketplace header: no dashboard dock before authentication. */
.market-guest-header {
  min-height: 88px;
  padding: 0 clamp(22px,4vw,68px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 40;
  border-bottom: 1px solid rgba(110,18,35,.12);
  background: rgba(243,236,226,.84);
  box-shadow: 0 12px 42px rgba(65,8,20,.07);
  backdrop-filter: blur(22px) saturate(120%);
}

.market-guest-header__brand {
  position: static !important;
}

.market-guest-header__login {
  min-height: 46px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(110,18,35,.18);
  border-radius: 16px;
  color: var(--ca-wine);
  background: rgba(255,255,255,.48);
  box-shadow: 0 10px 28px rgba(65,8,20,.06);
  font-size: 11px;
  font-weight: 780;
  transition: transform .22s ease, color .22s ease, background .22s ease, box-shadow .22s ease;
}

.market-guest-header__login svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.market-guest-header__login:hover {
  color: var(--ca-beige);
  background: var(--ca-wine);
  box-shadow: 0 15px 34px rgba(110,18,35,.2);
  transform: translateY(-2px);
}

/* Member-only command dock: clearer controls and restrained spatial depth. */
.panel-dock-status {
  display: none !important;
}

.panel-dock {
  max-width: calc(100vw - 220px);
  gap: 5px !important;
  padding: 6px !important;
  overflow: visible;
  border: 1px solid rgba(110,18,35,.15) !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg,rgba(255,255,255,.88),rgba(243,236,226,.72)) !important;
  box-shadow: 0 18px 42px rgba(65,8,20,.11), inset 0 1px 0 rgba(255,255,255,.9) !important;
  backdrop-filter: blur(24px) saturate(125%);
  transform: none !important;
}

.panel-dock::before {
  inset: 2px !important;
  border-radius: 18px !important;
  background: linear-gradient(110deg,rgba(255,255,255,.4),transparent 38%,rgba(110,18,35,.025)) !important;
}

.panel-dock::after {
  display: none !important;
}

.panel-dock__item,
.panel-dock__item.is-active {
  min-width: 48px;
  height: 48px;
  padding: 0 13px;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 16px !important;
  color: rgba(52,16,24,.72) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

.panel-dock__item:hover {
  border-color: rgba(110,18,35,.12);
  color: var(--ca-wine) !important;
  background: rgba(110,18,35,.055) !important;
  box-shadow: 0 10px 24px rgba(65,8,20,.07) !important;
  transform: translateY(-2px) !important;
}

.panel-dock__item.is-active {
  border-color: rgba(110,18,35,.72);
  color: var(--ca-beige) !important;
  background: linear-gradient(145deg,#861a31,#6e1223) !important;
  box-shadow: 0 12px 26px rgba(110,18,35,.22), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.panel-dock__label,
.panel-dock__item.is-active .panel-dock__label {
  display: block;
  max-width: 92px;
  font-size: 10px;
  letter-spacing: .01em;
}

.panel-dock__icon {
  width: 21px;
  height: 21px;
}

.panel-dock__icon svg {
  width: 20px;
  height: 20px;
}

.panel-dock__separator {
  height: 28px;
  margin-inline: 2px;
}

.panel-dock__logout {
  color: rgba(110,18,35,.62) !important;
}

@media (max-width: 900px) {
  .panel-dock__label,
  .panel-dock__item.is-active .panel-dock__label {
    display: none;
  }
  .panel-dock {
    max-width: calc(100vw - 150px);
  }
}

@media (max-width: 760px) {
  .market-guest-header {
    min-height: 72px;
    padding-inline: 18px;
  }
  .panel-dock {
    max-width: none;
    border-radius: 20px !important;
  }
  .panel-dock__item,
  .panel-dock__item.is-active {
    height: 48px;
    padding: 0 8px;
    border-radius: 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-stars::before,
  .hero-stars::after {
    animation: none !important;
  }
  .shooting-star {
    display: none !important;
  }
  .market-guest-header__login,
  .panel-dock__item {
    transition: none !important;
    transform: none !important;
  }
}

/* Final mobile-menu geometry override. */
/* Keep the original interactive section; replace only its right-hand artwork. */
.portfolio-showcase > :not(.portfolio-collage-image) {
  display: none !important;
}

.portfolio-showcase {
  position: relative !important;
  overflow: hidden !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.portfolio-showcase::after {
  content: none !important;
  display: none !important;
}

.portfolio-collage-image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
  object-position: center;
  border-radius: 0 !important;
  background: transparent;
  box-shadow: none;
  -webkit-mask-image:
    linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%),
    linear-gradient(to bottom,transparent 0,#000 6%,#000 94%,transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%),
    linear-gradient(to bottom,transparent 0,#000 6%,#000 94%,transparent 100%);
  mask-composite: intersect;
}

@media (max-width:900px) {
  .portfolio-collage-image {
    min-height: 440px;
    object-position: center;
  }
}

@media (max-width: 900px) {
  html.menu-open,
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.menu-open .site-header .main-nav {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
  }
}
