/*
Theme Name: Rosa Salehi - Contemporary Visual Artist & Atelier
Theme URI: https://rosasalehi.com
Author: Aydin Shad / NeediaStudio
Author URI: https://needia.studio
Description: Ultra-Modern Minimalist Monochromatic Contemporary Art Portfolio, Exhibition Showcase & Studio Management WordPress Theme for Multidisciplinary Visual Artist Rosa Salehi.
Version: 2.1.0
License: GNU General Public License v2 or later
Text Domain: rosasalehi
*/

@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Plus+Jakarta+Sans:wght@300;400;500;600&family=Space+Grotesk:wght@300;400;500;600&display=swap');

/* ==========================================================================
   ROSA SALEHI - 5 CURATORIAL THEMATIC ATMOSPHERES
   Mode 1: Noir Brutalist (Default) — Deep Obsidian & Titanium White
   Mode 2: Raw Concrete & Atelier — Architectural Slate & Cement Gray
   Mode 3: White Cube Museum — Pristine White Contemporary Gallery
   Mode 4: Charcoal & Gesso — Warm Dark Graphite & Raw Linen Gesso
   Mode 5: Silver Gelatin — Archival Sepia Dark & Silver Nitrate
   ========================================================================== */

:root {
  /* Default: Mode 1 - Noir Brutalist */
  --bg-primary: #070707;
  --bg-secondary: #0f0f0f;
  --bg-surface: #141414;
  --bg-card: #1a1a1a;
  --bg-card-hover: #222222;
  
  --border-subtle: rgba(255, 255, 255, 0.08);
  --border-light: rgba(255, 255, 255, 0.16);
  --border-focus: #ffffff;
  --border-stark: #ffffff;
  
  --text-primary: #ffffff;
  --text-secondary: #b5b5b5;
  --text-muted: #737373;
  --text-dim: #444444;
  
  --accent-contrast: #ffffff;
  --accent-inverted: #000000;
  --accent-glow: rgba(255, 255, 255, 0.12);

  /* Curatorial Nude / Warm Gesso / Raw Linen Palette */
  --accent-nude: #e8dfd1;
  --accent-nude-light: #f7f3ee;
  --accent-nude-dark: #c5b8a5;
  --bg-nude-tint: rgba(232, 223, 209, 0.08);
  --border-nude: rgba(232, 223, 209, 0.24);
  --border-nude-hover: rgba(232, 223, 209, 0.55);
  
  --canvas-particle-1: rgba(255, 255, 255, 0.35);
  --canvas-particle-2: rgba(180, 180, 180, 0.25);
  
  --font-serif: 'Inter Tight', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-sans: 'Inter Tight', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'Space Grotesk', Consolas, monospace;
  
  --container-max: 100%;
  --radius-sm: 3px;
  --radius-md: 6px;
  --radius-pill: 9999px;
  
  --transition-fast: 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-smooth: 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-cinematic: 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Mode 2: Raw Concrete & Atelier */
[data-theme="concrete"] {
  --bg-primary: #121315;
  --bg-secondary: #181a1d;
  --bg-surface: #202226;
  --bg-card: #272a2f;
  --bg-card-hover: #32353b;
  --border-subtle: rgba(200, 210, 220, 0.09);
  --border-light: rgba(200, 210, 220, 0.18);
  --border-focus: #e2e8f0;
  --text-primary: #f1f5f9;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  --accent-contrast: #e2e8f0;
  --accent-inverted: #0f172a;
  --canvas-particle-1: rgba(226, 232, 240, 0.35);
  --canvas-particle-2: rgba(148, 163, 184, 0.25);
}

/* Mode 3: Pristine White Cube Contemporary */
[data-theme="white-cube"] {
  --bg-primary: #fafafa;
  --bg-secondary: #f0f0f0;
  --bg-surface: #ffffff;
  --bg-card: #f5f5f5;
  --bg-card-hover: #ebebeb;
  --border-subtle: rgba(0, 0, 0, 0.08);
  --border-light: rgba(0, 0, 0, 0.18);
  --border-focus: #000000;
  --text-primary: #0a0a0a;
  --text-secondary: #4a4a4a;
  --text-muted: #8a8a8a;
  --text-dim: #b5b5b5;
  --accent-contrast: #0a0a0a;
  --accent-inverted: #ffffff;
  --canvas-particle-1: rgba(10, 10, 10, 0.25);
  --canvas-particle-2: rgba(90, 90, 90, 0.2);
}

/* Mode 4: Charcoal & Gesso */
[data-theme="charcoal-gesso"] {
  --bg-primary: #111113;
  --bg-secondary: #17171a;
  --bg-surface: #1e1e22;
  --bg-card: #25252a;
  --bg-card-hover: #303036;
  --border-subtle: rgba(245, 240, 230, 0.08);
  --border-light: rgba(245, 240, 230, 0.17);
  --border-focus: #f5f0e6;
  --text-primary: #f5f0e6;
  --text-secondary: #b8b2a5;
  --text-muted: #7d776c;
  --accent-contrast: #f5f0e6;
  --accent-inverted: #111113;
  --canvas-particle-1: rgba(245, 240, 230, 0.3);
  --canvas-particle-2: rgba(184, 178, 165, 0.2);
}

/* Mode 5: Silver Gelatin & Archival */
[data-theme="silver-gelatin"] {
  --bg-primary: #0c0b0a;
  --bg-secondary: #141311;
  --bg-surface: #1c1b18;
  --bg-card: #25231f;
  --bg-card-hover: #312e29;
  --border-subtle: rgba(230, 222, 213, 0.08);
  --border-light: rgba(230, 222, 213, 0.17);
  --border-focus: #e6ded5;
  --text-primary: #e6ded5;
  --text-secondary: #b3aba0;
  --text-muted: #7a7369;
  --accent-contrast: #e6ded5;
  --accent-inverted: #0c0b0a;
  --canvas-particle-1: rgba(230, 222, 213, 0.35);
  --canvas-particle-2: rgba(179, 171, 160, 0.25);
}

/* ==================== GLOBAL BASE & RESET ==================== */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  font-family: var(--font-sans);
  direction: ltr;
  overflow-x: hidden !important;
  width: 100%;
  max-width: 100%;
  transition: background-color 0.4s ease, color 0.4s ease;
}

body {
  background-color: var(--bg-primary);
  color: var(--text-primary);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
  position: relative;
  transition: background-color 0.4s ease, color 0.4s ease;
}

/* Lenis Smooth Scroll */
html.lenis, html.lenis body {
  height: auto;
  overflow-x: hidden !important;
}
.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

/* Container */
.site-container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 clamp(20px, 3.5vw, 40px);
  box-sizing: border-box;
}

/* Background Atmospheric Canvas */
#art-ambient-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  opacity: 0.6;
}

/* Layering */
.site-header,
.site-main,
.site-footer,
.modal-backdrop,
.curatorial-theme-bar,
.toast-msg {
  position: relative;
  z-index: 2;
}

/* ==================== 0. 5D MINIMALIST SPATIAL CURATORIAL PRELOADER ==================== */
#curatorial-preloader {
  position: fixed;
  inset: 0;
  background: #000000;
  z-index: 9999999;
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1400px;
  perspective-origin: center center;
  transition: transform 1.1s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.85s cubic-bezier(0.77, 0, 0.175, 1), background-color 0.45s ease;
  pointer-events: all;
  overflow: hidden;
  will-change: transform, opacity;
}

[data-theme="white-cube"] #curatorial-preloader,
body.theme-white-cube #curatorial-preloader {
  background: #ffffff;
}

#curatorial-preloader.loaded {
  transform: scale(1.08) translateY(-40px);
  opacity: 0;
  pointer-events: none;
}

/* 5D Interactive Spatial Chamber Stage */
.preloader-5d-stage {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-style: preserve-3d;
  will-change: transform;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

/* 5D Floating Depth Artwork Planes */
.preloader-5d-planes-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  pointer-events: none;
  z-index: 4;
}

.plane-card {
  position: absolute;
  background-size: cover;
  background-position: center;
  border-radius: 6px;
  box-shadow: 0 40px 90px rgba(0, 0, 0, 0.7), 0 16px 36px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.28);
  filter: saturate(1.1) contrast(1.06);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease;
  will-change: transform, opacity;
}

[data-theme="white-cube"] .plane-card,
body.theme-white-cube .plane-card {
  box-shadow: 0 40px 90px rgba(0, 0, 0, 0.16), 0 16px 36px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(0, 0, 0, 0.12);
}

.plane-card-fg-left {
  width: clamp(230px, 22vw, 340px);
  height: clamp(310px, 30vw, 460px);
  top: 14%;
  left: 4%;
  transform: translate3d(0, 0, 190px) rotateY(18deg) rotateX(-5deg);
  opacity: 0.96;
}

.plane-card-fg-right {
  width: clamp(240px, 23vw, 350px);
  height: clamp(320px, 31vw, 470px);
  bottom: 12%;
  right: 4%;
  transform: translate3d(0, 0, 220px) rotateY(-18deg) rotateX(6deg);
  opacity: 0.96;
}

.plane-card-bot-left {
  width: clamp(190px, 18vw, 260px);
  height: clamp(250px, 24vw, 350px);
  bottom: 8%;
  left: 15%;
  transform: translate3d(0, 0, 90px) rotateY(15deg) rotateZ(-3deg);
  opacity: 0.9;
}

.plane-card-mid-left {
  width: clamp(170px, 15vw, 230px);
  height: clamp(220px, 20vw, 310px);
  top: 42%;
  left: 1%;
  transform: translate3d(0, 0, -20px) rotateY(22deg);
  opacity: 0.82;
}

.plane-card-mid-right {
  width: clamp(170px, 15vw, 230px);
  height: clamp(220px, 20vw, 310px);
  top: 38%;
  right: 2%;
  transform: translate3d(0, 0, -30px) rotateY(-22deg);
  opacity: 0.82;
}

.plane-card-far-center {
  width: clamp(180px, 16vw, 240px);
  height: clamp(230px, 21vw, 320px);
  top: 4%;
  left: 36%;
  transform: translate3d(0, 0, -110px) rotateX(12deg);
  opacity: 0.72;
  filter: blur(1.5px) grayscale(0.2);
}

.plane-card-far-depth {
  width: clamp(160px, 14vw, 210px);
  height: clamp(210px, 18vw, 280px);
  bottom: 6%;
  right: 26%;
  transform: translate3d(0, 0, -140px) rotateY(16deg) rotateX(8deg);
  opacity: 0.7;
  filter: blur(1.5px) grayscale(0.2);
}

/* 3D Depth Particle Canvas */
.preloader-particles-5d {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 5;
}

/* Sand & Dotted Disintegration Dissolve Canvas */
.preloader-disintegrate-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 20;
}

/* Atmospheric Multi-Layer Backdrop Slides (Full Cover Noir & White Blur) */
.preloader-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}

.preloader-slide {
  position: absolute;
  inset: -60px;
  width: calc(100% + 120px);
  height: calc(100% + 120px);
  background-size: cover;
  background-position: center;
  filter: blur(65px) saturate(1.22) brightness(0.65) contrast(1.1);
  opacity: 0;
  transform: scale(1.08);
  transition: opacity 1.1s cubic-bezier(0.16, 1, 0.3, 1), transform 2.2s ease-out;
  will-change: opacity, transform;
}

[data-theme="white-cube"] .preloader-slide,
body.theme-white-cube .preloader-slide {
  filter: blur(65px) saturate(1.22) brightness(1.08) contrast(1.02);
}

.preloader-slide.active {
  opacity: 0.52;
  transform: scale(1.0);
}

.preloader-overlay-tint {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.88) 85%);
  z-index: 2;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: background 0.4s ease;
}

[data-theme="white-cube"] .preloader-overlay-tint,
body.theme-white-cube .preloader-overlay-tint {
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0.94) 85%);
}

.preloader-grain-grid {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(0, 0, 0, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.025) 1px, transparent 1px);
  background-size: 32px 32px;
  z-index: 3;
  opacity: 0.6;
}

.preloader-inner {
  position: relative;
  z-index: 10;
  text-align: center;
  max-width: 900px;
  padding: 40px 24px;
  transform: translateZ(50px);
  transform-style: preserve-3d;
  pointer-events: none;
}

.preloader-brand {
  font-family: var(--font-serif);
  font-size: clamp(3.2rem, 7.5vw, 5.6rem);
  letter-spacing: clamp(10px, 2.2vw, 24px);
  font-weight: 300;
  color: #ffffff;
  text-transform: uppercase;
  margin: 0;
  line-height: 1.05;
  transform: translateZ(35px);
  transform-style: preserve-3d;
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.45));
  transition: color 0.4s ease;
}

[data-theme="white-cube"] .preloader-brand,
body.theme-white-cube .preloader-brand {
  color: #0a0a0a;
  filter: drop-shadow(0 10px 30px rgba(0, 0, 0, 0.06));
}

.brand-char {
  display: inline-block;
  will-change: transform, opacity;
  transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.5s ease;
}

.brand-space {
  display: inline-block;
  width: 0.35em;
}
  font-family: var(--font-mono);
  font-size: 0.74rem;
  letter-spacing: 3.5px;
  color: #666666;
  text-transform: uppercase;
  margin-bottom: 26px;
}

/* Generative Brush SVG Stroke */
.preloader-brush-svg-wrap {
  width: 280px;
  height: 32px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Hero Video Optic Layer Nullification (Fixes Hero Video Glitch) */
.hero-video-bg-layer .optic-water-lens-layer {
  display: none !important;
}

/* ==================== DYNAMIC ARTWORK AMBIENT HOVER BACKDROP ==================== */
.artwork-ambient-hover-bg {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity;
}

.artwork-ambient-hover-bg.is-active {
  opacity: 1;
}

.hover-bg-layer {
  position: absolute;
  inset: -60px;
  width: calc(100% + 120px);
  height: calc(100% + 120px);
  background-size: cover;
  background-position: center;
  filter: blur(18px) saturate(1.2) contrast(1.08) brightness(0.88);
  transform: scale(1.05);
  opacity: 0;
  transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease;
  will-change: opacity, transform;
}

.hover-bg-layer.active {
  opacity: 0.84;
  transform: scale(1.0);
}

.hover-bg-scrim {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.48) 100%);
  pointer-events: none;
  transition: background 0.4s ease;
}

/* Theme Adaptation for Ambient Hover Backdrop */
body.theme-white-cube .hover-bg-layer,
[data-theme="white-cube"] .hover-bg-layer {
  filter: blur(18px) saturate(1.15) contrast(1.04) brightness(1.02);
}

body.theme-white-cube .hover-bg-layer.active,
[data-theme="white-cube"] .hover-bg-layer.active {
  opacity: 0.76;
}

body.theme-white-cube .hover-bg-scrim,
[data-theme="white-cube"] .hover-bg-scrim {
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0.48) 100%);
}

/* ==================== NORMAL CURSOR WITH ARTISTIC TRAILING EFFECT ==================== */
html, body {
  cursor: default !important;
}

a, button, [role="button"], input[type="submit"], input[type="button"],
.art-card, .readymag-card, .filter-chip, .bipolar-theme-btn, .editorial-nav-pill,
.floating-awards-ribbon, .theme-pill-btn, .overlay-action-btn, select,
.clickable, [tabindex="0"] {
  cursor: pointer !important;
}

.gallery-cursor-dot {
  display: none !important;
}

/* Ethereal Trailing Canvas - Disabled for Ultra-Lightweight Minimal Feel */
.cursor-trail-canvas {
  display: none !important;
}

/* Minimalist Curatorial Follower Ring Behind Normal Cursor */
.cursor-trailing-aura {
  position: fixed;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 999989;
  transform: translate(-50%, -50%);
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow: none;
  transition: width 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              height 0.22s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.2s ease,
              background-color 0.2s ease,
              opacity 0.2s ease,
              transform 0.1s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform, width, height, opacity;
  opacity: 0;
}

[data-theme="white-cube"] .cursor-trailing-aura,
body.theme-white-cube .cursor-trailing-aura {
  border: 1px solid rgba(20, 20, 20, 0.45);
}

.cursor-trailing-aura.is-visible {
  opacity: 1;
}

.cursor-trailing-aura.is-hovering {
  width: 34px;
  height: 34px;
  border-color: rgba(255, 255, 255, 0.85);
  background-color: rgba(255, 255, 255, 0.06);
}

[data-theme="white-cube"] .cursor-trailing-aura.is-hovering,
body.theme-white-cube .cursor-trailing-aura.is-hovering {
  border-color: rgba(20, 20, 20, 0.85);
  background-color: rgba(20, 20, 20, 0.05);
}

.cursor-trailing-aura.is-clicking {
  transform: translate(-50%, -50%) scale(0.68);
  opacity: 0.9;
}

/* ==================== 1. FLOATING 5-THEME CURATORIAL BAR ==================== */
.curatorial-theme-bar {
  background: var(--bg-secondary);
  border-bottom: 1px solid var(--border-subtle);
  padding: 8px 0;
  font-size: 0.8rem;
  transition: background 0.4s ease;
  position: relative;
  z-index: 150;
  width: 100%;
}

.theme-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
}

.theme-status-indicator {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 0.74rem;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.status-indicator-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-pulse-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.7);
  animation: pulse 2.2s infinite;
  flex-shrink: 0;
}

@keyframes pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.8); }
}

.theme-bar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

/* Compact Curatorial Dropdown */
.curatorial-dropdown-wrap {
  position: relative;
}

.theme-dropdown-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--bg-card);
  color: var(--text-primary);
  border: 1px solid var(--border-light);
  padding: 5px 12px;
  border-radius: var(--radius-sm);
  font-size: 0.75rem;
  font-family: var(--font-mono);
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition-fast);
  white-space: nowrap;
}

.theme-dropdown-btn:hover {
  border-color: var(--border-focus);
  background: var(--bg-card-hover);
}

.theme-dropdown-menu {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  width: 270px;
  background: var(--bg-surface);
  border: 1px solid var(--border-nude);
  border-radius: var(--radius-sm);
  padding: 8px 0;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.9);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.theme-dropdown-menu.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.theme-dropdown-header {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--text-muted);
  padding: 6px 16px 8px;
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: 4px;
}

.theme-dropdown-item {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 16px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease;
  font-family: inherit;
  color: var(--text-primary);
}

.theme-dropdown-item:hover {
  background: var(--bg-card-hover);
}

.theme-dropdown-item.active {
  background: var(--bg-nude-tint);
}

.swatch-circle {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 1px solid var(--border-light);
  margin-top: 4px;
  flex-shrink: 0;
}

.theme-dropdown-item .item-title {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--text-primary);
}

.theme-dropdown-item .item-sub {
  display: block;
  font-size: 0.70rem;
  color: var(--text-muted);
  margin-top: 2px;
}

.spec-modal-trigger-btn {
  color: var(--text-primary);
  background: transparent;
  font-weight: 600;
  font-size: 0.75rem;
  font-family: var(--font-mono);
  border: 1px solid var(--border-light);
  padding: 5px 12px;
  border-radius: var(--radius-sm);
  transition: var(--transition-fast);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  white-space: nowrap;
}

.spec-modal-trigger-btn:hover {
  background: var(--accent-contrast);
  color: var(--accent-inverted);
  border-color: var(--accent-contrast);
}

.admin-quicklink {
  color: var(--text-primary);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.75rem;
  font-family: var(--font-mono);
  border: 1px solid var(--border-light);
  padding: 5px 12px;
  border-radius: var(--radius-sm);
  transition: var(--transition-fast);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.admin-quicklink:hover {
  background: var(--accent-contrast);
  color: var(--accent-inverted);
  border-color: var(--accent-contrast);
}

@media (max-width: 680px) {
  .theme-status-indicator {
    display: none;
  }
  .theme-bar-inner {
    justify-content: flex-end;
  }
}

/* ==================== 2. EDITORIAL SITE HEADER ==================== */
.site-header {
  padding: 30px 0;
  border-bottom: 1px solid var(--border-subtle);
  background: rgba(7, 7, 7, 0.92);
  backdrop-filter: blur(18px);
  position: sticky;
  top: 0;
  z-index: 100;
  transition: background 0.4s ease;
}

[data-theme="white-cube"] .site-header {
  background: rgba(250, 250, 250, 0.94);
}

.site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.artist-brand-block {
  display: flex;
  flex-direction: column;
}

.artist-brand-title {
  font-family: var(--font-serif);
  font-size: 1.65rem;
  font-weight: 700;
  letter-spacing: 3px;
  color: var(--text-primary);
  text-decoration: none;
  line-height: 1.15;
}

.artist-brand-sub {
  font-size: 0.75rem;
  letter-spacing: 2px;
  color: var(--text-muted);
  text-transform: uppercase;
  font-family: var(--font-mono);
  margin-top: 2px;
}

.gallery-nav {
  display: flex;
  align-items: center;
  gap: 32px;
}

.gallery-nav a {
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.8px;
  position: relative;
  padding: 6px 0;
  transition: var(--transition-fast);
}

.gallery-nav a:hover,
.gallery-nav a.active {
  color: var(--text-primary);
}

.gallery-nav a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 1px;
  background: var(--accent-contrast);
  transition: width 0.3s ease;
}

.gallery-nav a:hover::after,
.gallery-nav a.active::after {
  width: 100%;
}

.header-cta-pill,
.header-cta-luxury,
.header-contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--bg-nude-tint);
  color: var(--accent-nude) !important;
  border: 1px solid var(--border-nude);
  padding: 7px 18px;
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: var(--transition-fast);
  position: relative;
  overflow: hidden;
  margin-left: 6px;
  line-height: 1;
}

.header-cta-pill:hover,
.header-cta-luxury:hover,
.header-contact-btn:hover {
  background: var(--accent-nude);
  color: #070707 !important;
  border-color: var(--accent-nude);
  transform: translateY(-1px);
  box-shadow: 0 4px 22px rgba(232, 223, 209, 0.25);
}

.header-cta-pill::after,
.header-cta-luxury::after,
.header-contact-btn::after {
  display: none !important;
}

.cta-pulse-indicator {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #10b981;
  box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
  animation: ctaPulseAnim 2s infinite;
  display: inline-block;
  flex-shrink: 0;
}

@keyframes ctaPulseAnim {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
  }
  70% {
    transform: scale(1);
    box-shadow: 0 0 0 6px rgba(16, 185, 129, 0);
  }
  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}

/* ==================== 2.5 ALL-SECTION MATTE BACKDROPS & INTERACTIVE LIQUIDIFY DISTORTION ==================== */
.hero-art-section,
.portfolio-section,
.cinematic-film-section,
.about-section,
.exhibitions-section,
.atelier-space-section,
.collaborations-section,
.accolades-section,
.inquiry-section {
  position: relative;
  overflow: hidden;
}

.hero-art-section > .site-container,
.portfolio-section > .site-container,
.cinematic-film-section > .site-container,
.about-section > .site-container,
.exhibitions-section > .site-container,
.atelier-space-section > .site-container,
.collaborations-section > .site-container,
.accolades-section > .site-container,
.inquiry-section > .site-container {
  position: relative;
  z-index: 2;
}

.section-ambient-blur-backdrop {
  position: absolute;
  inset: -60px -80px;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  user-select: none;
}

.ambient-blur-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(54px) saturate(1.22) contrast(1.1);
  opacity: 0.22;
  transform: scale(1.15);
  will-change: transform, filter;
  transition: opacity 0.6s ease, filter 0.3s ease;
  animation: ambientBackdropBreathe 28s ease-in-out infinite alternate;
}

@keyframes ambientBackdropBreathe {
  0% { transform: scale(1.15) translate(0, 0); }
  50% { transform: scale(1.20) translate(1.5%, -1.2%); }
  100% { transform: scale(1.15) translate(-1%, 1%); }
}

[data-theme="white-cube"] .ambient-blur-img {
  opacity: 0.10;
  filter: blur(64px) grayscale(0.4) contrast(1.05);
}

[data-theme="concrete-brut"] .ambient-blur-img {
  opacity: 0.26;
  filter: blur(52px) contrast(1.18);
}

[data-theme="charcoal-gesso"] .ambient-blur-img {
  opacity: 0.24;
  filter: blur(50px) sepia(0.12) contrast(1.12);
}

/* Real-Time SVG Liquidify Distortion Active State */
.section-liquid-active .ambient-blur-img {
  filter: url(#liquidify-distortion-filter) blur(44px) saturate(1.3) contrast(1.15);
}

/* Localized Liquidify Lens / Spotlight Under Cursor */
.liquidify-spotlight {
  position: absolute;
  width: 380px;
  height: 380px;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.85);
  background: radial-gradient(circle at center, rgba(232, 223, 209, 0.22) 0%, rgba(255, 255, 255, 0.08) 40%, rgba(255, 255, 255, 0.02) 65%, transparent 78%);
  backdrop-filter: url(#lens-liquidify-filter) blur(18px) contrast(1.25) saturate(1.35);
  -webkit-backdrop-filter: url(#lens-liquidify-filter) blur(18px) contrast(1.25) saturate(1.35);
  mix-blend-mode: screen;
  transition: opacity 0.35s ease, transform 0.12s ease-out;
  will-change: transform, opacity;
  box-shadow: 0 0 60px rgba(255, 255, 255, 0.06), inset 0 0 40px rgba(232, 223, 209, 0.15);
}

.section-liquid-active .liquidify-spotlight {
  opacity: 1;
}

.liquid-rings {
  position: absolute;
  inset: 12%;
  border-radius: 50%;
  border: 1.5px solid rgba(232, 223, 209, 0.35);
  animation: liquidRingPulse 4s ease-in-out infinite alternate;
}

.liquid-rings::after {
  content: '';
  position: absolute;
  inset: 20%;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.25);
  animation: liquidRingPulse 3s ease-in-out infinite alternate-reverse;
}

@keyframes liquidRingPulse {
  0% { transform: scale(0.92) rotate(0deg); opacity: 0.4; }
  50% { transform: scale(1.08) rotate(90deg); opacity: 0.8; }
  100% { transform: scale(1.02) rotate(180deg); opacity: 0.5; }
}

/* Click Liquid Shockwave Ring */
.liquid-shockwave-ring {
  position: absolute;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  border: 2px solid rgba(232, 223, 209, 0.7);
  background: radial-gradient(circle, rgba(232, 223, 209, 0.25) 0%, transparent 70%);
  pointer-events: none;
  z-index: 2;
  transform: translate(-50%, -50%) scale(0.2);
  opacity: 0.95;
  animation: liquidShockwaveAnim 0.9s cubic-bezier(0.1, 0.8, 0.3, 1) forwards;
}

@keyframes liquidShockwaveAnim {
  to {
    transform: translate(-50%, -50%) scale(4.8);
    opacity: 0;
  }
}

/* Optical Spectacle Glass & Water Refraction Layer ("effecte eynak ia ab") */
.optic-water-lens-layer {
  position: absolute;
  inset: -10px;
  pointer-events: none;
  z-index: 1;
  background: radial-gradient(ellipse at 50% 30%, rgba(255, 255, 255, 0.06) 0%, transparent 65%),
              linear-gradient(135deg, rgba(232, 223, 209, 0.05) 0%, transparent 45%, rgba(0, 0, 0, 0.25) 100%);
  backdrop-filter: url(#optic-glasses-water-filter) blur(6px);
  -webkit-backdrop-filter: url(#optic-glasses-water-filter) blur(6px);
  opacity: 0.85;
  mix-blend-mode: overlay;
}

.ambient-blur-vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, transparent 25%, var(--bg-primary) 85%),
              linear-gradient(180deg, var(--bg-primary) 0%, transparent 22%, transparent 78%, var(--bg-primary) 100%);
  z-index: 1;
}

/* ==================== FLOATING AWARDS RIBBON & HEADER BADGE ==================== */
.floating-awards-ribbon {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 990;
  cursor: pointer;
  transition: transform var(--transition-normal);
  user-select: none;
}

.floating-awards-ribbon:hover {
  transform: translateY(-50%) translateX(-4px);
}

.awards-ribbon-inner {
  display: flex;
  align-items: center;
  gap: 8px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  background: rgba(18, 18, 18, 0.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--border-nude);
  border-left: none;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: 18px 9px;
  color: var(--accent-nude);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45);
  transition: all var(--transition-fast);
}

.floating-awards-ribbon:hover .awards-ribbon-inner {
  background: rgba(26, 26, 26, 0.95);
  border-color: #ffffff;
  color: #ffffff;
  box-shadow: 0 12px 36px rgba(232, 223, 209, 0.18);
}

.ribbon-trophy-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(180deg);
  margin-bottom: 4px;
}

.ribbon-star-dot {
  color: var(--accent-nude);
  font-size: 0.75rem;
  animation: livePulse 2s infinite ease-in-out;
}

.header-award-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(232, 223, 209, 0.08);
  border: 1px solid var(--border-nude);
  border-radius: var(--radius-full);
  padding: 6px 14px;
  color: var(--accent-nude);
  font-family: var(--font-mono);
  font-size: 0.74rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: all var(--transition-fast);
  white-space: nowrap;
}

.header-award-badge:hover {
  background: var(--accent-nude);
  color: #0b0b0b;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(232, 223, 209, 0.25);
}

/* ==================== CURATORIAL ACCOLADES SECTION ==================== */
.accolades-section {
  padding: 130px 0 140px;
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
}

.awards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}

@media (max-width: 1024px) {
  .awards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .awards-grid {
    grid-template-columns: 1fr;
  }
}

.award-card {
  background: rgba(18, 18, 18, 0.65);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: 32px 28px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.35s cubic-bezier(0.2, 0.9, 0.4, 1);
  display: flex;
  flex-direction: column;
}

.award-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--border-nude), transparent);
  opacity: 0;
  transition: opacity var(--transition-fast);
}

.award-card:hover {
  border-color: var(--border-nude);
  transform: translateY(-6px);
  background: rgba(24, 24, 24, 0.85);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4), 0 0 24px rgba(232, 223, 209, 0.08);
}

.award-card:hover::before {
  opacity: 1;
}

.award-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.award-badge-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-light);
  color: var(--accent-nude);
  transition: all var(--transition-fast);
}

.award-card:hover .award-badge-icon {
  background: rgba(232, 223, 209, 0.15);
  border-color: var(--accent-nude);
  transform: scale(1.08) rotate(5deg);
}

.award-jury-score {
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.award-jury-score .score-label {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  color: var(--text-muted);
}

.award-jury-score .score-val {
  font-family: var(--font-mono);
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--accent-nude);
}

.award-category-pill {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 10px;
}

.award-title {
  font-family: var(--font-serif);
  font-size: 1.28rem;
  font-weight: 500;
  color: var(--text-primary);
  margin-bottom: 12px;
  line-height: 1.35;
}

.award-summary {
  font-size: 0.88rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin-bottom: 24px;
  flex-grow: 1;
}

.award-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 18px;
  border-top: 1px solid var(--border-subtle);
  font-family: var(--font-mono);
  font-size: 0.72rem;
}

.award-year {
  color: var(--text-muted);
  letter-spacing: 0.08em;
}

.award-inspect-link {
  color: var(--accent-nude);
  font-weight: 600;
  transition: transform var(--transition-fast);
}

.award-card:hover .award-inspect-link {
  transform: translateX(4px);
  color: #ffffff;
}

/* Accolades Verification Strip */
.awards-verification-strip {
  margin-top: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: 18px 24px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
}

.verify-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--text-secondary);
  font-size: 0.85rem;
}

.verify-badge i {
  color: var(--accent-nude);
  flex-shrink: 0;
}

/* ==================== AWARDS & RECOGNITION MODAL ==================== */
.modal-panel-awards {
  max-width: 820px;
  width: 92%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 44px;
  background: rgba(14, 14, 14, 0.94);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border: 1px solid var(--border-nude);
  border-radius: var(--radius-md);
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.75);
}

.awards-modal-header {
  margin-bottom: 24px;
}

.awards-modal-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--accent-nude);
  font-family: var(--font-mono);
  font-size: 0.74rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.awards-modal-title {
  font-family: var(--font-serif);
  font-size: 1.85rem;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.awards-modal-sub {
  color: var(--text-secondary);
  font-size: 0.92rem;
  line-height: 1.6;
}

.awards-modal-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-subtle);
}

.awards-tab-btn {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-full);
  padding: 7px 16px;
  font-family: var(--font-mono);
  font-size: 0.74rem;
  color: var(--text-muted);
  cursor: pointer;
  transition: all var(--transition-fast);
}

.awards-tab-btn:hover {
  color: var(--text-primary);
  border-color: var(--border-nude);
}

.awards-tab-btn.active {
  background: var(--accent-nude);
  color: #0b0b0b;
  border-color: var(--accent-nude);
  font-weight: 600;
}

.awards-modal-body {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 28px;
}

.award-modal-entry {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.entry-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.entry-title-wrap h4 {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--text-primary);
}

.entry-jury-verdict {
  font-style: italic;
  color: var(--text-secondary);
  font-size: 0.92rem;
  line-height: 1.7;
  border-left: 2px solid var(--accent-nude);
  padding-left: 14px;
}

.entry-criteria-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  background: rgba(0, 0, 0, 0.35);
  padding: 14px;
  border-radius: var(--radius-sm);
}

@media (max-width: 600px) {
  .entry-criteria-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.criteria-cell {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.criteria-cell span:first-child {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  color: var(--text-muted);
  letter-spacing: 0.06em;
}

.criteria-cell span:last-child {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--accent-nude);
}

.awards-modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding-top: 20px;
  border-top: 1px solid var(--border-subtle);
}

.awards-footnote {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 0.72rem;
}

.awards-footer-actions {
  display: flex;
  gap: 10px;
}

/* ==================== 3. HERO & SPOTLIGHT ARTWORK ==================== */
.hero-art-section {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 130px 0 70px;
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
}

.hero-art-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 60px;
  align-items: center;
}

.hero-lead-col {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.curatorial-label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 3px;
  color: var(--accent-nude);
}

.curatorial-label::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 1px;
  background: var(--accent-nude);
}

.hero-headline {
  font-family: var(--font-serif);
  font-size: clamp(2.4rem, 4.4vw, 4.2rem);
  font-weight: 500;
  line-height: 1.18;
  color: var(--text-primary);
  letter-spacing: -0.5px;
}

.hero-lead-paragraph {
  font-size: 1.12rem;
  color: var(--text-secondary);
  line-height: 1.85;
  max-width: 620px;
}

.hero-cta-group {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.btn-solid-primary {
  background: var(--accent-contrast);
  color: var(--accent-inverted);
  padding: 13px 32px;
  border-radius: var(--radius-sm);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-decoration: none;
  border: 1px solid var(--accent-contrast);
  transition: var(--transition-fast);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.btn-solid-primary:hover {
  background: transparent;
  color: var(--accent-contrast);
}

.btn-outline-primary {
  background: transparent;
  color: var(--text-primary);
  padding: 13px 28px;
  border-radius: var(--radius-sm);
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-decoration: none;
  border: 1px solid var(--border-light);
  transition: var(--transition-fast);
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.btn-outline-primary:hover {
  border-color: var(--border-focus);
  background: var(--bg-card);
}

/* Masterpiece Frame Wrap & Hero Luxury Frame */
.masterpiece-frame-wrap {
  position: relative;
  transition: transform 0.4s ease, opacity 0.4s ease, filter 0.4s ease;
}

.hero-luxury-frame {
  background: rgba(14, 14, 14, 0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid var(--border-nude);
  padding: 16px;
  border-radius: var(--radius-sm);
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.8), 0 0 30px rgba(232, 223, 209, 0.08);
  position: relative;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}

.hero-luxury-frame:hover {
  box-shadow: 0 50px 120px rgba(0, 0, 0, 0.9), 0 0 45px rgba(232, 223, 209, 0.16);
}

.hero-frame-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--border-subtle);
  font-family: var(--font-mono);
  font-size: 0.68rem;
}

.frame-live-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--accent-nude);
  font-weight: 600;
  letter-spacing: 0.12em;
}

.live-dot-pulse {
  width: 7px;
  height: 7px;
  background: #10b981;
  border-radius: 50%;
  box-shadow: 0 0 10px #10b981;
  animation: livePulse 1.8s infinite ease-in-out;
}

.frame-aspect-tag {
  color: var(--text-muted);
  letter-spacing: 0.08em;
}

.hero-visual-container {
  width: 100%;
  aspect-ratio: 16 / 10 !important;
  background: #000000;
  position: relative;
  overflow: hidden;
  border-radius: 2px;
  border: 1px solid var(--border-light);
}

.hero-frame-lens-glare {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.12) 0%, transparent 40%, rgba(232, 223, 209, 0.05) 100%);
  opacity: 0.6;
}

/* Hero Secondary Artworks Grid (2 Distinct Real Works) */
.hero-secondary-works-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}

.hero-subcard {
  background: rgba(18, 18, 18, 0.85);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  position: relative;
  transition: all 0.25s ease;
}

.hero-subcard:hover {
  border-color: var(--border-nude);
  transform: translateY(-3px);
  background: rgba(26, 26, 26, 0.95);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.6), 0 0 16px rgba(232, 223, 209, 0.1);
}

.subcard-thumb {
  width: 62px;
  height: 62px;
  border-radius: 2px;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
  border: 1px solid var(--border-subtle);
  background: #000000;
}

.subcard-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.hero-subcard:hover .subcard-thumb img {
  transform: scale(1.08);
}

.subcard-lens-glass {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.15) 0%, transparent 60%);
  pointer-events: none;
}

.subcard-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex-grow: 1;
  min-width: 0;
}

.subcard-badge {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  color: var(--accent-nude);
  text-transform: uppercase;
}

.subcard-title {
  font-family: var(--font-serif);
  font-size: 0.95rem;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.subcard-medium {
  font-size: 0.72rem;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.subcard-action-icon {
  color: var(--text-muted);
  transition: color var(--transition-fast), transform var(--transition-fast);
  flex-shrink: 0;
}

.hero-subcard:hover .subcard-action-icon {
  color: var(--accent-nude);
  transform: scale(1.15);
}

.masterpiece-canvas-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-light);
  padding: 18px;
  border-radius: var(--radius-sm);
  box-shadow: 0 35px 80px rgba(0, 0, 0, 0.7);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  position: relative;
  transform-style: preserve-3d;
  perspective: 1000px;
  will-change: transform;
}

.masterpiece-canvas-card:hover {
  border-color: var(--border-focus);
  box-shadow: 0 45px 95px rgba(0, 0, 0, 0.85);
}

.masterpiece-visual {
  width: 100%;
  aspect-ratio: 4 / 3.4;
  background: #000000;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border-subtle);
}

.masterpiece-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.masterpiece-canvas-card:hover .masterpiece-visual img {
  transform: scale(1.04);
}

.artwork-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.masterpiece-visual:hover .artwork-overlay,
.art-card-image-box:hover .artwork-overlay {
  opacity: 1;
}

.overlay-action-btn {
  background: #ffffff;
  color: #000000;
  border: none;
  padding: 10px 20px;
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  transition: var(--transition-fast);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.overlay-action-btn:hover {
  background: #e0e0e0;
}

.masterpiece-details {
  margin-top: 18px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 0 4px;
}

.masterpiece-title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--text-primary);
}

.masterpiece-meta {
  font-size: 0.82rem;
  color: var(--text-muted);
  font-family: var(--font-mono);
  margin-top: 2px;
}

.art-status-badge {
  font-size: 0.74rem;
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  padding: 3px 9px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-light);
}

.status-available {
  color: var(--accent-contrast);
  border-color: var(--accent-contrast);
}

.status-collection {
  color: var(--text-muted);
}

.status-exhibition {
  color: var(--text-secondary);
}

/* ==================== KINETIC TEXT MARQUEE RIBBON ==================== */
.kinetic-ticker-wrap {
  width: 100%;
  overflow: hidden;
  background: var(--bg-secondary);
  border-top: 1px solid var(--border-nude);
  border-bottom: 1px solid var(--border-nude);
  padding: 18px 0;
  white-space: nowrap;
  position: relative;
  user-select: none;
}

.kinetic-ticker-wrap::before,
.kinetic-ticker-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 140px;
  z-index: 2;
  pointer-events: none;
}

.kinetic-ticker-wrap::before {
  left: 0;
  background: linear-gradient(90deg, var(--bg-primary), transparent);
}

.kinetic-ticker-wrap::after {
  right: 0;
  background: linear-gradient(270deg, var(--bg-primary), transparent);
}

.kinetic-ticker-track {
  display: inline-flex;
  align-items: center;
  gap: 40px;
  animation: tickerSlideAnim 34s linear infinite;
  will-change: transform;
}

.kinetic-ticker-wrap:hover .kinetic-ticker-track {
  animation-play-state: paused;
}

.ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: var(--font-serif);
  font-size: 0.88rem;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  color: var(--accent-nude);
  font-weight: 500;
}

.ticker-dot {
  font-size: 0.65rem;
  color: var(--accent-nude-dark);
  opacity: 0.75;
}

@keyframes tickerSlideAnim {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ==================== 3.5 CURATORIAL HIGHLIGHTS MOSAIC & JUSTIFIED GRID ==================== */
.curatorial-mosaic-section {
  position: relative;
  padding: clamp(70px, 8vw, 130px) 0 clamp(60px, 7vw, 110px);
  background-color: var(--bg-primary);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  overflow: hidden;
  z-index: 2;
}

.mosaic-section-header {
  margin-bottom: clamp(40px, 5vw, 65px);
}

.mosaic-header-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-pill);
  font-family: var(--font-sans);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin-bottom: 18px;
}

.mosaic-monumental-headline {
  font-family: var(--font-sans);
  font-size: clamp(2rem, 4.4vw, 4rem);
  font-weight: 300;
  letter-spacing: -0.03em;
  line-height: 1.08;
  color: var(--text-primary);
  margin-bottom: 22px;
  text-transform: uppercase;
}

.mosaic-header-meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 32px;
  flex-wrap: wrap;
}

.mosaic-curatorial-desc {
  max-width: 580px;
  font-size: clamp(0.92rem, 1.2vw, 1.05rem);
  color: var(--text-secondary);
  line-height: 1.7;
}

.mosaic-quick-stats {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.mosaic-quick-stats .stat-pill {
  padding: 6px 14px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-pill);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--text-secondary);
  background: var(--bg-surface);
}

.mosaic-quick-stats .stat-pill strong {
  color: var(--text-primary);
  margin-right: 4px;
}

/* Asymmetrical Justified / Masonry Dynamic Grid */
.curatorial-mosaic-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 2.5vw, 36px);
  perspective: 1400px;
}

@media (max-width: 1080px) {
  .curatorial-mosaic-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 680px) {
  .curatorial-mosaic-grid {
    grid-template-columns: 1fr;
  }
}

/* Sizing variations for justified masonry look */
.mosaic-card.card-size-lead {
  grid-column: span 2;
  height: clamp(440px, 42vw, 560px);
}

.mosaic-card.card-size-portrait {
  grid-column: span 1;
  height: clamp(380px, 36vw, 480px);
}

.mosaic-card.card-size-square {
  grid-column: span 1;
  height: clamp(320px, 30vw, 400px);
}

.mosaic-card.card-size-landscape {
  grid-column: span 2;
  height: clamp(340px, 32vw, 420px);
}

.mosaic-card.card-size-tall {
  grid-column: span 1;
  height: clamp(460px, 44vw, 560px);
}

.mosaic-card.card-size-large {
  grid-column: span 2;
  height: clamp(420px, 40vw, 520px);
}

.mosaic-card.card-size-compact {
  grid-column: span 1;
  height: clamp(320px, 30vw, 380px);
}

@media (max-width: 1080px) {
  .mosaic-card.card-size-lead,
  .mosaic-card.card-size-landscape,
  .mosaic-card.card-size-large {
    grid-column: span 2;
  }
}

@media (max-width: 680px) {
  .mosaic-card.card-size-lead,
  .mosaic-card.card-size-portrait,
  .mosaic-card.card-size-square,
  .mosaic-card.card-size-landscape,
  .mosaic-card.card-size-tall,
  .mosaic-card.card-size-large,
  .mosaic-card.card-size-compact {
    grid-column: span 1 !important;
    height: 380px !important;
  }
}

/* 3D Depth Card Form ("fomr aksa to loading") */
.mosaic-card {
  position: relative;
  border-radius: 8px;
  cursor: pointer;
  transform-style: preserve-3d;
  will-change: transform;
  outline: none;
}

.mosaic-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 40px 90px rgba(0, 0, 0, 0.7), 0 16px 36px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.28);
  transition: box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  transform-style: preserve-3d;
}

[data-theme="white-cube"] .mosaic-card-inner,
body.theme-white-cube .mosaic-card-inner {
  box-shadow: 0 35px 80px rgba(0, 0, 0, 0.14), 0 12px 28px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(0, 0, 0, 0.14);
}

.mosaic-card-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  filter: saturate(1.08) contrast(1.04);
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), filter 0.5s ease;
  will-change: transform;
}

.mosaic-card:hover .mosaic-card-media {
  transform: scale(1.06);
  filter: saturate(1.15) contrast(1.08);
}

.mosaic-card-glare {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(255, 255, 255, 0.24) 0%, transparent 65%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
  z-index: 3;
}

.mosaic-card:hover .mosaic-card-glare {
  opacity: 1;
}

.mosaic-card-scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.38) 0%, transparent 40%, rgba(0, 0, 0, 0.88) 100%);
  pointer-events: none;
  z-index: 2;
  transition: background 0.4s ease;
}

[data-theme="white-cube"] .mosaic-card-scrim,
body.theme-white-cube .mosaic-card-scrim {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.15) 0%, transparent 45%, rgba(0, 0, 0, 0.82) 100%);
}

.mosaic-card-top-tag {
  position: absolute;
  top: 18px;
  left: 18px;
  right: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 4;
}

.mosaic-idx {
  font-family: var(--font-sans);
  font-size: 0.74rem;
  font-weight: 500;
  color: #ffffff;
  padding: 4px 10px;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(12px);
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.28);
  letter-spacing: 0.1em;
}

.mosaic-series-pill {
  font-family: var(--font-sans);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  color: #ffffff;
  padding: 4px 12px;
  background: rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(12px);
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.22);
  text-transform: uppercase;
}

.mosaic-card-bottom-info {
  position: absolute;
  bottom: 22px;
  left: 22px;
  right: 22px;
  z-index: 4;
  transform: translateZ(28px);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.mosaic-card-title {
  font-family: var(--font-sans);
  font-size: clamp(1.08rem, 1.5vw, 1.48rem);
  font-weight: 400;
  line-height: 1.25;
  color: #ffffff;
  margin-bottom: 6px;
  letter-spacing: -0.01em;
}

.mosaic-card-meta {
  display: block;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.75);
  letter-spacing: 0.04em;
  margin-bottom: 14px;
}

.mosaic-card-action {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #ffffff;
  padding: 6px 14px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: var(--radius-pill);
  backdrop-filter: blur(8px);
  opacity: 0.88;
  transform: translateY(4px);
  transition: opacity 0.3s ease, transform 0.3s ease, background 0.3s ease;
}

.mosaic-card:hover .mosaic-card-action {
  opacity: 1;
  transform: translateY(0);
  background: rgba(255, 255, 255, 0.26);
}

/* ==================== KINETIC RANDOMIZED TYPOGRAPHY SYSTEM ==================== */
.k-char {
  display: inline-block;
  transform-origin: center bottom;
  will-change: transform;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease, text-shadow 0.3s ease;
}

/* Ambient organic 3D float keyframes */
@keyframes kCharBreathing {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }
  33% {
    transform: translate3d(calc(var(--rnd-x, 2px) * 0.7), calc(var(--rnd-y, -2px) * 0.7), 0) rotate(var(--rnd-rot, 1deg));
  }
  66% {
    transform: translate3d(calc(var(--rnd-x, -2px) * -0.5), calc(var(--rnd-y, 2px) * -0.5), 0) rotate(calc(var(--rnd-rot, -1deg) * -0.7));
  }
}

.kinetic-active .k-char {
  animation: kCharBreathing var(--rnd-dur, 3.2s) ease-in-out infinite;
  animation-delay: var(--rnd-delay, 0s);
}

/* Interactive Hover / Proximity Wave on Kinetic Headlines */
.kinetic-headline:hover .k-char,
.kinetic-title:hover .k-char {
  animation-play-state: paused;
}

.k-char:hover {
  transform: translate3d(calc(var(--rnd-x, 0px) * 1.6), -10px, 20px) rotate(calc(var(--rnd-rot, 0deg) * 2.2)) scale(1.15) !important;
  color: var(--accent-contrast) !important;
  text-shadow: 0 0 16px rgba(255, 255, 255, 0.45);
}

[data-theme="white-cube"] .k-char:hover,
body.theme-white-cube .k-char:hover {
  text-shadow: 0 0 16px rgba(0, 0, 0, 0.25);
}

/* ==================== 4. PORTFOLIO GALLERY CATALOGUE ==================== */
.portfolio-section {
  padding: 160px 0;
  border-bottom: 1px solid var(--border-subtle);
}

.section-editorial-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 50px;
  flex-wrap: wrap;
  gap: 20px;
}

.section-index-num {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  color: var(--text-muted);
  display: block;
  letter-spacing: 2px;
  margin-bottom: 8px;
}

.section-headline {
  font-family: var(--font-serif);
  font-size: 2.6rem;
  font-weight: 500;
  color: var(--text-primary);
  letter-spacing: -0.5px;
}

.gallery-filters-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 48px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border-subtle);
}

.filter-chip {
  background: transparent;
  color: var(--text-secondary);
  border: 1px solid var(--border-subtle);
  padding: 8px 20px;
  border-radius: var(--radius-sm);
  font-size: 0.84rem;
  font-family: var(--font-mono);
  letter-spacing: 0.5px;
  transition: var(--transition-fast);
}

.filter-chip:hover {
  color: var(--text-primary);
  border-color: var(--border-light);
}

.filter-chip.active {
  background: var(--accent-contrast);
  color: var(--accent-inverted);
  border-color: var(--accent-contrast);
  font-weight: 600;
}

/* Artworks Grid */
.artworks-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(390px, 1fr));
  gap: 40px;
}

.art-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  overflow: hidden;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  display: flex;
  flex-direction: column;
  position: relative;
  transform-style: preserve-3d;
  perspective: 1000px;
  will-change: transform;
}

.art-card:hover {
  border-color: var(--border-light);
  box-shadow: 0 35px 70px rgba(0, 0, 0, 0.75);
}

.card-sheen {
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.16) 0%, transparent 65%);
  opacity: 0;
  transition: opacity 0.3s ease;
  mix-blend-mode: overlay;
  z-index: 10;
}

.art-card-image-box {
  width: 100%;
  aspect-ratio: 4 / 3;
  background: #000000;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.art-card-image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.art-card:hover .art-card-image-box img {
  transform: scale(1.05);
}

.art-card-content {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.art-card-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.art-card-title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--text-primary);
}

.art-card-year {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  color: var(--text-muted);
}

.art-card-specs {
  font-size: 0.88rem;
  color: var(--text-secondary);
  line-height: 1.6;
}

.art-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--border-subtle);
}

.btn-inquire-quick {
  background: transparent;
  border: none;
  color: var(--text-secondary);
  font-size: 0.82rem;
  font-weight: 600;
  font-family: var(--font-mono);
  transition: var(--transition-fast);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.btn-inquire-quick:hover {
  color: var(--text-primary);
  text-decoration: underline;
}

/* ==================== 5. CHRONOLOGICAL EXHIBITIONS ==================== */
.exhibitions-section {
  padding: 160px 0;
  border-bottom: 1px solid var(--border-subtle);
}

.exhibitions-timeline {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 48px;
}

.exhibition-row {
  display: grid;
  grid-template-columns: 100px 1.4fr 1fr 140px;
  gap: 28px;
  align-items: center;
  padding: 24px 28px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  transition: var(--transition-fast);
}

.exhibition-row:hover {
  border-color: var(--border-light);
  background: var(--bg-card);
}

.exhibition-year {
  font-family: var(--font-mono);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--text-primary);
}

.exhibition-title-wrap h4 {
  font-size: 1.05rem;
  color: var(--text-primary);
  font-weight: 600;
}

.exhibition-title-wrap p {
  font-size: 0.84rem;
  color: var(--text-muted);
  margin-top: 2px;
}

.exhibition-venue-loc {
  font-size: 0.9rem;
  color: var(--text-secondary);
}

.exhibition-type-pill {
  font-family: var(--font-mono);
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-muted);
  border: 1px solid var(--border-subtle);
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  text-align: center;
}

/* ==================== 6. STATEMENT & BIOGRAPHY ==================== */
.about-section {
  padding: 160px 0;
  border-bottom: 1px solid var(--border-subtle);
}

.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: flex-start;
}

.statement-col h3,
.biography-col h3 {
  font-family: var(--font-serif);
  font-size: 1.85rem;
  color: var(--text-primary);
  margin-bottom: 24px;
}

.statement-quote-box {
  font-size: 1.25rem;
  line-height: 1.85;
  color: var(--text-primary);
  font-style: italic;
  border-left: 2px solid var(--accent-contrast);
  padding-left: 28px;
  margin-bottom: 28px;
}

.prose-text {
  font-size: 1rem;
  color: var(--text-secondary);
  line-height: 1.85;
}

.cv-milestones-list {
  margin-top: 36px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.cv-item-row {
  display: flex;
  gap: 24px;
  font-size: 0.9rem;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-subtle);
}

.cv-year {
  font-family: var(--font-mono);
  color: var(--text-muted);
  width: 70px;
  flex-shrink: 0;
}

.cv-text {
  color: var(--text-secondary);
}

/* ==================== 7. ATELIER & ARCHITECTURAL SPACE ==================== */
.atelier-space-section {
  padding: 160px 0;
  border-bottom: 1px solid var(--border-subtle);
}

.atelier-showcase-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}

.atelier-photo-card {
  border: 1px solid var(--border-light);
  padding: 16px;
  background: var(--bg-surface);
  border-radius: var(--radius-sm);
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.6);
}

.atelier-photo-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.atelier-caption {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: var(--text-muted);
  margin-top: 12px;
  display: flex;
  justify-content: space-between;
}

.atelier-info-col h3 {
  font-family: var(--font-serif);
  font-size: 2.2rem;
  color: var(--text-primary);
  margin-bottom: 20px;
}

/* ==================== 8. COLLECTOR & CURATOR INQUIRIES ==================== */
.inquiry-section {
  padding: 160px 0 180px;
  border-bottom: 1px solid var(--border-subtle);
}

.inquiry-grid {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 70px;
  align-items: flex-start;
}

.inquiry-info-box h3 {
  font-family: var(--font-serif);
  font-size: 2.4rem;
  color: var(--text-primary);
  margin-bottom: 20px;
}

.inquiry-info-box p {
  color: var(--text-secondary);
  font-size: 1rem;
  line-height: 1.85;
  margin-bottom: 32px;
}

.atelier-contact-meta {
  display: flex;
  flex-direction: column;
  gap: 16px;
  font-size: 0.92rem;
}

.contact-meta-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  color: var(--text-secondary);
}

.contact-meta-row strong {
  color: var(--text-primary);
}

.inquiry-form-wrapper {
  background: var(--bg-surface);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  padding: 40px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
}

.form-row-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}

.form-full {
  margin-bottom: 20px;
}

.input-label {
  display: block;
  font-size: 0.82rem;
  color: var(--text-primary);
  font-family: var(--font-mono);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.editorial-input {
  width: 100%;
  background: var(--bg-primary);
  border: 1px solid var(--border-light);
  color: var(--text-primary);
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  font-family: inherit;
  font-size: 0.92rem;
  transition: var(--transition-fast);
}

.editorial-input:focus {
  outline: none;
  border-color: var(--border-focus);
}

textarea.editorial-input {
  min-height: 130px;
  resize: vertical;
}

/* ==================== 9. EDITORIAL FOOTER ==================== */
.site-footer {
  padding: 130px 0 50px;
  background: #000000;
  border-top: 1px solid var(--border-subtle);
}

.footer-top-grid {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 70px;
  flex-wrap: wrap;
  gap: 40px;
}

.footer-brand-col h4 {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  color: #ffffff;
  letter-spacing: 2px;
}

.footer-brand-col p {
  font-size: 0.88rem;
  color: #888888;
  margin-top: 8px;
  max-width: 420px;
}

.footer-links-group {
  display: flex;
  gap: 60px;
}

.footer-nav-col h5 {
  font-size: 0.82rem;
  font-family: var(--font-mono);
  color: #777777;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 16px;
}

.footer-nav-col ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.footer-nav-col a {
  color: #aaaaaa;
  text-decoration: none;
  font-size: 0.88rem;
  transition: var(--transition-fast);
}

.footer-nav-col a:hover {
  color: #ffffff;
}

.footer-bottom-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 32px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 0.82rem;
  color: #666666;
  font-family: var(--font-mono);
}

/* ==================== 10. ARTWORK LIGHTBOX MODAL ==================== */
.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.94);
  backdrop-filter: blur(14px);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  padding: 30px;
}

.modal-backdrop.open {
  opacity: 1;
  pointer-events: auto;
}

.lightbox-dialog {
  background: var(--bg-surface);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  max-width: 1080px;
  width: 100%;
  max-height: 90vh;
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  overflow: hidden;
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.9);
}

.lightbox-visual-col {
  background: #000000;
  padding: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid var(--border-subtle);
}

.lightbox-img-box {
  width: 100%;
  max-height: 75vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox-img-box img {
  max-width: 100%;
  max-height: 75vh;
  object-fit: contain;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.lightbox-info-col {
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow-y: auto;
}

.lightbox-close-btn {
  align-self: flex-end;
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-size: 1.8rem;
  transition: var(--transition-fast);
  line-height: 1;
}

.lightbox-close-btn:hover {
  color: var(--text-primary);
}

/* Toast Message */
.toast-msg {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: var(--accent-contrast);
  color: var(--accent-inverted);
  padding: 14px 28px;
  border-radius: var(--radius-sm);
  font-size: 0.88rem;
  font-weight: 600;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.8);
  transform: translateY(100px);
  opacity: 0;
  transition: var(--transition-smooth);
}

.toast-msg.show {
  transform: translateY(0);
  opacity: 1;
}

/* Responsive */
@media (max-width: 1024px) {
  .hero-art-grid,
  .about-grid,
  .atelier-showcase-grid,
  .inquiry-grid,
  .lightbox-dialog {
    grid-template-columns: 1fr;
  }

  .lightbox-visual-col {
    border-right: none;
    border-bottom: 1px solid var(--border-subtle);
  }

  .exhibition-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .gallery-nav {
    display: none;
  }
}

/* ==================== 11. UI/UX DESIGN SYSTEM RULES MODAL ==================== */
.spec-modal-dialog {
  width: 95%;
  max-width: 980px;
  max-height: 88vh;
  background: var(--bg-surface);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  box-shadow: 0 45px 120px rgba(0, 0, 0, 0.9);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: modalPop 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.spec-modal-header {
  padding: 24px 32px;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-card);
}

.spec-subtitle {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 2px;
  color: var(--text-muted);
  text-transform: uppercase;
}

.spec-title {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  color: var(--text-primary);
  margin-top: 2px;
}

.spec-nav-tabs {
  display: flex;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--bg-secondary);
  overflow-x: auto;
}

.spec-tab-btn {
  background: transparent;
  border: none;
  padding: 14px 22px;
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: var(--transition-fast);
  white-space: nowrap;
}

.spec-tab-btn:hover {
  color: var(--text-primary);
}

.spec-tab-btn.active {
  color: var(--text-primary);
  border-bottom-color: var(--accent-contrast);
  background: var(--bg-surface);
  font-weight: 600;
}

.spec-content-body {
  padding: 32px;
  overflow-y: auto;
  flex: 1;
}

.spec-pane {
  display: none;
}

.spec-pane.active {
  display: block;
  animation: fadeIn 0.25s ease;
}

.spec-pane-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 36px;
}

.spec-pane-full {
  display: flex;
  flex-direction: column;
}

.spec-col-info h4 {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--text-primary);
  margin-bottom: 10px;
}

.spec-col-info p {
  color: var(--text-secondary);
  font-size: 0.92rem;
  line-height: 1.75;
}

.spec-state-table {
  margin-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.spec-state-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.86rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

.spec-badge {
  background: var(--bg-card);
  border: 1px solid var(--border-light);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  min-width: 64px;
  text-align: center;
  flex-shrink: 0;
}

.spec-col-interactive h5 {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--text-muted);
  margin-bottom: 12px;
}

.spec-playground-box {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  padding: 24px;
  border-radius: var(--radius-sm);
}

.spec-telemetry {
  font-family: var(--font-mono);
  font-size: 0.76rem;
  color: var(--text-muted);
  background: var(--bg-secondary);
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-subtle);
  margin-top: 12px;
}

.spec-card-sandbox {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  padding: 28px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  perspective: 1000px;
}

.spec-interactive-card {
  width: 250px;
  background: #141416;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius-sm);
  overflow: hidden;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 0.1s ease-out;
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.75);
}

.spec-card-sheen {
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.22) 0%, transparent 60%);
  opacity: 0;
  mix-blend-mode: overlay;
  z-index: 5;
}

.spec-card-mock-img {
  width: 100%;
  height: 140px;
  background-size: cover;
  background-position: center;
}

.spec-themes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 16px;
  margin-top: 16px;
}

.spec-theme-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  padding: 18px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: var(--transition-fast);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.spec-theme-card:hover {
  border-color: var(--border-focus);
  transform: translateY(-3px);
}

.spec-theme-swatch {
  width: 100%;
  height: 52px;
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-serif);
  font-size: 1.25rem;
}

.spec-theme-desc {
  font-size: 0.78rem;
  color: var(--text-secondary);
  line-height: 1.4;
}

.spec-theme-token {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--text-muted);
  margin-top: auto;
}

.spec-bullets {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 0.88rem;
  color: var(--text-secondary);
}

.spec-type-sample {
  background: var(--bg-card);
  padding: 18px 20px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border-subtle);
  margin-bottom: 14px;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 860px) {
  .spec-pane-grid {
    grid-template-columns: 1fr;
  }
}

/* ==================== 11. PRIVATE VIEWING & ACQUISITION DOSSIER MODAL ==================== */
.dossier-dialog {
  background: var(--bg-surface);
  border: 1px solid var(--border-nude);
  border-radius: var(--radius-sm);
  max-width: 1120px;
  width: 100%;
  max-height: 92vh;
  overflow-y: auto;
  position: relative;
  box-shadow: 0 40px 120px rgba(0, 0, 0, 0.95), 0 0 50px rgba(232, 223, 209, 0.08);
}

.dossier-grid {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  min-height: 580px;
}

.dossier-info-pane {
  background: var(--bg-secondary);
  padding: 44px 38px;
  border-right: 1px solid var(--border-subtle);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.dossier-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 2px;
  color: var(--accent-nude);
  background: var(--bg-nude-tint);
  border: 1px solid var(--border-nude);
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  width: fit-content;
  margin-bottom: 20px;
}

.dossier-title {
  font-family: var(--font-serif);
  font-size: 1.85rem;
  color: var(--text-primary);
  line-height: 1.25;
  margin-bottom: 16px;
  letter-spacing: -0.3px;
}

.dossier-intro {
  font-size: 0.92rem;
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: 28px;
}

.dossier-perks-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 28px;
}

.dossier-perk-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.perk-icon {
  width: 18px;
  height: 18px;
  color: var(--accent-nude);
  flex-shrink: 0;
  margin-top: 3px;
}

.dossier-perk-item strong {
  display: block;
  font-size: 0.88rem;
  color: var(--text-primary);
  margin-bottom: 4px;
  font-weight: 600;
}

.dossier-perk-item p {
  font-size: 0.82rem;
  color: var(--text-muted);
  line-height: 1.55;
  margin: 0;
}

.dossier-atelier-status {
  padding: 14px 18px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  gap: 10px;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
  flex-shrink: 0;
}

.dossier-form-pane {
  padding: 44px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.form-heading {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  color: var(--text-primary);
  margin-bottom: 22px;
  letter-spacing: 0.3px;
}

.form-row-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 16px;
}

.dossier-intent-chips {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 6px;
}

.intent-chip {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 12px;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 0.78rem;
  color: var(--text-secondary);
  text-align: center;
  transition: var(--transition-fast);
}

.intent-chip input {
  display: none;
}

.intent-chip:has(input:checked) {
  background: var(--bg-nude-tint);
  border-color: var(--accent-nude);
  color: var(--accent-nude);
  font-weight: 600;
}

.dossier-submit-btn {
  width: 100%;
  justify-content: center;
  background: var(--accent-nude);
  color: #070707 !important;
  border-color: var(--accent-nude);
  margin-top: 14px;
  padding: 14px 24px;
  cursor: pointer;
  font-weight: 700;
}

.dossier-submit-btn:hover {
  background: #ffffff;
  color: #070707 !important;
  box-shadow: 0 4px 20px rgba(255, 255, 255, 0.2);
}

.dossier-security-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.76rem;
  color: var(--text-muted);
  font-family: var(--font-mono);
  margin-top: 14px;
  text-align: center;
}

.dossier-success-box {
  text-align: center;
  padding: 40px 20px;
}

.success-icon-wrap {
  margin-bottom: 16px;
}

.success-title {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  color: var(--text-primary);
  margin-bottom: 12px;
}

.success-desc {
  font-size: 0.92rem;
  color: var(--text-secondary);
  line-height: 1.7;
  max-width: 460px;
  margin: 0 auto 24px;
}

.success-meta-card {
  background: var(--bg-card);
  border: 1px solid var(--border-nude);
  padding: 16px 20px;
  border-radius: var(--radius-sm);
  display: flex;
  justify-content: space-around;
  font-family: var(--font-mono);
  font-size: 0.8rem;
  color: var(--text-secondary);
  max-width: 460px;
  margin: 0 auto;
}

@media (max-width: 880px) {
  .dossier-grid {
    grid-template-columns: 1fr;
  }
  .dossier-info-pane {
    border-right: none;
    border-bottom: 1px solid var(--border-subtle);
    padding: 30px 24px;
  }
  .dossier-form-pane {
    padding: 30px 24px;
  }
  .form-row-2col {
    grid-template-columns: 1fr;
  }
  .dossier-intent-chips {
    grid-template-columns: 1fr;
  }
}

/* ==================== 11. HERO AMBIENT VIDEO ==================== */
.hero-video-preview {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: contrast(1.05) brightness(0.95);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.masterpiece-canvas-card:hover .hero-video-preview {
  transform: scale(1.03);
}

/* ==================== 12. CINEMATIC FILM SECTION ==================== */
.cinematic-film-section {
  padding: 160px 0;
  background: var(--bg-surface);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
  overflow: hidden;
}

.film-editorial-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
  gap: 40px;
  flex-wrap: wrap;
}

.film-header-desc {
  color: var(--text-muted);
  font-size: 0.95rem;
  max-width: 480px;
  line-height: 1.7;
}

.film-player-wrap {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  background: #000000;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6);
}

.film-video-container {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.film-video-container video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.video-ambient-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 100px rgba(0, 0, 0, 0.7);
  z-index: 1;
}

.film-overlay-controls {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 30px;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, transparent 40%, transparent 60%, rgba(0, 0, 0, 0.8) 100%);
  z-index: 2;
  transition: opacity 0.3s ease;
}

.film-video-container.playing .film-overlay-controls {
  opacity: 0;
}

.film-video-container.playing:hover .film-overlay-controls {
  opacity: 1;
}

.film-center-play-btn {
  margin: auto;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease;
}

.film-center-play-btn:hover {
  transform: scale(1.1);
  background: rgba(255, 255, 255, 0.28);
  border-color: #ffffff;
}

.film-bottom-bar {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
}

.film-time-display {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.85);
  white-space: nowrap;
}

.film-scrub-track {
  flex: 1;
  height: 6px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.film-scrub-progress {
  height: 100%;
  width: 0%;
  background: var(--text-primary);
  border-radius: 3px;
  transition: width 0.1s linear;
}

.film-action-btns {
  display: flex;
  align-items: center;
  gap: 12px;
}

.film-icon-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.film-icon-btn:hover {
  background: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

.film-credits-strip {
  padding: 16px 28px;
  background: var(--bg-card);
  border-top: 1px solid var(--border-subtle);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  font-family: var(--font-mono);
  font-size: 0.76rem;
  letter-spacing: 1px;
  color: var(--text-muted);
}

/* ==================== 13. COLLABORATIONS & REPRESENTATION ==================== */
.collaborations-section {
  padding: 160px 0;
  border-bottom: 1px solid var(--border-subtle);
  position: relative;
}

.section-subtitle-wide {
  color: var(--text-muted);
  font-size: 0.98rem;
  max-width: 520px;
  line-height: 1.7;
}

.collab-pillars-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 56px;
}

.collab-card {
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 36px 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

.collab-card:hover {
  border-color: var(--border-nude);
  transform: translateY(-5px);
  background: var(--bg-card-hover);
}

.collab-num {
  font-family: var(--font-mono);
  font-size: 0.9rem;
  color: var(--accent-nude);
  letter-spacing: 2px;
  margin-bottom: 20px;
}

.collab-card h4 {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  color: var(--text-primary);
  margin-bottom: 14px;
  line-height: 1.3;
}

.collab-card p {
  font-size: 0.88rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin-bottom: 24px;
}

.collab-tag {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-muted);
  border-top: 1px solid var(--border-subtle);
  padding-top: 14px;
}

.collab-action-banner {
  margin-top: 50px;
  padding: 40px 48px;
  background: linear-gradient(135deg, var(--bg-card) 0%, var(--bg-surface) 100%);
  border: 1px solid var(--border-nude);
  border-radius: var(--radius-sm);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}

.action-banner-text h3 {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  color: var(--text-primary);
  margin-bottom: 8px;
}

.action-banner-text p {
  font-size: 0.92rem;
  color: var(--text-secondary);
  max-width: 580px;
  line-height: 1.6;
}

/* ==================== 14. AUTHENTIC GALLERY ENHANCEMENTS ==================== */
.art-card-collection-pill {
  position: absolute;
  top: 14px;
  left: 14px;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 3px;
  z-index: 2;
}

@media (max-width: 1080px) {
  .collab-pillars-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 680px) {
  .collab-pillars-grid {
    grid-template-columns: 1fr;
  }
  .collab-action-banner {
    padding: 28px 20px;
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ==================== 15. READYMAG EDITORIAL FULL-BLEED ARCHITECTURE ==================== */

/* 1. Full viewport sizing & fluid layout ("size site ful beshe") */
:root {
  --container-max: 100%;
}

.site-container {
  width: 100%;
  max-width: 100% !important;
  padding: 0 clamp(20px, 4vw, 56px);
}

/* 2. Monumental Single-Line Top Masthead ("balasie site to ieline esm bashe") */
.editorial-top-masthead-bar {
  position: relative;
  z-index: 105;
  background-color: var(--bg-surface);
  border-bottom: 1px solid var(--border-subtle);
  width: 100%;
  padding: 8px clamp(16px, 3.5vw, 48px);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: background-color 0.4s ease, border-color 0.4s ease;
}

.masthead-full-line {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
  width: 100%;
}

.masthead-brand-line {
  display: flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: var(--font-mono);
  font-size: clamp(0.72rem, 1.1vw, 0.88rem);
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.masthead-artist-name {
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: clamp(0.95rem, 1.4vw, 1.25rem);
  letter-spacing: 2px;
  color: var(--text-primary);
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.masthead-artist-name:hover {
  opacity: 0.8;
}

.masthead-slash {
  color: var(--border-light);
  font-weight: 300;
}

.masthead-role {
  color: var(--text-secondary);
  font-weight: 500;
}

.masthead-geo {
  color: var(--text-muted);
}

.masthead-status-live {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--text-muted);
  font-size: 0.72rem;
}

.masthead-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* 3. Bipolar Dark & White Theme Switcher ("theme dark and white dashte bashe") */
.bipolar-theme-toggle {
  display: inline-flex;
  align-items: center;
  background: var(--bg-card);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-pill);
  padding: 2px;
  gap: 2px;
}

.bipolar-theme-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  border-radius: var(--radius-pill);
  padding: 4px 12px;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 1px;
  color: var(--text-muted);
  cursor: pointer;
  transition: all 0.25s ease;
}

.bipolar-theme-btn:hover {
  color: var(--text-primary);
}

.bipolar-theme-btn.active {
  background: var(--text-primary);
  color: var(--bg-primary);
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.theme-btn-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

/* 4. Sticky Project Navigator Bar */
.projects-sticky-navigator {
  position: sticky;
  top: 76px;
  z-index: 95;
  background: var(--bg-surface);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  margin-top: 2rem;
  margin-bottom: 3.5rem;
  padding: 8px 0;
  width: 100%;
}

.projects-pills-track {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  white-space: nowrap;
  padding: 4px clamp(16px, 3.5vw, 48px);
  scrollbar-width: none;
}
.projects-pills-track::-webkit-scrollbar {
  display: none;
}

.proj-pill-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 1px;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
}

.proj-pill-link .pill-idx {
  opacity: 0.6;
  font-weight: 600;
}

.proj-pill-link:hover {
  background: var(--bg-card-hover);
  border-color: var(--border-light);
  color: var(--text-primary);
  transform: translateY(-1px);
}

.proj-pill-link.active {
  background: var(--text-primary);
  color: var(--bg-primary);
  border-color: var(--text-primary);
  font-weight: 600;
}

.proj-pill-link.active .pill-idx {
  opacity: 1;
}

/* 5. Readymag Project Chapter Sections ("har foldere aks k b eht dadam projehash baiad joda joda bashe") */
.readymag-project-chapter {
  position: relative;
  padding: 7rem 0 8rem;
  border-bottom: 1px solid var(--border-subtle);
  overflow: hidden;
}

.chapter-curatorial-header {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 48px;
  align-items: flex-end;
  margin-bottom: 3.5rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid var(--border-subtle);
}

.chapter-index-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 0.85rem;
  letter-spacing: 2px;
  margin-bottom: 1rem;
}

.chapter-num {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--text-primary);
  font-family: var(--font-serif);
  line-height: 1;
}

.chapter-total {
  color: var(--text-muted);
}

.chapter-sep {
  color: var(--border-light);
}

.chapter-date {
  color: var(--text-muted);
  font-size: 0.75rem;
}

.chapter-headline {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 3.8vw, 3.4rem);
  font-weight: 500;
  line-height: 1.15;
  color: var(--text-primary);
  letter-spacing: -0.5px;
}

.chapter-medium-tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text-secondary);
  border: 1px solid var(--border-light);
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  margin-bottom: 1rem;
}

.chapter-synopsis {
  color: var(--text-secondary);
  font-size: 0.95rem;
  line-height: 1.7;
}

/* 6. Creative Readymag Cards & Compositions */
.readymag-art-card {
  position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.35s ease;
}

.readymag-art-card:hover {
  transform: translateY(-4px);
  border-color: var(--border-light);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.35);
}

.readymag-card-img-wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #000000;
}

.readymag-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease;
}

.readymag-art-card:hover .readymag-card-img {
  transform: scale(1.04);
}

.readymag-item-pill {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 2px;
  pointer-events: none;
}

.readymag-card-caption {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: var(--bg-surface);
  border-top: 1px solid var(--border-subtle);
}

.caption-top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.caption-title {
  font-family: var(--font-serif);
  font-size: 0.96rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0;
  cursor: pointer;
  transition: color 0.2s ease;
}

.caption-title:hover {
  color: var(--text-secondary);
}

.caption-year {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--text-muted);
}

.caption-medium {
  font-size: 0.78rem;
  color: var(--text-muted);
  line-height: 1.4;
}

.caption-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 6px;
  padding-top: 8px;
  border-top: 1px dashed var(--border-subtle);
}

.caption-dims {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: var(--text-dim);
}

.caption-inquire-link {
  background: transparent;
  border: none;
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.5px;
  cursor: pointer;
  padding: 0;
  text-transform: uppercase;
  transition: opacity 0.2s ease;
}

.caption-inquire-link:hover {
  opacity: 0.7;
}

/* Layout 1: ERDEM Split & Ribbon */
.readymag-editorial-split {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 32px;
  margin-bottom: 2.5rem;
}

.card-hero-portrait .readymag-card-img-wrap {
  aspect-ratio: 4/5;
}

.split-col-stacked {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.stacked-curatorial-brief {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 28px;
}

.brief-label {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  letter-spacing: 2px;
  color: var(--text-muted);
  margin-bottom: 12px;
  text-transform: uppercase;
}

.brief-body {
  color: var(--text-secondary);
  font-size: 0.95rem;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

.brief-meta-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  border-top: 1px solid var(--border-subtle);
  padding-top: 14px;
}

.brief-meta-grid .m-title {
  color: var(--text-muted);
  margin-right: 6px;
}

.brief-meta-grid .m-val {
  color: var(--text-primary);
}

.stacked-pair-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.readymag-horizontal-ribbon-block {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 24px;
  margin-top: 2rem;
}

.ribbon-block-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 1.5px;
}

.ribbon-block-tag {
  color: var(--text-primary);
  font-weight: 600;
}

.ribbon-scroll-hint {
  color: var(--text-muted);
}

.readymag-horizontal-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding-bottom: 12px;
  scrollbar-width: thin;
  scrollbar-color: var(--border-light) transparent;
}

.card-ribbon-item {
  flex: 0 0 280px;
}

.card-ribbon-item .readymag-card-img-wrap {
  aspect-ratio: 4/5;
}

/* Layout 2: Tulips Asymmetric Spread */
.readymag-tulips-spread {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 32px;
  margin-bottom: 3rem;
}

.card-tulips-hero .readymag-card-img-wrap {
  aspect-ratio: 16/11;
}

.tulips-duo-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.readymag-editorial-tray {
  margin-top: 2rem;
}

.tray-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px dashed var(--border-subtle);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 1.5px;
  color: var(--text-muted);
}

/* Fluid Grids */
.readymag-fluid-grid {
  display: grid;
  gap: 24px;
}

.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
.grid-cols-5 { grid-template-columns: repeat(5, 1fr); }

/* Layout 3: Andaruni Softies */
.readymag-sculptural-lead {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 32px;
  margin-bottom: 3rem;
}

.card-sculptural-monument .readymag-card-img-wrap {
  aspect-ratio: 4/3;
}

.sculptural-brief-box {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 32px;
}

.brief-title {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  color: var(--text-primary);
  margin-bottom: 1rem;
}

.sculptural-details-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-subtle);
  font-family: var(--font-mono);
  font-size: 0.74rem;
}

.sculptural-details-list .detail-row span {
  color: var(--text-muted);
  margin-right: 6px;
  font-weight: 600;
}

/* Layout 4: Brutalist Assimilation */
.readymag-brutalist-spread {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 32px;
  margin-bottom: 2rem;
}

.card-brutalist-hero .readymag-card-img-wrap {
  aspect-ratio: 16/10;
}

.brutalist-monograph-text {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.brutalist-quote {
  font-family: var(--font-serif);
  font-style: italic;
  font-size: 1.15rem;
  color: var(--text-primary);
  line-height: 1.6;
  margin-top: 1.5rem;
  padding-left: 18px;
  border-left: 2px solid var(--border-focus);
}

/* Layout 5: Azar Portrait Duo */
.readymag-portrait-duo-spread {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.card-portrait-duo .readymag-card-img-wrap {
  aspect-ratio: 3/4;
}

/* Layout 6: Blackkk Impasto Wall */
.readymag-noir-wall {
  background: #000000;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  padding: 36px;
}

.noir-wall-intro {
  max-width: 680px;
  margin-bottom: 2rem;
}

.card-noir-impasto {
  background: #0a0a0a !important;
  border-color: #222222 !important;
}

.card-noir-impasto .readymag-card-img-wrap {
  aspect-ratio: 3/4;
}

/* Layout 11: Moodboard Pinboard Collage */
.readymag-moodboard-collage {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 36px;
}

.moodboard-intro-tag {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 1.5px;
  color: var(--text-muted);
  margin-bottom: 2rem;
}

.moodboard-pin-grid .card-moodboard-pin {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.pin-rot--2 { transform: rotate(-2deg); }
.pin-rot--1 { transform: rotate(-1deg); }
.pin-rot-0  { transform: rotate(0deg); }
.pin-rot-1  { transform: rotate(1.5deg); }
.pin-rot-2  { transform: rotate(2.5deg); }

.card-moodboard-pin:hover {
  transform: rotate(0deg) scale(1.05) !important;
  z-index: 10;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45);
}

/* White Cube Theme Perfection */
[data-theme="white-cube"] {
  --bg-primary: #ffffff;
  --bg-secondary: #f7f7f7;
  --bg-surface: #ffffff;
  --bg-card: #f9f9f9;
  --bg-card-hover: #f0f0f0;
  --border-subtle: rgba(0, 0, 0, 0.08);
  --border-light: rgba(0, 0, 0, 0.16);
  --border-focus: #000000;
  --border-stark: #000000;
  --text-primary: #0a0a0a;
  --text-secondary: #404040;
  --text-muted: #6e6e6e;
  --text-dim: #999999;
  --accent-contrast: #000000;
  --accent-inverted: #ffffff;
  --accent-glow: rgba(0, 0, 0, 0.06);
}

[data-theme="white-cube"] .readymag-art-card {
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}

[data-theme="white-cube"] .readymag-art-card:hover {
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
}

[data-theme="white-cube"] .btn-solid-primary {
  background: #000000;
  color: #ffffff;
  border-color: #000000;
}

[data-theme="white-cube"] .bipolar-theme-btn.active {
  background: #000000;
  color: #ffffff;
}

/* Responsive Editorial Layouts */
@media (max-width: 1200px) {
  .grid-cols-5 { grid-template-columns: repeat(3, 1fr); }
  .grid-cols-4 { grid-template-columns: repeat(3, 1fr); }
  .chapter-curatorial-header { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 900px) {
  .readymag-editorial-split,
  .readymag-tulips-spread,
  .readymag-sculptural-lead,
  .readymag-brutalist-spread {
    grid-template-columns: 1fr;
  }
  .grid-cols-3,
  .grid-cols-4,
  .grid-cols-5 {
    grid-template-columns: repeat(2, 1fr);
  }
  .stacked-pair-grid,
  .readymag-portrait-duo-spread,
  .tulips-duo-col {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .grid-cols-2,
  .grid-cols-3,
  .grid-cols-4,
  .grid-cols-5 {
    grid-template-columns: 1fr;
  }
  .masthead-full-line {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}

/* ==================== 16. FULLSCREEN CINEMATIC VIDEO HERO ==================== */
.hero-cinematic-fullscreen {
  position: relative;
  width: 100vw;
  height: 100vh;
  min-height: 100vh;
  min-height: 100dvh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000000;
}

.hero-video-bg-layer {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}

.hero-bg-video-stream {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  filter: brightness(0.85) contrast(1.08);
}

.hero-video-vignette-mask {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.6) 100%),
              linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 0%, transparent 20%, transparent 75%, rgba(0, 0, 0, 0.85) 100%);
  pointer-events: none;
  z-index: 2;
}

.hero-fullscreen-content {
  position: relative;
  z-index: 5;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(24px, 4vh, 48px) clamp(20px, 4vw, 56px);
  color: #ffffff;
  pointer-events: none;
}

.hero-fullscreen-content * {
  pointer-events: auto;
}

.hero-top-status-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-top: 54px;
}

.hero-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(0, 0, 0, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--radius-pill);
  padding: 5px 14px;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 1.5px;
  color: #ffffff;
}

.hero-audio-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(0, 0, 0, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--radius-pill);
  padding: 6px 16px;
  color: #ffffff;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.hero-audio-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: #ffffff;
}

.hero-center-typography {
  max-width: 900px;
  margin: auto 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.hero-micro-dossier {
  font-family: var(--font-mono);
  font-size: clamp(0.72rem, 1vw, 0.82rem);
  letter-spacing: 2.5px;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
}

.hero-monumental-headline {
  font-family: var(--font-sans);
  font-size: clamp(2.4rem, 5.4vw, 5.2rem);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -1.2px;
  color: #ffffff;
  text-transform: uppercase;
  margin: 0;
}

.hero-minimal-curatorial-statement {
  font-family: var(--font-sans);
  font-size: clamp(0.95rem, 1.25vw, 1.12rem);
  font-weight: 300;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.85);
  max-width: 640px;
  margin: 4px 0 12px;
}

.hero-action-pills {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.btn-hero-minimal-solid {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  color: #000000;
  border: 1px solid #ffffff;
  border-radius: var(--radius-pill);
  padding: 12px 28px;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 1px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-hero-minimal-solid:hover {
  background: transparent;
  color: #ffffff;
  transform: translateY(-2px);
}

.btn-hero-minimal-glass {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.25);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: var(--radius-pill);
  padding: 12px 28px;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  letter-spacing: 1px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-hero-minimal-glass:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: #ffffff;
  transform: translateY(-2px);
}

.hero-bottom-ticker-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
  padding-bottom: 12px;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 1.5px;
  color: rgba(255, 255, 255, 0.65);
}

.hero-coordinates {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hero-scroll-invite {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.85);
  transition: color 0.2s ease;
}

.hero-scroll-invite:hover {
  color: #ffffff;
}

.scroll-animated-bar {
  width: 1px;
  height: 24px;
  background: linear-gradient(to bottom, rgba(255,255,255,0.8), transparent);
  animation: scrollBarPulse 1.8s infinite ease-in-out;
}

.hero-master-specs {
  color: rgba(255, 255, 255, 0.65);
}

/* ==================== 5D PRELOADER RESPONSIVENESS ==================== */
@media (max-width: 900px) {
  .plane-card-fg-left {
    width: 170px;
    height: 235px;
    left: 2%;
    top: 14%;
    transform: translate3d(0, 0, 70px) rotateY(12deg);
    opacity: 0.88;
  }
  .plane-card-fg-right {
    width: 180px;
    height: 250px;
    right: 2%;
    bottom: 10%;
    transform: translate3d(0, 0, 80px) rotateY(-12deg);
    opacity: 0.9;
  }
  .plane-card-bot-left,
  .plane-card-mid-left,
  .plane-card-mid-right,
  .plane-card-far-center,
  .plane-card-far-depth {
    display: none;
  }
}

/* ==================== UNIVERSAL CURATORIAL EASE-IN-OUT REVEAL ENGINE ==================== */
:root {
  --ease-curatorial: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-slowmo: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-spatial: cubic-bezier(0.85, 0, 0.15, 1);
  --ease-cinematic: cubic-bezier(0.16, 1, 0.3, 1);
}

/* Shutter Curtain Clip Masks for Ease-In-Out Entrances */
.ease-reveal-curtain {
  position: relative;
  overflow: hidden;
  clip-path: inset(0% 0% 0% 0%);
  transition: clip-path 1.25s var(--ease-curatorial);
  will-change: clip-path;
}

.ease-reveal-curtain.is-concealed {
  clip-path: inset(100% 0% 0% 0%);
}

/* Internal scale settling for image containers */
.readymag-card-img-wrap,
.art-card-img-wrap,
.lookbook-img-frame,
.tulips-img-frame,
.andaruni-img-frame,
.exile-img-frame,
.research-img-frame,
.collab-img-frame,
.monograph-lead-img-wrap,
.spotlight-artwork-wrap {
  position: relative;
  overflow: hidden;
}

.readymag-card-img-wrap img,
.art-card-img-wrap img,
.lookbook-img-frame img,
.tulips-img-frame img,
.andaruni-img-frame img,
.exile-img-frame img,
.research-img-frame img,
.collab-img-frame img,
.monograph-lead-img-wrap img,
.spotlight-artwork-wrap img {
  transition: transform 1.2s var(--ease-curatorial), filter 0.8s var(--ease-curatorial);
  transform-origin: center center;
  will-change: transform, filter;
}

/* High-end hover dynamics */
.readymag-card:hover .readymag-card-img-wrap img,
.art-card:hover .art-card-img-wrap img,
.lookbook-item:hover .lookbook-img-frame img,
.tulips-card:hover .tulips-img-frame img,
.tulips-masonry-card:hover .tulips-img-frame img,
.andaruni-card:hover .andaruni-img-frame img,
.andaruni-hero-card:hover .andaruni-img-frame img,
.exile-frame:hover .exile-img-frame img,
.research-card:hover .research-img-frame img,
.collaborations-card:hover .collab-img-frame img {
  transform: scale(1.05);
  filter: contrast(1.04) saturate(1.08);
}

/* ==================== CURATORIAL AUDIO WIDGET (BAMDAD AFSHAR - FROG OST) ==================== */
.curatorial-audio-widget {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 99998;
  font-family: var(--font-sans);
}

/* Collapsed Floating Capsule */
.audio-capsule {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px 12px 6px 6px;
  background: rgba(14, 14, 16, 0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius-pill);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.6), 0 4px 12px rgba(0, 0, 0, 0.35);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease, background-color 0.4s ease;
  user-select: none;
}

[data-theme="white-cube"] .audio-capsule,
body.theme-white-cube .audio-capsule {
  background: rgba(255, 255, 255, 0.90);
  border-color: rgba(0, 0, 0, 0.12);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12), 0 4px 12px rgba(0, 0, 0, 0.06);
}

.audio-capsule:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.32);
}

[data-theme="white-cube"] .audio-capsule:hover,
body.theme-white-cube .audio-capsule:hover {
  border-color: rgba(0, 0, 0, 0.28);
}

/* Rotating Vinyl Disc */
.audio-disc-thumb-wrap {
  position: relative;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
  flex-shrink: 0;
  cursor: pointer;
}

.audio-disc-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.curatorial-audio-widget.is-playing .audio-disc-img {
  animation: spinVinyl 12s linear infinite;
}

@keyframes spinVinyl {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.audio-disc-center-hole {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--bg-primary);
  border: 1.5px solid rgba(255, 255, 255, 0.4);
}

/* Capsule Meta Info */
.audio-capsule-meta {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  padding-right: 4px;
}

.audio-capsule-artist {
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  color: var(--text-muted);
  font-weight: 500;
  text-transform: uppercase;
}

.audio-capsule-track {
  font-size: 0.74rem;
  letter-spacing: 0.04em;
  color: var(--text-primary);
  font-weight: 500;
  white-space: nowrap;
  max-width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Audio Controls & Equalizer */
.audio-capsule-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Equalizer Bars */
.sound-wave-eq {
  display: flex;
  align-items: flex-end;
  gap: 2.5px;
  height: 14px;
  padding: 0 4px;
}

.sound-wave-eq .eq-bar {
  width: 2px;
  height: 3px;
  background: var(--text-muted);
  border-radius: 1px;
  transition: height 0.2s ease, background-color 0.3s ease;
}

.curatorial-audio-widget.is-playing .sound-wave-eq .eq-bar {
  background: var(--accent-contrast);
  animation: eqBarBounce 0.9s ease-in-out infinite alternate;
}

.curatorial-audio-widget.is-playing .sound-wave-eq .eq-bar:nth-child(1) {
  animation-delay: 0.1s;
  animation-duration: 0.75s;
}

.curatorial-audio-widget.is-playing .sound-wave-eq .eq-bar:nth-child(2) {
  animation-delay: 0.35s;
  animation-duration: 0.95s;
}

.curatorial-audio-widget.is-playing .sound-wave-eq .eq-bar:nth-child(3) {
  animation-delay: 0.2s;
  animation-duration: 0.65s;
}

.curatorial-audio-widget.is-playing .sound-wave-eq .eq-bar:nth-child(4) {
  animation-delay: 0.45s;
  animation-duration: 0.85s;
}

@keyframes eqBarBounce {
  0% {
    height: 3px;
  }
  50% {
    height: 13px;
  }
  100% {
    height: 6px;
  }
}

/* Button Controls */
.audio-capsule-play-btn,
.audio-capsule-drawer-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid var(--border-subtle);
  background: var(--bg-surface);
  color: var(--text-primary);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.audio-capsule-play-btn:hover,
.audio-capsule-drawer-btn:hover {
  background: var(--text-primary);
  color: var(--accent-inverted);
  border-color: transparent;
  transform: scale(1.08);
}

/* Expanded Curatorial Drawer Panel */
.audio-drawer-panel {
  position: absolute;
  bottom: calc(100% + 14px);
  left: 0;
  width: clamp(320px, 86vw, 400px);
  background: rgba(14, 14, 16, 0.94);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.75), 0 8px 24px rgba(0, 0, 0, 0.4);
  padding: 18px;
  opacity: 0;
  transform: translateY(14px) scale(0.96);
  pointer-events: none;
  transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.4s ease;
  z-index: 10;
}

[data-theme="white-cube"] .audio-drawer-panel,
body.theme-white-cube .audio-drawer-panel {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(0, 0, 0, 0.14);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.16), 0 8px 24px rgba(0, 0, 0, 0.08);
}

.audio-drawer-panel.open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: all;
}

.audio-drawer-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.audio-drawer-title-group {
  display: flex;
  flex-direction: column;
}

.audio-drawer-tag {
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-bottom: 4px;
}

.audio-drawer-heading {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--text-primary);
  line-height: 1.3;
  margin-bottom: 3px;
}

.audio-drawer-composer {
  font-size: 0.75rem;
  color: var(--text-secondary);
}

.audio-drawer-close-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--border-subtle);
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.audio-drawer-close-btn:hover {
  color: var(--text-primary);
  border-color: var(--text-primary);
}

.audio-iframe-container {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  background: #000000;
  border: 1px solid var(--border-subtle);
  margin-bottom: 12px;
}

.audio-iframe-container iframe {
  display: block;
  border: none;
  width: 100%;
}

.audio-drawer-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--border-subtle);
}

.audio-transport-quick {
  display: flex;
  align-items: center;
  gap: 8px;
}

.audio-quick-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: var(--radius-pill);
  border: 1px solid var(--border-subtle);
  background: var(--bg-surface);
  color: var(--text-primary);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease;
}

.audio-quick-btn:hover {
  background: var(--bg-card-hover);
  transform: translateY(-1px);
}

.audio-quick-play-primary {
  background: var(--text-primary);
  color: var(--accent-inverted);
  border-color: transparent;
  font-weight: 500;
  padding: 6px 14px;
}

.audio-quick-play-primary:hover {
  background: var(--accent-contrast);
  color: var(--accent-inverted);
  opacity: 0.92;
}

.audio-sc-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.2s ease;
}

.audio-sc-link:hover {
  color: var(--text-primary);
}

@media (max-width: 600px) {
  .curatorial-audio-widget {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }
  .audio-capsule {
    width: 100%;
    justify-content: space-between;
  }
  .audio-drawer-panel {
    width: 100%;
  }
}

